入门---安装nginx和php-fpm
公司前一段时间将apache换成nginx,因此本人也尝试着安装一下nginx,过程也没有想像那么费劲,花了两个半小时,谨以此贴,留个纪念。
1,安装nginx
下载最新的nginx,解压安装,在我的机器上,缺乏pcre和zlib,二话不说,下载安装它们,一开始的时候,我指定了自己的安装路径,但后续在安装nginx时,还是找不到我安装的路径,因此在安装库的时候,建议默认安装,即./configure不带--prefix参数
因为默认安装时,都会按照惯例安装在合适的目录中,如头文件安装在/usr/local/include中,动态链接文件安装在/usr/local/lib中,这样其它的程序需要库时,也会按照惯例在这些目录中寻找,这样会省不少事。
启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf
在浏览器中输入http://localhost就可以看到输出结果了,在这里是默认配置,第三步再更改配置。
2,安装php+php-fpm
下载最新的php,它会默认带有php-fpm,老版本的php(5.3以前),不带php-fpm,也是默认安装,带个参数启用php-fpm
./configure --enable-fpm
创建一个配置文件,直接copy就行
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
启动php-fpm
/usr/local/sbin/php-fpm
查看启动情况
ps -ef|grep fpm
输出:
root 29264 1 0 15:42 ? 00:00:00 php-fpm: master process (/usr/local/etc/php-fpm.conf)
nobody 29265 29264 0 15:42 ? 00:00:00 php-fpm: pool www
nobody 29266 29264 0 15:42 ? 00:00:00 php-fpm: pool www
root 30321 5471 0 16:48 pts/0 00:00:00 grep php
php-fpm本质上是一个服务端,它默认在9000端口上接收nginx派发的请求,如下所示
[root@localhost conf]# netstat -ant |grep 9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
3,配置nginx支持php-fpm
在默认的server配置前面,添加支持php的配置(测试用)。参考:http://developer.51cto.com/art/201005/198527_2.htm
server { listen *:8080; location / { root /var/nginx; index index.php; # if file exists return it right away if (-f $request_filename) { break; } # otherwise rewrite the fucker if (!-e $request_filename) { rewrite ^(.+)$ /index.php$1 last; break; } } # if the request starts with our frontcontroller, pass it on to fastcgi location ~ ^/index.php { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/nginx$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include /usr/local/nginx/conf/fastcgi_params; } }
在/var/nginx目录中建一个php文件,kill掉nginx的进程,然后重启。访问http://localhost:8080/tesa.php,然后就成功了!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。