1. 程式人生 > >ccentos 7下安裝php5.6並使用nginx + php-fpm部署多個不同端口網站

ccentos 7下安裝php5.6並使用nginx + php-fpm部署多個不同端口網站

png .net 又一 介紹 htm sea tip 編輯 端口

作為一個的勤雜工,近期因公司內部信息化的需求,給新進員工提供基礎的知識培訓和介紹,也為了給公司內部建立一個溝通交流的平臺,百度找了開源的百科系統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的相關配置文件有:

  1. /etc/php-fpm.conf
  2. /etc/php-fpm.d/www.conf
  3. /var/run/php-fpm/php-fpm.pid
  4. /usr/lib/systemd/system/php-fpm.service

當需要部署多個系統在不同的端口時,可以復制上述4個文件,修改2中的監聽端口號,修改4中的啟動項,使用-y 制定php-fpm啟動的配置文件即可。

ccentos 7下安裝php5.6並使用nginx + php-fpm部署多個不同端口網站