Веб-сервер для тестирования на Linux

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

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

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

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

Ответы

Ответ 1

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

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

И иди!

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

Ответ 2

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

python -m SimpleHTTPServer

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

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

Ответ 3

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

nohup <command> &

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

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

Приветствия

Ответ 4

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

cd www/
php -S localhost:1234

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

Ответ 5

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

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

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

cd/opt/lampp/

sudo./lampp start

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

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

Ответ 6

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

sudo tasksel

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

sudo apt-get install phpmyadmin

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

Ответ 7

Я также использую подход Python, упомянутый здесь @sAlexander, но иногда нужно, чтобы сервер прослушивал что-то отличное от localhost. В моем случае я тестирую приложения Android, работающие на виртуальной машине Android VirtualBox. По умолчанию эти виртуальные Android-устройства подключены к адаптеру Host-only VirtualBox по адресу 192.168.56.xx, поэтому адрес сервера должен быть 192.168.56.1. Для этого я использую следующий python script, который я адаптировал из журнала Linux 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()

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