如何在Nginx上运行CGI脚本

我有问题设置CGI脚本运行在Nginx上,到目前为止我发现http://wiki.nginx.org/SimpleCGI这个东西,但问题是,我不能让Perl脚本作为服务运行,以便它在后台运行,甚至在重启的情况下,它会自动开始运行

你有什么主意吗? 我正在运行Centos 5

我在这里find了一些解决scheme,但是我不能将这个Perl脚本中给出的代码整合到Perl中,请帮助我。谢谢

Nginx是一个Web服务器。 您需要为您的任务使用应用程序服务器,例如uWSGI 。 它可以使用其本地非常有效的二进制接口uwsgi与nginx交谈。

Nginx没有原生的CGI支持(它支持fastCGI)。 典型的解决方案是将你的Perl脚本作为fastCGI进程运行,并编辑nginx配置文件,将请求重定向到fastCGI进程。 如果你只想运行一个CGI脚本,这是相当复杂的解决方案。

你需要使用nginx这个解决方案吗? 如果您只想执行一些Perl CGI脚本,那么可以考虑使用Apache或Lighttpd,因为它们随CGI模块一起提供,它们将本机处理您的CGI脚本,而不需要将脚本作为单独的进程运行。 为此,您需要安装Web服务器并编辑Web服务器配置文件以加载CGI模块。 对于Lighttpd,您需要在配置文件中添加一行以启用对CGI文件的处理。 然后把CGI文件放到cgi-bin文件夹中。

安装另一个运行在不同端口上的Web服务器(Apache,Lighttpd)。 然后使用nginx将您的CGI请求代理到网络服务器。

在8080上安装Web服务器之后,您只需将其添加到nginx配置中即可

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

祝你好运

我发现这个黑客使用FastCGI比运行另一个Web服务器好一点。 http://nginxlibrary.com/perl-fastcgi/