入门---安装nginx和php-fpm

公司前一段时间将apache换成nginx,因此本人也尝试着安装一下nginx,过程也没有想像那么费劲,花了两个半小时,谨以此贴,留个纪念。

1,安装nginx

下载最新的nginx,解压安装,在我的机器上,缺乏pcrezlib,二话不说,下载安装它们,一开始的时候,我指定了自己的安装路径,但后续在安装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,然后就成功了!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。