Как я могу запускать сценарии Perl с помощью FastCGI на Nginx?

StackOverflow https://stackoverflow.com/questions/369850

  •  21-08-2019
  •  | 
  •  

Вопрос

Итак, я следую этому руководству: http://technotes.1000lines.net/?p=23 и я прохожу этапы.У меня есть VPN (slicehost.com) с Debian Etch, обслуживающий веб-сайт (пока статический) с помощью nginx.Я использовал wget для загрузки FastCGI и выполнил обычную процедуру установки make make.

Итак, я думаю, поскольку FastCGI обычно не может запускать сценарии CGI, вам придется использовать какую-то оболочку Perl для интерпретации Perl.

Теперь я запускаю этот скрипт

http://technotes.1000lines.net/fastcgi-wrapper.pl

и я столкнулся с той же проблемой, с которой столкнулся человек на странице, где был отправлен скрипт:

http://www.ruby-forum.com/topic/145858

(Я не фанат рубина, и там нет ничего, ориентированного на рубин)

Я продолжаю получать

# bind/listen: No such file or directory

И я понятия не имею, как действовать дальше.Буду признателен за любую помощь и могу предоставить любую более подробную информацию, которая может кому-то понадобиться.

Это было полезно?

Решение

Веб-серверу необходим сокет домена Unix для подключения к приложению FastCGI, но сокет невозможно создать.Скорее всего, каталог, в котором вы хотите, чтобы он находился, не существует (поскольку они создаются автоматически, когда вы выполняете bind).

Другие советы

Леон совершенно прав.Есть два обязательных условия для того, чтобы сокет мог прослушивать:

  1. Убедитесь, что каталог сокета существует.
  2. В скрипте fastcgi-wrapper.pl это определено как /var/run/nginx/perl_cgi-dispatch.sock.Поэтому вам необходимо убедиться, что /var/run/nginx существует.
  3. Убедитесь, что каталог сокета принадлежит тому же пользователю, от имени которого выполняется fastcgi-wrapper.pl.

Я попробую «разбавить» fastcgi-wrapper.pl, чтобы его можно было использовать с спавн-fcgi.

Я уже использую два из этих сокетов:

spawn-fcgi -C 3 -u www-data -s /var/run/php-fcgi.sock -P /var/run/php-fcgi.pid -- /usr/bin/php5-cgi
spawn-fcgi -F 3 -u www-data -s /var/run/lua-fcgi.sock -P /var/run/lua-fcgi.pid -- /usr/bin/wsapi.fcgi

Внутри /var/run у меня есть:

-rw-r--r-- 1 root     root     14 2010-08-07 12:14 /var/run/lua-fcgi.pid
srwxr-xr-x 1 www-data www-data  0 2010-08-07 12:14 /var/run/lua-fcgi.sock=
-rw-r--r-- 1 root     root      4 2010-08-07 12:14 /var/run/php-fcgi.pid
srwxr-xr-x 1 www-data www-data  0 2010-08-07 12:14 /var/run/php-fcgi.sock=

Я могу легко запускать и останавливать оболочки FastCGI, и я хочу делать то же самое с Perl.

Если у кого-то уже есть скрипт, работающий со spawn-fcgi, я был бы рад его использовать или хотя бы взглянуть на него.

Приветствия, -Полеммон

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top