--(我也就知道這麼多)--,nginx處理請求是經過fpm(來管理fastcgi的)來實現請求和響應。php
而nginx和php-fpm能夠經過監聽9000端口(默認)或者socket來實現。html
而9000的格式是127.0.0.1:9000,是走網絡的。經過ngxin的conf文件,把.php結尾的都交給9000端口處理,php-fpm(fastggi的進程管理器)選擇並鏈接到一個fastcgi子進程,並將環境變量和標準輸入發送到fastcgi子進程,而後不斷的處理請求響應nginx
socket文件就不走網絡,是套接字。git
好,至於速度對比和優化配置,先不說。ubuntu
sudo add-apt-repository ppa:ondrej/php-7.0 sudo apt-get update sudo apt-get install php7.0-fpm
升級完成後,以前的fpm文件還在。能夠酌情參考或者刪除網絡
php -v PHP 7.0.1-4+deb.sury.org~trusty+1 (cli) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
php7默認的是socket,因此若是按照以前nginx -conf文件,php文件處理會報502錯誤。
默認的sock是在php配置文件中的,pool.d中的www.confphp7
root@tb:/etc/php/7.0/fpm# pwd /etc/php/7.0/fpm root@tb:/etc/php/7.0/fpm# ls conf.d php-fpm.conf php.ini pool.d root@tb:/etc/php/7.0/fpm#
在這兩行:socket
listen = /run/php/php7.0-fpm.sock ; listen = 127.0.0.1:9000
## 更改nginx conf文件 ##svn
nginx 配置文件個人是在php-fpm
root@tb:/etc/nginx/conf.d# ls git.conf svn.conf tb.conf
修改其中的git.conf以下
server{ listen 80; server_name git.com ; root /home/gittest/; autoindex on; location ~ \.php$ { root /home/gittest; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME /home/gittest/$fastcgi_script_name; include fastcgi_params; } }
root@tb:/etc/nginx/conf.d# service nginx reload * Reloading nginx configuration nginx [ OK ] root@tb:/etc/nginx/conf.d# service php7-fpm status * php-fpm7.0 is running root@tb:/etc/nginx/conf.d# service php7-fpm reload * Reloading PHP 7.0 FastCGI Process Manager php-fpm7.0[ OK ] root@tb:/etc/nginx/conf.d#
要注意是ok才能夠,具體的nginx和fpm的腳本執行文件(可本身修改)在:
root@tb:/etc/init.d# ls /etc/init.d/ |grep php7 php7-fpm root@tb:/etc/init.d# ls /etc/init.d/ |grep nginx nginx root@tb:/etc/init.d#
最後,進階的同窗可參考Nginx+PHP-FPM優化技巧總結
補充若是想經過apt-get換回去以前版本
sudo add-apt-repository ppa:ondrej/php5 sudo apt-get update
而後再install
就行了