1. 程式人生 > >nginx php-fpm

nginx php-fpm

filename 不一致 ive 支持 page 啟動 pdo 根目錄 oot

安裝Nginx

[root@node1 ~]# yum install -y nginx 

安裝PHP

檢查當前安裝的PHP包

[root@node1 ~]# yum list installed | grep php 

如果有安裝的PHP包,先刪除他們

[root@node1 ~]# yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64  

配置yum源

[root@node1 ~]# yum install epel-release
[root@node1 ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

安裝PHP5.6.x

[root@node1 ~]# yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof

查看版本

[root@node1 ~]# php --version

安裝PHP-fpm

[root@node1 ~]# yum install --enablerepo=remi --enablerepo=remi-php56 php-fpm  

配置與優化PHP-FPM

[root@node2 ~]# vim /etc/php-fpm.d/www.conf

完成php-fpm後,對其運行用戶進行配置

[root@node1 ~]# vim etc/php-fpm.conf
 
修改:
user = nginx
group = nginx

如果nginx用戶不存在,那麽先添加nginx用戶
[root@node1 ~]# groupadd nginx
[root@node1 ~]# useradd 
-g nginx nginx

修改nginx配置文件以支持php-fpm

[root@node1 ~]# vim /etc/nginx/nginx.conf

加入藍色字體

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        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;
}
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

通過location指令,將所有以php為後綴的文件都交給127.0.0.1:9000來處理,而這裏的IP地址和端口就是FastCGI進程監聽的IP地址和端口。
fastcgi_param指令指定放置PHP動態程序的主目錄,也就是$fastcgi_script_name前面指定的路徑,這裏是/usr/local/nginx/html目錄,建議將這個目錄與Nginx虛擬主機指定的根目錄保持一致,當然也可以不一致。
fastcgi_params文件是FastCGI進程的一個參數配置文件,在安裝Nginx後,會默認生成一個這樣的文件,這裏通過include指令將FastCGI參數配置文件包含了進來

在 /usr/share/nginx/html/下創建index.php文件

[root@node1 ~]# vim /usr/share/nginx/html/index.php
插入以下內容
<?php
    echo phpinfo();
?>

啟動php-fpm和nginx

[root@node1 ~]# systemctl start php-fpm
[root@node1 ~]# systemctl start nginx

查看進程數

[root@node1 ~]# ps aux | grep -c php-fpm

查看監聽的IP地址和端口相關信息

[root@node1 ~]# netstat -antl|grep 9000
[root@node1 ~]# ps -ef|grep php-cgi  

訪問http://ip地址/index.php,皆可以見到php信息了

參考文檔:

http://www.linuxidc.com/Linux/2010-05/26149.htm
http://www.nginx.cn/231.html
https://www.cnblogs.com/mangguoxiansheng/p/5967745.html
https://www.cnblogs.com/txtfashion/p/3669524.html
http://blog.51cto.com/ixdba/806622
http://www.thinkphp.cn/topic/48196.html



nginx php-fpm