ccentos 7下安裝php5.6並使用nginx + php-fpm部署多個不同端口網站
作為一個的勤雜工,近期因公司內部信息化的需求,給新進員工提供基礎的知識培訓和介紹,也為了給公司內部建立一個溝通交流的平臺,百度找了開源的百科系統HDwiki和開源的問答系統Tipask問答系統,蛋痛的這兩套系統均是php+mysql開發,作為一個有多年.net開發經驗的老鳥,面對著這些無法下一步解決的系統部署,心裏一遍又一遍地感嘆微軟的好。
在windows server + IIS + php 7環境內部署Tipask時出現了各種問題,面對著php.ini的配置一時也不知道如何入手,然後切換到centos 7 + nginx + php5.6上。
在centos上安裝php,我這邊采用的是Webtatic源,Webtatic上最新php版本為7.2,因HDwiki不支持最新的php 7.2,所以選擇了5.6版。使用webtatic提供的源進行php的安裝非常簡單,可參見官方安裝步驟。
#安裝Webtati的yum倉庫
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#安裝php及插件
yum install php56w php56w-fpm php56w-opcache
#查詢php插件並安裝
yum search php56w
yum install 插件名稱
php安裝完成後,配置nginx進行測試。
[root@localhost conf.d]# vi /etc/nginx/conf.d/default.conf server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; # 默認頁增加index.php index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; # include fastcgi_params; #} #去掉location ~ \.php$配置節前面的# location ~ \.php$ { root html; #php-fpm默認的監聽端口為9000 fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # 文件位置修改為/usr/share/nginx/html fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache‘s document root # concurs with nginx‘s one # #location ~ /\.ht { # deny all; #} }
在/usr/share/nginx/html
文件夾下增加index.php
文件。文件內容如下:
<?php
phpinfo()
?>
重啟nginx服務,啟動php-fpm服務。
#重新載入nginx
nginx -s reload
#將php-fpm設置為開啟啟動
systemctl enable php-fpm.service
#啟動php-fpm服務
systemctl start php-fpm.service
在瀏覽器中訪問index.php頁面,出現下圖界面說明配置成功。
php-fpm默認監聽的端口號為9000,如果我們想修改端口號或部署多個系統在不同的端口號時應該如何做呢?
1. 修改監聽的端口
通過查看php-fpm的配置文件/etc/php-fpm.conf
可以看到include=/etc/php-fpm.d/*.conf
的配置,在/etc/php-fpm.d/
文件夾中存在www.conf
配置文件,打開文件編輯listen=127.0.0.1:9000
,將端口號改為其他端口號,然後重啟php-fpm.service服務。重啟完後,修改nginx配置並重啟,即可生效。
2. 部署多個系統在不同的端口號
經檢查php-fpm的相關配置文件有:
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf
/var/run/php-fpm/php-fpm.pid
/usr/lib/systemd/system/php-fpm.service
當需要部署多個系統在不同的端口時,可以復制上述4個文件,修改2中的監聽端口號,修改4中的啟動項,使用-y 制定php-fpm啟動的配置文件即可。
ccentos 7下安裝php5.6並使用nginx + php-fpm部署多個不同端口網站