其实想把Apache换成Nginx已经很多年了,只是一直懒得弄,也可能是因为上了年纪的关系,有点得过且过的意思。当然更主要的原因是没有压力,目前我的所有应用在Apache下都跑得挺好,对Apache的配置也比较熟悉。但是Nginx 10倍的性能优势始终在那里,这是一个挡不住的诱惑。
上周与令狐和帮主小聚的时候顺手在手机的Ubuntu里装了个Nginx,但是Ubuntu 9.04带的那个版本实在太老了,也就没有再弄。后来因为换手机把那个Ubuntu搞掉了,还没重装,这两天就在工作机的Ubuntu 12.04上来装了个配置一下。后来还正式部署到了一台Debian服务器上。顺便做点笔记。
安装
在Ubuntu 12.04下是简单。
apt-get install nginx php5-cgi php5-cli php5-fpm php-doc
不过在Debian 6下就麻烦一些,因为apt里没有php5-fpm,只能源码安装,或者使用这个源:
#在 sources.list 里加入以下源 sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list #或者:deb http://packages.dotdeb.org stable all #如有必要还可以再加上:deb-src http://packages.dotdeb.org stable all #加入key wget http://www.dotdeb.org/dotdeb.gpg cat dotdeb.gpg | sudo apt-key add - rm dotdeb.gpg sudo apt-get update sudo apt-get install php5-fpm
初步配置
首先关闭Apapche的自启动,可以用 sysv-rc-conf 来配置。
然后配置php-fpm,主要修改这几个文件:
/etc/php5/fpm/php.ini /etc/php5/fpm/php-fpm.conf /etc/php5/fpm/pool.d/www.conf
第一个为与php有关的配置,这里要有这一句:
cgi.fix_pathinfo = 0;
原因见nginx默认配置文件中的注释说明。
第二个为fpm有关的配置,通常没什么要改的。
最后一个为与web有关的配置