nginx + php-fpm部署php应用

前段时间发现站点的访问变得很不稳定,最开始以为只是网速的问题就没有太在意,直到有一次莫名其妙宕机,ssh上去重启服务,顺便top了一下结果吓了一跳–空闲的物理内存只有几百k了。再往下看发现了一大串apache进程,而且每个进程的内存占用都不小。听说nginx的效率要比apache高,于是决定换上nginx试试。
注意:本文只介绍从LAMP迁移至LNMP的步骤,其中需要改动的只有nginx 和php5,关于MySQL的配置请自行Google,本文不再赘述。


如果没有特别说明,php7的配置只需要将php5换成php7即可。

首先更新apt并安装nginx、php5-fpm

配置php5

找到这一行:

改为

编辑 /etc/php5/fpm/pool.d/www.conf

找到 listen = 127.0.0.1:9000,
改为(如果本来就是这样就不用改了)

保存并退出

配置nginx

编辑虚拟主机配置文件

作如下改动
找到 root /usr/share/nginx/www;,将路径改为网站根目录(如/var/www/)

找到 index index.html index.htm;,加入index.php

找到 server_name example.com; 将example.com替换为你的域名

找到 try_files $uri $uri/ /index.html;,用如下语句替换。
这一句用于将404的url交由index.php来处理。多数php框架的路由,以及WordPress的伪静态都需要用到。

找到 location ~ \.php$这一块,将相关的语句取消注释

执行 nginx -t测试配置文件

测试无误后启动nginx

3 thoughts on “nginx + php-fpm部署php应用

  1. Moon
    Google Chrome 34.0.1847.131 Google Chrome 34.0.1847.131 Windows XP Windows XP

    nginx主要是处理并发要比apache好,你宕机应该是apache设置问题…

    1. Frank  Mod
      Google Chrome 36.0.1976.2 Google Chrome 36.0.1976.2 Windows 8 x64 Edition Windows 8 x64 Edition

      我觉得也是配置问题,因为我压根就没特意去配置…反正现在nginx用的好好的就无所谓啦..

  2. 息E-敛
    Firefox 30.0 Firefox 30.0 Windows 7 Windows 7

    曾经想学用Nginx部署Django来着,结果看了半天愣是没弄明白……

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

我不是机器人 *