Jun 1

配置nginx支持CGI程序 不指定

chirs , 21:07 , 快乐机器 , 评论(0) , 引用(0) , 阅读(3336) , Via 本站原创 | |
nginx默认不支持传统的CGI程序,但是通过FCGI包装程序可以让nginx支持CGI

只要是符合FCGI接口的包装程序都可以用来使nginx支持CGI程序,有很多这样的程序,有perl写的,有C写的,也有C++写,等等。

nginx.org提供了一个perl包装程序,但没有提供system V风格的init文件,对这个程序稍加改造,然后写一个init控制文件就可以在ubuntu上使用了。

安装perl必要的支持库
$sudo apt-get -y install libfcgi-perl libfcgi-procmanager-perl libio-all-perl

下载文件 (已下载 598 次)

三个文件的打包下载以后,将cgiwrap-fcgi.pl拷贝到/usr/local/bin/目录下,将cgiwrap-fcgi拷贝到/etc/init.d/目录下,然后执行:
$sudo update-rc.d cgiwrap-fcgi defaults
更新/etc/rcX.d目录下的符号链接,这样debian启动时会自动启动cgiwrap-fcgi.pl程序

手动控制cgiwarp-fcgi.pl程序

$sudo /etc/init.d/cgiwrap-fcgi restart #重新启动
$sudo /etc/init.d/cgiwrap-fcgi stop #停止
$sudo /etc/init.d/cgiwrap-fcgi status #查看cgiwrap-fcgi的运行状态

cgiwrap-fcgi.pl使用unix socket文件/var/run/cgiwrap-fcgi/cgiwrap-fcgi.sock来监听CGI程序请求,因此只要将对nginx的CGI请求转发到此socket即可,对应的nginx配置文件cgiwrap-fcgi.conf为:
1 location ~ \.(cgi|pl).*$ {
2     gzip off;
3     fastcgi_pass unix:/var/run/cgiwrap-fcgi/cgiwrap-fcgi.sock;
4     fastcgi_index index.cgi;
5     include fastcgi_params;
6 }
下载后将此文件拷贝到/etc/nginx/目录下,然后在虚拟主机配置文件的server节include cgiwrap-fcgi.conf即可。
Tags: , ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]