¿Cómo puedo ejecutar scripts Perl usando FastCGI en Nginx?
(3)
El servidor web necesita un socket de dominio Unix para conectarse a la aplicación FastCGI, pero no se puede crear el socket. Lo más probable es que el directorio en el que desea que esté no exista (porque se crean automáticamente cuando hace un bind
).
Así que estoy siguiendo esta guía: http://technotes.1000lines.net/?p=23 y sigo los pasos. Tengo una VPN (slicehost.com) con Debian Etch, que sirve un sitio web (estático hasta el momento) con nginx. Utilicé wget para descargar FastCGI e hice la rutina habitual make make install.
Así que supongo que dado que FastCGI normalmente no puede ejecutar scripts CGI, debe usar algún tipo de perl wrapper para interpretar el perl.
Ahora ejecuto este script
http://technotes.1000lines.net/fastcgi-wrapper.pl
y me encuentro con el mismo problema exacto con el que se encontró una persona en la página donde se envió el script:
http://www.ruby-forum.com/topic/145858
(No soy una persona ruby y no hay nada de rubí orientado allí)
Sigo recibiendo un
# bind/listen: No such file or directory
Y no tengo idea de cómo proceder. Agradecería cualquier ayuda y puedo dar más detalles que cualquier persona necesitaría.
Leon es exactamente correcto. Hay dos requisitos previos para permitir que el socket pueda escuchar:
- Asegúrese de que el directorio de socket exista. Esto se define en el script fastcgi-wrapper.pl como /var/run/nginx/perl_cgi-dispatch.sock. Por lo tanto, deberá asegurarse de que exista / var / run / nginx.
- Asegúrese de que el directorio de socket sea propiedad del mismo usuario con el que se ejecuta fastcgi-wrapper.pl.
Voy a tratar de "diluir" fastcgi-wrapper.pl, para que pueda usarse con spawn-fcgi .
Yo uso dos de esos enchufes ya listos:
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
Dentro de / var / run tengo:
-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=
Puedo iniciar y detener fácilmente los contenedores FastCGI, y también quiero hacerlo con Perl.
Si alguien ya tiene un script, que funciona con spawn-fcgi, me encantaría usarlo, o al menos echarle un vistazo.
Saludos, --polemon