Nginx PHP 配置
Nginx是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。Igor 将源代码以类BSD许可证的形式发布。自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、 示例配置文件和低系统资源的消耗而闻名了。它有着相当优秀的静态内容处理能力。但是它本身不能解析PHP页面 一般通过CGI的方式使其支持PHP。
一般我们使用 spawn-fcgi 或者 php-fpm 其中的一种来解析PHP,也就是说这两种方法取其一就可以。
使用spawn-fcgi
先安装Nginx 及 php
apt-get install nginx php5-cli php5-cgi spawn-fcgi psmisc
在这里我使用example.com 作为例子来配置
先创建对应文件夹
mkdir -p /srv/www/www.example.com/public_html mkdir /srv/www/www.example.com/logs chown -R www-data:www-data /srv/www/www.example.com
然后编辑
/etc/nginx/sites-available/www.example.com
server { server_name www.example.com example.com; access_log /srv/www/www.example.com/logs/access.log; error_log /srv/www/www.example.com/logs/error.log; root /srv/www/www.example.com/public_html; location / { index index.html index.htm; } location ~ .php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name; } }
然后新建文件/usr/bin/php-fastcgi 内容为
#!/bin/bash FASTCGI_USER=www-data FASTCGI_GROUP=www-data SOCKET=/var/run/php-fastcgi/php-fastcgi.socket PIDFILE=/var/run/php-fastcgi/php-fastcgi.pid CHILDREN=6 PHP5=/usr/bin/php5-cgi /usr/bin/spawn-fcgi -s $SOCKET -P $PIDFILE -C $CHILDREN -u $FASTCGI_USER -g $FASTCGI_GROUP -f $PHP5
给予那个文件执行权限
chmod +x /usr/bin/php-fastcgi

