CentOS下安装配置 Nginx http push + Apc + php-fpm
astercc呼叫中心系统的web最佳运行平台是Nginx和php-fpm, 而启用http push和APC则能够更好的改善运行效率.本文介绍了如何在32位centos系统下安装配置上述环境.
yum remove php-cli php-common php #EPEL wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.noarch.rpm #IUS Community wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-8.ius.el5.noarch.rpm #Install repos rpm -Uvh epel-release-5-4.noarch.rpm ius-release-1.0-8.ius.el5.noarch.rpm
vi /etc/yum.repos.d/ius.repo
# 使用# 注释掉 [ius]下面的
mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el5&arch=$basearch
# 增加这一行
baseurl=http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/$basearch
mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el5&arch=$basearch
# 增加这一行
baseurl=http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/$basearch
#IUS PHP 5.3 packages are prefixed with “php53” to avoid name clashes
yum install php53u-fpm php53u-pecl-apc php53u-mysql
#Accept the dependencies
yum install php53u-fpm php53u-pecl-apc php53u-mysql
#Accept the dependencies
调整php-fpm参数, 打开/etc/php-fpm.d/www.conf, 做以下修改
listen = 127.0.0.1:9000
改为
listen = /dev/shm
;rlimit_files = 1024
改为
rlimit_files = 4096
pm.max_children = 50
改为
pm.max_children = 100
pm.start_servers = 5
改为
pm.start_servers = 10
安装依赖
yum install gcc pcre pcre-devel openssl-devel
源码安装nginx和http push模块
cd /usr/src wget http://www.nginx.org/download/nginx-0.8.54.tar.gz wget http://pushmodule.slact.net/downloads/nginx_http_push_module-0.692.tar.gz tar zxf nginx-0.8.54.tar.gz tar zxf nginx_http_push_module-0.692.tar.gz cd nginx-0.8.54 ./configure --add-module=../nginx_http_push_module-0.692 --prefix=/usr/local/nginx make make install
修改nginx配置文件
打开/usr/local/nginx/conf/nginx.conf
找到以下几行的注释符
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
改为
location ~ .*.(php|php5)?$
{
fastcgi_pass unix:/dev/shm;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}
添加自动启动
cd /usr/src wget http://download3.astercc.org/nginx chmod +x nginx mv ./nginx /etc/init.d/ chkconfig nginx on chkconfig php-fpm on
启动服务
/etc/init.d/nginx start /etc/init.d/php-fpm start
可能遇到的问题
1. php文件没有任何反应
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
2. 能看到php源码
php.ini中short tag没有启用
3. 无法登陆 每次重新返回登陆界面
检查session目录权限
