Como posso executar scripts Perl usando FastCGI no Nginx?
Pergunta
Então, eu estou seguindo este guia: http://technotes.1000lines.net/?p=23 e vou através dos passos. Eu tenho uma VPN (slicehost.com) com Debian Etch, servindo um site (estática até agora) com nginx. Eu usei o wget para baixar FastCGI e eu fiz o habitual make make install rotina.
Então, eu acho que desde FastCGI normalmente não pode executar scripts CGI você tem que usar algum tipo de perl wrapper para interpretar o perl.
Agora eu executar este script
http://technotes.1000lines.net/fastcgi-wrapper.pl
e eu correr em exatamente o mesmo problema que uma pessoa correu para na página que o roteiro foi submetido:
http://www.ruby-forum.com/topic/145858
(Eu não sou uma pessoa rubi e não há nada ruby ??orientado lá)
Recebo um
# bind/listen: No such file or directory
E eu não tenho nenhuma idéia de como proceder. Gostaria muito de receber qualquer ajuda e eu posso dar mais detalhes que alguém precisa.
Solução
O servidor web precisa de um soquete de domínio Unix para se conectar ao aplicativo FastCGI, mas o socket não pode ser criado. O mais provável é o diretório que você quer que seja na não existe (porque eles são criados automaticamente quando você faz uma bind
).
Outras dicas
Leon é exatamente correto. Existem dois pré-requisitos para permitir a tomada de ouvir:
- Certifique-se que o diretório existe socket. Isso é definido no script fastcgi-wrapper.pl como /var/run/nginx/perl_cgi-dispatch.sock. Portanto, você vai precisar para se certificar de / var / run / nginx existe.
- Verifique se o diretório de soquete é de propriedade do mesmo usuário que o fastcgi-wrapper.pl está sendo executado como.
Eu vou tentar e "água abaixo" fastcgi-wrapper.pl, para que ele possa ser usado com desova-fcgi .
Eu uso dois desses soquetes allready:
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 eu tenho:
-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=
Eu posso facilmente iniciar e parar os invólucros FastCGI, e eu quero fazer isso com Perl também.
Se alguém já tem um roteiro, que trabalha com a desova-fcgi, eu estaria happt usar isso, ou pelo menos ter um olhar para ele.
Cheers, --polemon