nginx用来做fcgi服务器配置倒是非常方便。一个多月前曾用过lighttpd ,但由于不大稳定,一直想换到nginx。nginx已经工作好几周都没有问题,于是准备将所有php开发的项目都转来。nginx好像配置更简洁,没有cgi概念,只服务于fcgi和静态页面。我喜欢。
fcgi需要php在后台运行。我用的是debian/ubuntu系,直接sudo apt-get install php5-cgi即可安装好支持fcgi的php。由于我们需要fcgi在后台运行,创建/etc/init.d/fcgi-php文件,然后chmod +x。网上找到的一个启动文件,稍微修改一下。
上面的可执行程序要配合/etc/default/fcgi-php这个“启动项配置文件”来运行:
这样是否已经很清楚了?完全可以运行/etc/init.d/fcgi-php start来看是否启动。netstat -at 可以看到9000端口在侦听。接下来的活就是配置nginx。主配置文件是/etc/nginx/nginx.conf。在此文件中include了其他配置文件,应该很容易理解。
一般来说我们需要改动的是在/etc/nginx/sites-enabled/default文件。只要把php相关部分的#注释去掉。比如:
location ~ /.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
#includefastcgi_params;
}
重新启动sudo /etc/init.d/nginx restart
按照我的配置,建立/var/www/nginx-default/index.php:
<? echo phpinfo(); ?>
保存,打开浏览器可以 看到phpinfo页说明成功。