主要配置项看张宴的blog http://blog.s135.com/nginx_php_v6/
主要是一些配置方法不太一样了 这里记录下备忘
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
创建用户 不能用Nobody 这个 nginx 和php-fpm都需要用到
wget http://www.nginx.org/download/nginx-1.0.3.tar.gz
tar zxvf nginx-1.0.3.tar.gz
./configure --prefix=/usr/local/nginx
make && make install
如果报错:./configure: error: the HTTP rewrite module requires the PCRE library.
yum -y install pcre-devel
然后继续编译nginx
启动nginx
/usr/lcoal/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重启nginx
/usr/lcoal/nginx/sbin/nginx -s reload
之前php搭配的apache(在2万并发时反应变慢所以改了) 需要重新编译下
/usr/local/php/bin/php -i|grep configure
得到上次编译的参数 加上
--enable-fpm
(网上大多数都有 --enable-fastcgi 这个 php 5.3.3以后这个选项已经不需要加了)
注意要去掉之前对应的apache的apxs
--with-apxs2=/usr/local/httpd/bin/apxs
否则会得到报错
one SAPI module and CLI binary at the same time.
然后 make && make install 后就好了 如果报错 把 php的source删除 重新解压后再编译
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
php-fpm.conf 里按张宴的设置改下 5.3.6的配置文件不再是xml格式的了 不能直接复制张宴的
listen = 127.0.0.1:9000 监听9000端口
/usr/local/php/sbin/php-fpm 启动
如果文件不在默认路径下 需指定下
-c <path>|<file> Look for php.ini file in this directory
php.ini路径
-p, --prefix <dir>
Specify alternative prefix path to FastCGI process manager (default: /usr/local/php).
php安装路径
-y, --fpm-config <file>
Specify alternative path to FastCGI process manager config file.
php-fpm.conf路径
关闭php-fpm
kill -INT `cat /usr/local/php/var/run/php-fpm.pid `
php-fpm 重启:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
修改nginx.conf
http://till.klampaeckel.de/blog/archives/44-Nginx+PHP+FastCGI-Testing-your-web-application-with-bleeding-edge-PHP.html
location ~ /.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /这里是程序放置的文件夹$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/local/www$fastcgi_script_name;
include fastcgi_params;
}
重启nginx
/usr/lcoal/nginx/sbin/nginx -s reload
编写个测试文件 测试下
并发2万5以上 表现轻松