配置NGINX的CGI功能,需要使用到nginx-fcgi插件,可以在这里下载nginx-fcgi,使用perl语言写的一个脚本文件。
还需要安装下面几个perl模块,可以使用yum安装:
perl-FCGI
perl-FCGI-ProcManager
perl-CGI
perl-IO-ALL
配置nginx-fcgi
将下载的nginx-fcgi文件放在某个目录下,然后运行下面命令:
#确保文件由执行权限 chmod +x /usr/sbin/nginx-fcgi #运行 nginx-fcgi -l /var/log/nginx/nginx-fcgi.log -pid /var/run/nginx-fcgi.pid -S /var/run/nginx-fcgi.sock #修改sock文件的用户为nginx所用的用户和用户组,保证nginx在运行时可以修改sock文件 chown www:www /var/run/nginx-fcgi.sock
配置nginx
#复制一份fastcgi_params cp /opt/program/nginx/etc/fastcgi_params /opt/program/nginx/etc/nginx_fcgi_params #将nginx_fcgi_params文件末尾这行删除: fastcgi_param REDIRECT_STATUS 200; #在虚拟主机配置文件中加入下面这段: location ~ ^/cgi-bin/.*\.cgi$ { gzip off; fastcgi_pass unix:/var/run/nginx-fcgi.sock; fastcgi_index index.cgi; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include nginx_fcgi_params; fastcgi_read_timeout 5m; }
创建测试文件
在cgi-bin目录下,新建一个text.cgi文件,内容为:
#!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello, world.";
重启nginx后,访问该文件:http://xxx/cgi-bin/text.cgi,如果能看到Hello World,说明配置成功。