配置nginx支持PHP

nginx本身不支持php。如果需要使用php,需要安装php解析服务,如php-fpm,或spawn-fcgi等。从在Ubuntu上配置的便捷性考虑,这次使用php-fpm实现。

安装php和php-fpm

安装方法,略……

因为可以直接用包管理器安装。

安装后需要启动服务。

修改nginx配置文件

修改配置文件/etc/nginx/sites-available/default,首先让让默认页面里有php文件:

index index.php index.html index.htm;

接着开启php支持,找到“location ~ .php”部分,将其中的注释进行修改:

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

    # With php5-cgi alone:
#   fastcgi_pass 127.0.0.1:9000;
    # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

“fastcgi_pass 127.0.0.1:9000;”与spawn-fcgi有关,故要注释。修改配置文件后需要重启nginx服务。

原理

按网上的说法:“nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx”。也就是说,nginx将处理请求交给php5-fpm,再接收处理返回结果。

参考

http://www.nginx.cn/231.html

原文链接地址: http://pangyi.github.io/blog/20150118/pei-zhi-nginxzhi-chi-php/
written by PangYi  posted at http://pangyi.github.io

你可能感兴趣的:(配置nginx支持PHP)