Веб-сервер для тестирования в Linux - PullRequest
17 голосов
/ 22 января 2010

Я ищу простой и удобный веб-сервер (linux / Ubuntu Koala) для тестирования некоторых веб-приложений.

В Windows я использовал Web Savant (что было довольно просто, просто введите каталог html и каталог bin и нажмите start), чтобы дать некоторым людям представление о том, что я ищу.

Обновление : Мои извенения. Я не понимал, что это требование до сих пор. В идеале весь пакет должен быть одним исполняемым файлом, однако, поскольку он является веб-сервером, было бы понятно, если бы была создана какая-то инфраструктура, так что, возможно, это был тарбол, содержащий исполняемый файл. Было бы хорошо, если бы он запускался из командной строки и не требовал никаких прав администратора для запуска. Более того, он не должен требовать каких-либо файлов конфигурации или файлов журналов, хранящихся в каких-либо областях, которые обычно доступны только администратору.

PS Это вопрос об инструменте для тестирования программ, а не вопрос системного администрирования. Таким образом, этот вопрос подходит для stackoverflow , а не serverfault. Если вы настаиваете на этом, то я предлагаю вам перечитать вопрос. Все еще хотите поспорить? Продолжайте перечитывать вопрос, пока вы его не поймете, я подожду. Понять это сейчас? Хорошо, теперь уходи.

Ответы [ 8 ]

42 голосов
/ 26 января 2013

Этот вопрос в настоящее время является одним из лучших результатов Google для "облегченного веб-сервера Ubuntu", и, хотя я не нашел текущие ответы, которые были бы так полезны, я наткнулся на другое решение, которое установлено по умолчанию в большинстве систем Linux :

python -m SimpleHTTPServer

Это запустит веб-сервер в текущем каталоге (html, css, изображения, документы и т. Д.), Предоставляя файлы localhost:8000, и не требует дополнительной установки программного обеспечения. Документация Python для этого модуля содержит больше информации о параметрах и т. Д.

Для тех, кто хочет быстро протестировать веб-сайт, это идеальное решение.

17 голосов
/ 22 января 2010

Если вы используете только CGI или обычные HTML-страницы, самым простым будет thttpd просто:

thttpd -D -C '*.cgi' -p 8080 

И иди!

Lighttpd очень прост в настройке, но требует написания небольшого файла конфигурации.

3 голосов
/ 21 августа 2015

Если у вас установлен PHP, вы можете использовать его встроенный веб-сервер для быстрого обслуживания каталога.

cd www/
php -S localhost:1234

и ваш каталог www/ теперь доступен по адресу http://localhost:1234/

2 голосов
/ 23 января 2010

Я использовал Mongoose (SHTTPD) для быстрого тестирования. Мне нужно было протестировать HTTP / S + CGI на лету, и он оказался довольно простым в использовании. Я столкнулся с одной проблемой. Всякий раз, когда я отодвигал процесс на задний план, страницы CGI перестали работать. Это было исправлено путем выдачи:

nohup <command> &

В любом случае, ссылка на Mongoose - http://code.google.com/p/mongoose/, если вам интересно. Для такого крошечного веб-сервера функции довольно хороши.

  • Кроссплатформенность - работает на Windows, MacOS и большинстве разновидностей UNIX
    • CGI, SSL, SSI, авторизация дайджеста (MD5), возобновленная загрузка, псевдонимы
    • ACL на основе IP, служба Windows, методы GET, POST, HEAD, PUT, DELETE
    • Небольшая площадь: исполняемый файл 40 Кбайт в системе Linux 2.6 i386
    • Встраиваемый с простым и понятным API. Исходный код находится в одном файле .c, чтобы упростить задачу
    • Язык поддержки для: o C / C ++ (нативный) o Python - начиная с версии 2.6 (сделано) o C # - начиная с версии 2.7 (сделано) o Ruby - начиная с версии 2.9 (todo) o Lua - начиная с версии 2.9 (todo)

Приветствия

0 голосов
/ 28 июля 2014

Я также использую подход Python, упомянутый здесь @sAlexander, но иногда нужно, чтобы сервер прослушивал что-то отличное от localhost.В моем случае я тестирую приложения Android, работающие на виртуальной машине Android VirtualBox.По умолчанию эти виртуальные устройства Android подключены к адаптеру VirtualBox только для хоста по адресу 192.168.56.xx, поэтому адрес сервера должен быть 192.168.56.1.Для этого я использую следующий скрипт на python, который я адаптировал из Linux Journal tech tip :

import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

HandlerClass = SimpleHTTPRequestHandler
ServerClass  = BaseHTTPServer.HTTPServer
Protocol     = "HTTP/1.0"

if sys.argv[1:]:
    server = sys.argv[1]
else:
    server = '127.0.0.1'

if sys.argv[2:]:
    port = int(sys.argv[2])
else:
    port = 8000

server_address = (server, port)

HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

print "httpd on", server, ":", port

httpd.serve_forever()

Аргументами являются адрес сервера (первый аргумент) и порт (второй), сзначения по умолчанию 127.0.0.1 (localhost) и 8000 соответственно.Вы не можете указать ни один, просто адрес, или адрес и порт.

0 голосов
/ 22 января 2010

Ubuntu - это круто, AMP гораздо проще установить, чем Windows (используя xampp) Просто запустите это:

sudo tasksel

Отметьте «LAMP», и он установит весь стек для вас. Я также рекомендую сделать:

sudo apt-get install phpmyadmin

Просто зайдите на http://127.0.0.1/phpmyadmin, чтобы настроить новые базы данных.

0 голосов
/ 22 января 2010

Xampp - один из нескольких LAMP, доступных в Linux, и он хорош.

Установка проста (документация здесь ): загрузите архив и затем:

sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C / opt

cd / opt / lampp /

sudo ./lampp start

Кроме того, он не конфликтует с файловой системой (полный архив распаковывается в каталог / opt).

Пожалуйста, посмотрите полный список дистрибутивов X-AMP в википедии .

0 голосов
/ 22 января 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...