小内存VPS上优化PHP

[| 2010/04/19 18:11]
今天装好了PHP,内存占用很小,很爽。后来重装了一次,结果内存占用大涨到50M。仔细观察发现,开一个php-cgi进程和开十个占的内存差距不大。。所以应该是有个什么插件类的东西占用了巨大的内存。后来用排除法看了下,发现是”eaccelerator“模块。该模块就是一个PHP的加速模块,有缓存的功能,还可以和zend optimizer加速引擎配合。可以提高php脚本速度1到10倍,所以该模块是绝对不能精简的。但是此模块占用了巨大的内存并不是因为模块臃肿,而是由于默认会开启比较大的缓冲区。所以进入配置文件eaccelerator.shm_size 值设置的小一点,比如8M即可。重新启动php-cgi。内存占用又恢复到以前了。

nginx+php yum安装方法

[| 2010/04/19 10:59]
网上教程都是讲编译的,其实我推荐编译,但是对于小内存vps的话可能编译过程中内存会爆,只能yum安装。经过摸索找出纯yum安装过程。

一,先装Nginx
由于centos没有默认的nginx软件包,需要启用REHL的附件包

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
然后yum update一下,再yum install nginx。就行了。版本挺老,不过放小站也够用。

二,安装PHP
网上很多教程说用spawn-fcgi作为容器来跑php_cgi,其实php_cgi可以独立运行。我看了看,spawn-fcgi确实功能多点。于是也用的它。安装简单,yum install spawn-fcgi即可。然后是php,我先yum install php,然后发现没有php_cgi。。汗,后来装了php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator 。。然后就有了,不知道是那个软件包里的。反正这些软件包都挺重要的,都装上也无妨。

然后用spawn-fcgi -C 3 -a 127.0.0.1 -p 9000 -u nginx -g ngix -f php-cgi 就可以启动了。这里使用nginx权限启动php也是为了安全性考虑,root权限有点危险。


三,修改nginx配置文件,打开php支持。

nginx配置文件里默认已经有了转发php请求的相关语句了,只要把注释去掉即可,这里需要注意的一点是:这里的root指的是php模块的工作路径,一定要设置成和nginx存放网页一致的位置,否则php解析器找不到文件在哪里。会报错:No Input File。
例子:location ~ .php$ {
root /var/www/html;
***********************
}


现在就可以了。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]