nginx php-fpm
阿新 • • 發佈:2017-12-27
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