系统环境代码
-
CentOS 5.5
-
Nginx 1.0.5
-
Php 5.5.8
1.先安装Nginx
Nginx代码
-
#tar -zxvf nginx-1.0.5.tar.gz
-
#cd nginx-1.0.5
-
#./configure
-
#make
-
#make install
2.安装php,采用fastcgi的安装方式,顺道查了下fastcgi的优势和劣势,供参考(摘抄自网络)
【注:我已经安装好了Mysql,因为没有太多特别的地方,所以就不做说明】
优势
-
PHP脚本运行速度更快(3到30倍)。PHP解释程序被载入内存而不用每次需要时从存储器读取,极大的提升了依靠脚本运行的站点的性能。
-
需要使用更少的系统资源。由于服务器不用每次需要时都载入PHP解释程序,你可以将站点的传输速度提升很高而不必增加cpu负担。
-
不需要对现有的代码作任何改变。现有的一切都适用于PHP的FastCGI
潜在问题
-
对所有的子目录(/home/USERNAME/public_html/php.ini)你只有一个可用的php.ini文件。 这是优化网站代码所必需的。如果你需要多个php.ini文件以适应不同的脚本需要,你可以在任何子目录禁用PHP的快速CGI,而其余的地方则继续有 效。如果你需要这样做请联系support。
-
你对PHP环境做的任何升级(如php.ini文件的改变)都有几分钟的延迟。这是因为为了更快的速度 你的php.ini文件已经被载入内存,而不是每次需要时再从存储器重新读取。
我在安装的时候并没有去考虑php.ini的问题,只要考虑好php-fpm.conf就可以了
php的安装的确是稍微不太一样,简单的说,就是作为一个单独的服务启动了
Linux-php代码
-
#tar -zxvf php-5.3.8.tar.gz
-
#cd php-5.3.8
-
-
// 编译的时候一定要加入参数--enable-fpm
-
#./configure --prefix=/usr/local/php --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-mysql=/usr/local/mysql/ --with-pdo-mysql=/usr/local/mysql --enable-soap --enable-sockets --enable-zip --enable-xml --with-curl --enable-mbregex --enable-sysvsem --enable-mbstring --with-mcrypt --enable-fpm
-
#make
-
#make install
3.配置php和nginx
1.使用php-fpm启动php
Php-fpm代码
-
#cd /usr/local/php/etc/
-
#cp php-fpm.conf.default php-fpm.conf
-
#vi php-fpm.conf
-
// 找到如下几行,确保如下几行前没有";"
-
pid = run/php-fpm.pid
-
error_log = log/php-fpm.log
-
listen = 127.0.0.1:9000
-
pm.max_children = 50
-
pm.start_servers = 20
-
pm.min_spare_servers = 5
-
pm.max_spare_servers = 35
-
pm.max_requests = 500
php5.5.8版本提供了php-fpm的管理工具,可以很方便的start,stop,restart
Php-fpm代码
-
// 只是我个人习惯把php相关命令丢在这
-
#cd /usr/local/php/sbin/
-
-
// 在安装文件中复制该文件
-
#cp /downloads/php-5.3.8/sapi/fpm/init.d.php-fpm ./
-
#chmod 755 init.d.php-fpm
-
-
// start | stop | restart
-
#./init.d.php-fpm start
2.nginx的配置
Linux-nginx代码
-
#vi /usr/local/nginx/conf/nginx.conf
-
-
// 去掉之前的"#"
-
// SCRIPT_FILENAME如果填错,则显示空白页面
-
location ~ \.php$ {
-
root html;
-
fastcgi_pass 127.0.0.1:9000;
-
fastcgi_index index.php;
-
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-
include fastcgi_params;
-
}
-
-
#vi /usr/local/nginx/conf/fastcgi_params
-
-
// 注释掉该行,暂时还不知道为啥
-
#fastcgi_param REDIRECT_STATUS 200;
启动nginx
Linux-nginx代码
-
#cd /usr/local/nginx/sbin/
-
-
// 测试配置文件是否正确
-
#./nginx -t
-
-
// 启动
-
#./nginx
-
-
// 重新载入
-
#./nginx -s reload
-
-
// 重启
-
#./nginx -s reopen