Comment exécuter des scripts CGI sur Nginx
j'ai un problème de réglage des scripts CGI pour être exécuté sur Nginx, jusqu'à présent, j'ai trouvé http://wiki.nginx.org/SimpleCGI ce genre de choses mais le problème c'est que je ne peux pas faire de script perl exécuter en tant que service, de sorte qu'il s'exécute en arrière-plan et même en cas de redémarrage, il démarrera automatiquement
avez-vous une idée? Je dirige Centos 5!--3-->
j'ai trouvé des solutions ici mais je n'ai pas pu intégrer le code donné là avec c'Perl script Je suis complètement nul à Perl, s'il vous plaît aidez-moi Merci
4 réponses
Nginx n'a pas de support CGI natif (il supporte fastCGI à la place). La solution typique pour cela est d'exécuter votre script Perl comme un processus fastCGI et d'éditer le fichier de configuration nginx pour rediriger les requêtes vers le processus fastCGI. C'est une solution assez complexe si tout ce que vous voulez faire est d'exécuter un script CGI.
devez-vous utiliser nginx pour cette solution? Si tout ce que vous voulez faire est d'exécuter des scripts Perl CGI, envisagez D'Utiliser Apache ou Lighttpd car ils viennent avec des modules CGI qui traite vos scripts CGI nativement et n'exige pas que le script soit exécuté en tant que processus séparé. Pour ce faire, vous devez installer le serveur web et éditer le fichier de configuration du serveur web pour charger le module CGI. Pour Lighttpd, vous devrez ajouter une ligne dans le fichier de configuration pour activer le traitement des fichiers CGI. Mettez ensuite les fichiers CGI dans le dossier cgi-bin.
installer un autre serveur web(Apache, Lighttpd) qui tourne sur un port différent. Puis activez votre requête CGI sur le serveur Web avec nginx.
Vous avez juste besoin de l'ajouter à la configuration nginx, après avoir installé un serveur web sur 8080
location /cgi-bin {
proxy_pass http://127.0.0.1:8080
}
Bonne Chance
j'ai trouvé ce hack en utilisant FastCGI un peu plus agréable que d'exécuter un autre serveur web. http://nginxlibrary.com/perl-fastcgi/