1.首先安装 homebrew 安装方法参考官网:
http://brew.sh/
命令如下:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安装下载 pcre
进入下载页面: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
我下载的 这个:pcre-8.36.zip
解压到当前目录:/Users/yangcunfeng/Downloads/pcre-8.36
这里最开始我是直接 brew install pcre 以为安装pcre就可以了,但是后来openresty一直编译出错,最后找到上面的方法,作为openresty的编译配置选项,可以正常安装
3.下载 openresty
进入官网:http://openresty.org/
找到自己适合的版本如:ngx_openresty-1.7.7.2.tar.gz 解压到当前目录:
/Users/yangcunfeng/Downloads/ngx_openresty-1.7.7.2
进入 该目录 /Users/yangcunfeng/Downloads/ngx_openresty-1.7.7.2
执行如下命令:
./configure --with-luajit --with-pcre=/Users/yangcunfeng/Downloads/pcre-8.36/
等待结束
make
make install
没有报错,安装成功 !!!
进入:/usr/local/openresty/nginx/sbin
执行:nginx
ps -ef|grep nginx 看到nginx的进程了
打开 localhost 出现欢迎页面,大功告成!
4.配置nginx支持PHP
nginx安装完成后,修改nginx配置文件为,nginx.conf
其中server段增加如下配置,注意标红内容配置,否则会出现No input file specified.错误
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
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;
}
创建php文件
在/usr/local/nginx/html下创建index.php文件,输入如下内容
echo phpinfo();?>
5.php-fpm 如何关闭 重启?
php 5.4.7 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:
master进程可以理解以下信号
INT, TERM 立刻终止 QUIT 平滑终止 USR1 重新打开日志文件 USR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
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`
查看php-fpm进程数:
ps aux | grep -c php-fpm
6.查看php-fpm实时状态
这个要重新加载nginx.conf 和 重启 php-fpm
在nginx里面加一个location就可以了,具体设置如下:location ~ ^/status$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
然后在php-fpm.conf里面打开选项
pm.status_path = /status
这样的话通过http://域名/status就可以看到当前的php情况,以前之知道可以配置location来看nginx的状态,没想到还可以看php-fpm的状态,,真的是学习了,,看到的状态如下:
pool: www php运行的组
process manager: dynamic php-fpm运行的方式
start time: 04/Jun/2012:16:05:32 +0800 开始时间
start since: 5932
accepted conn: 65678 接受链接
listen queue: 0 监听队列
max listen queue: 1 最大监听队列
listen queue len: 128 监听队列len
idle processes: 82 空闲进程
active processes: 4 活动进程
total processes: 86 总进程
max active processes: 25 最大活动进程
max children reached: 0 最大的子进程达到
有了这个,就可以实时的查看php-fpm的状态,进而优化php-fpm