Comment puis-je exécuter des scripts Perl utilisant FastCGI sur Nginx?
Question
Je suis donc suivant ce guide: http://technotes.1000lines.net/?p=23 et je vais à travers les étapes. J'ai un VPN (slicehost.com) avec Debian Etch, au service d'un site Web (statique jusqu'à présent) avec nginx. Je wget pour télécharger FastCGI et je l'ai fait la marque habituelle de routine make install.
Je suppose que depuis FastCGI ne peut pas fonctionner normalement des scripts CGI, vous devez utiliser un certain type d'emballage perl pour interpréter le Perl.
Maintenant, je lance ce script
http://technotes.1000lines.net/fastcgi-wrapper.pl
et je rencontre exactement le même problème qu'une personne a couru dans la page qui a été soumis le script:
http://www.ruby-forum.com/topic/145858
(Je ne suis pas une personne de rubis et il n'y a rien rubis orienté là-dedans)
Je continue de recevoir un
# bind/listen: No such file or directory
Je ne sais pas comment procéder. Je vous serais reconnaissant toute aide et je peux donner plus de détails que tout le monde aurait besoin.
La solution
Le serveur Web a besoin d'un socket de domaine Unix pour se connecter à l'application FastCGI, mais la prise ne peut pas être créé. Très probablement le répertoire que vous voulez qu'il soit en n'existe pas (car ils sont créés automatiquement lorsque vous faites un bind
).
Autres conseils
Leon est tout à fait correct. Il y a deux conditions préalables pour permettre la prise d'écouter:
- Assurez-vous que le répertoire socket existe. Il est défini dans le script fastcgi-wrapper.pl comme /var/run/nginx/perl_cgi-dispatch.sock. Par conséquent, vous devez vous assurer / var / run / nginx existe.
- Assurez-vous que le répertoire de socket appartient au même utilisateur que le fastcgi-wrapper.pl est en cours d'exécution comme.
Je vais essayer et « édulcorer » fastcgi-wrapper.pl, donc il peut être utilisé avec spawn-fcgi .
J'utilise deux de ces prises 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
Inside / var / run je:
-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=
Je peux facilement démarrer et arrêter les emballages FastCGI, et je veux le faire avec Perl aussi.
Si quelqu'un a déjà un script, qui travaille avec spawn-fcgi, je serais happt utiliser que, ou au moins avoir un coup d'oeil.
Cordialement, --polemon