配置nginx支持PHP

<div id="main"><article class="hentry" role="article"><div class="entry-content"> <p>nginx本身不支持php。如果需要使用php,需要安装php解析服务,如php-fpm,或spawn-fcgi等。从在Ubuntu上配置的便捷性考虑,这次使用php-fpm实现。</p>

<!-- more -->

<h2 id="phpphp-fpm">安装php和php-fpm</h2>

<p>安装方法,略……</p>

<p>因为可以直接用包管理器安装。</p>

<p>安装后需要启动服务。</p>

<h2 id="nginx">修改nginx配置文件</h2>

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

<pre><code>index index.php index.html index.htm; </code></pre>

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

<pre><code>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; } </code></pre>

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

<h2 id="section">原理</h2>

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

<h2 id="section-1">参考</h2>

<p>http://www.nginx.cn/231.html</p>

<p class="post-footer"> 原文链接地址: <a href="http://pangyi.github.io/blog/20150118/pei-zhi-nginxzhi-chi-php/">http://pangyi.github.io/blog/20150118/pei-zhi-nginxzhi-chi-php/</a><br> written by <a href="http://pangyi.github.io">PangYi</a>  posted at <a href="http://pangyi.github.io">http://pangyi.github.io</a> </p> </div></article></div>

转载于:https://my.oschina.net/pangyi/blog/369075

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值