亲历Debian安装nginx+fast-cgi+php-fpm+eAccelerator

By | 2010年7月29日

捣腾了昨天一下午+今天一早上,终于搞定了nginx的php配置和eAccelerator。

首先,最新的debian的apt源上的php是5.2的,而且无法通过apt-get的方式直接安装php-fpm,所以我们寻求网上的资源。

#sudo vim /etc/apt/sources.list

在其中添加“ deb http://php53.dotdeb.org stable all ”

然后,apt-get update一下。

一、安装nginx很简单,apt源上的是0.6的,不过也无所谓,毕竟很稳定,直接#sudo apt-get install nginx即可。

修改#sudo vim /etc/nginx/sites-enabled/default

location ~ \.php$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

include fastcgi_params;

}

的注释去掉,同时在server的范围内加上root  /var/www/nginx-default;,否则容易出现白页的404现象。

最后,我们#sudo vim /var/www/nginx-default/info.php,输入<?php phpinfo();,用来测试配置时候正确。

二、安装php5.3

sudo apt-get install php5-cli php5-common php5-suhosin

上面安装的是CLI的PHP,接下来安装CGI、fpm

sudo apt-get install php5-fpm php5-cgi需要其他的模块或者扩展可以自行安装,查看哪些模块没安装的最简单方法是#php -v,这时候,如果有扩展没装,你可以手动安装,或者在php.ini 里将其注释掉。

三、配置php-fpm

安装完php-fpm之后还不能直接启动,先配置一下#sudo vim /etc/php5/fpm/php5-fpm.conf ,将其中pid位置、log位置的注释都去掉,然后将一下pm.*的配置也注释掉,保存后,#sudo /etc/init.d/php5-fpm start即可启动fpm。

四,安装eAccelerator

eAccelerator是个不错的opcode缓存,据说比apc要好一些,这个工具我们无法直接安装,只能通过源码编译,通过php扩展方式安装,所以我们需要#sudo apt-get install php5-dev,这个包安装后,会有个phpize命令用来动态添加php模块而不用重新编译php。

wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip 下载eAccelerator

unzip eaccelerator-0.9.5.3.zip

cd eaccelerator-0.9.5.3

phpize ./configure –enable-eaccelerator=shared –with-php-config=/usr/bin/php-config

然后./configure一下,然后make,最后make install

最后,在/etc/php5/conf.d目录下,新建eaccelerator.ini,内容为

extension=eaccelerator.so

[eaccelerator]

eaccelerator.shm_size=32

eaccelerator.cache_dir=/tmp/eaccelerator

eaccelerator.enable=1

eaccelerator.optimizer=1

eaccelerator.check_mtime=1

eaccelerator.debug=0

eaccelerator.filter=

eaccelerator.shm_max=0

eaccelerator.shm_ttl=0

eaccelerator.shm_prune_period=0

eaccelerator.shm_only=0

eaccelerator.compress=1

eaccelerator.compress_level=9

五、最后,重启nginx和php-fpm,然后访问info.php查看配置情况。

发表评论

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