Тестирование скрипта FastCGI в Perl с использованием автономного веб-сервера Perl FastCGI / FCGI - PullRequest
2 голосов
/ 07 июня 2010

У меня есть веб-приложение FastCGI Perl (написанное с использованием CGI :: Fast , но это не имеет значения), которое я хотел бы протестировать в режиме FastCGI .

Какой модуль Perl можно использовать для запуска приложения FastCGI (модуль должен быть установлен из CPAN, лучше всего, если он не использует дополнительные библиотеки), чтобы я мог указать веб-браузеру, например, http://localhost:5000, чтобы проверить, работает ли онправильно?

Лучше, есть ли какой-нибудь модуль Test :: *, который позволяет автоматически тестировать приложения FastCGI, такие как приложения FastCGI?


Добавлено 06-07-2010: Похоже, что в Perl нет отдельного сервера FastCGI;или, по крайней мере, я не нашел.Модули, связанные с FCGI / FastCGI в CPAN, которые я обнаружил, предназначены для написания приложения FastCGI или для подключения к существующему серверу FastCGI.

1 Ответ

3 голосов
/ 07 июня 2010

Я не знаю модуля, который позволял бы вам специально тестировать приложения Fast CGI. Чтобы запустить скрипт Fast CGI для тестирования во время разработки, я обычно настраивал небольшой сервер lighttpd, например:

$HTTP["url"] =~ "^/[^/]*$" {
    fastcgi.server = (
        "/" => ((
            "socket" => "/tmp/myapp.sock",
            "bin-path" => "/path/to/my/fastcgi/script.pl",
            "check-local" => "disable",
            "allow-x-send-file" => "enable",
        )),
    )
}

# Use this if you also want to serve static files directly (not through your CGI app).
$HTTP["url"] =~ "^/static/.*$" {
    url.rewrite-once = ( "^/static/\(.*\)$" => "static/$1" )
}

Возможно, вы также захотите установить порт на 5000 или что-то большее, чем 1024, чтобы вы могли запускать его как пользователь. Сохраните файл в каталоге ваших проектов и запустите lighttpd следующим образом:

/usr/sbin/lighttpd -f lighttpd.conf -D
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...