perl nginx cgi centos

perl - Cómo ejecutar scripts CGI en Nginx



centos (5)

Tengo problemas para configurar las secuencias de comandos CGI que se ejecutarán en Nginx, hasta ahora he encontrado http://wiki.nginx.org/SimpleCGI esto, pero el problema es que no puedo hacer que las secuencias de comandos perl se ejecuten como servicio para que funcionen. se ejecuta en segundo plano e incluso en caso de reinicio comenzará a ejecutarse automáticamente

¿Tiene alguna idea? Estoy corriendo centos 5

He encontrado algunas soluciones here pero no pude integrar el código dado con http://wiki.nginx.org/SimpleCGI . Estoy completamente a cero en Perl, por favor ayúdenme Gracias


Encontré esto: https://github.com/ruudud/cgi Dice:

===

On Ubuntu: apt-get install nginx fcgiwrap On Arch: pacman -S nginx fcgiwrap Example Nginx config (Ubuntu: /etc/nginx/sites-enabled/default): server { listen 80; server_name localhost; access_log /var/log/nginx/access.log; location / { root /srv/static; autoindex on; index index.html index.htm; } location ~ ^/cgi { root /srv/my_cgi_app; rewrite ^/cgi/(.*) /$1 break; include fastcgi_params; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param SCRIPT_FILENAME /srv/my_cgi_app$fastcgi_script_name; } }

Cambie las líneas raíz y fastcgi_param a un directorio que contenga scripts CGI, por ejemplo, cgi-bin / dir en este repositorio.

Si eres un fanático del control y ejecutas fcgiwrap manualmente, asegúrate de cambiar fastcgi_pass en consecuencia. La ruta que se muestra en el ejemplo es la predeterminada en Ubuntu cuando se usa la configuración fcgiwrap lista para usar.

===

Estoy a punto de probarlo.



Instale otro servidor web (Apache, Lighttpd) que se ejecute en un puerto diferente. Luego, envíe su solicitud CGI al servidor web con nginx.

Solo necesita agregar esto a la configuración de nginx, después de instalar un servidor web en 8080

location /cgi-bin { proxy_pass http://127.0.0.1:8080; }

Echa un vistazo a la directiva de ubicación Nginx explicada para más detalles.


Nginx es un servidor web. uWSGI utilizar un servidor de aplicaciones para su tarea, como uWSGI por ejemplo. Puede hablar con nginx usando su interfaz binario muy eficaz nativa llamada uwsgi.


Nginx no tiene soporte CGI nativo (en su lugar es compatible con fastCGI). La solución típica para esto es ejecutar su script Perl como un proceso fastCGI y editar el archivo de configuración nginx para redirigir las solicitudes al proceso fastCGI. Esta es una solución bastante compleja si todo lo que quiere hacer es ejecutar un script CGI.

¿Tienes que usar nginx para esta solución? Si todo lo que desea hacer es ejecutar algunos scripts CGI de Perl, considere usar Apache o Lighttpd ya que vienen con módulos CGI que procesarán sus scripts CGI de forma nativa y no requieren que el script se ejecute como un proceso separado. Para hacer esto, necesita instalar el servidor web y editar el archivo de configuración del servidor web para cargar el módulo CGI. Para Lighttpd, deberá agregar una línea en el archivo de configuración para habilitar el procesamiento de archivos CGI. Luego ponga los archivos CGI en la carpeta cgi-bin.