Подтвердить что ты не робот

Как запустить скрипты CGI на Nginx

У меня проблема с настройкой скриптов CGI для Nginx, до сих пор я нашел http://wiki.nginx.org/SimpleCGI этот материал, но проблема в том, что что я не могу заставить perl script работать как сервис, чтобы он работал в фоновом режиме, и даже в случае перезагрузки он автоматически запустится

Есть ли у вас идеи? Я запускаю Centos 5

Я нашел несколько решений здесь, но я не смог интегрировать приведенный там код с этот Perl script Я абсолютно нул в Perl, пожалуйста, помогите мне Спасибо

4b9b3361

Ответ 1

Nginx - это веб-сервер. Например, для вашей задачи необходимо использовать сервер приложений, например uWSGI. Он может разговаривать с nginx, используя свой собственный очень эффективный двоичный интерфейс, называемый uwsgi.

Ответ 2

Nginx не имеет встроенной поддержки CGI (вместо этого он поддерживает fastCGI). Типичным решением для этого является запуск Perl script в качестве процесса fastCGI и редактирование файла конфигурации nginx для перенаправления запросов на процесс fastCGI. Это довольно сложное решение, если все, что вы хотите сделать, это запустить CGI script.

Вам нужно использовать nginx для этого решения? Если все, что вы хотите сделать, это выполнить некоторые скрипты Perl CGI, подумайте об использовании Apache или Lighttpd, поскольку они поставляются с модулями CGI, которые будут обрабатывать ваши сценарии CGI изначально и не требуют, чтобы script выполнялся как отдельный процесс. Для этого вам необходимо установить веб-сервер и отредактировать файл конфигурации веб-сервера для загрузки модуля CGI. Для Lighttpd вам нужно будет добавить строку в файл конфигурации, чтобы разрешить обработку файлов CGI. Затем поместите файлы CGI в папку cgi-bin.

Ответ 3

Установите еще один веб-сервер (Apache, Lighttpd), который выполняется на другом порту. Затем проксируйте свой запрос CGI на веб-сервер с помощью nginx.

Вам просто нужно добавить это в конфигурацию nginx после установки веб-сервера на 8080

location /cgi-bin {
    proxy_pass http://127.0.0.1:8080
}

Удача

Ответ 4

Я нашел этот хак, используя FastCGI, немного лучше, чем запуск другого веб-сервера. http://nginxlibrary.com/perl-fastcgi/