OneinStack多版本PHP共存

基於《OneinStack》一鍵PHP/JAVA安裝工具中lnmp模式,不少用戶但願一個網站運行在php5.4,另外一個網站運行在php7,甚至更多版本的php,那麼一臺服務器上同時支持多個PHP版本應該如何作呢?php

一、安裝OneinStacklinux

選擇lnmp模式,默認安裝php5.4,安裝步驟參考:http://oneinstack.com/install/
選項以下:nginx

Install Nginx
Do not install Apache
Do not install Tomcat
Install MySQL-5.6
Install php-5.4
....

二、 安裝php7服務器

service php-fpm stop                      #後面須要再安裝php,須要中止php
mv /etc/init.d/php-fpm{,_bk}              #後面須要再安裝php會覆蓋,備份啓動腳本

默認php5.4安裝路徑是/usr/local/php,若是再次安裝會提示php已經安裝,所以必須修改options.conf的php安裝目錄,將php7安裝路徑設置爲/usr/local/php7,修改/root/oneinstack/options.conf:php7

php_install_dir=/usr/local/php7

再次執行./install.sh,選擇Install php-7,其他均選擇nphp-fpm

三、修改php配置文件工具

service php-fpm stop                                        #中止php7啓動腳本
mv /etc/init.d/php-fpm /etc/init.d/php7-fpm                 #重命名php7啓動腳本
mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm               #恢復php5.4啓動腳本

設置php5.四、php7開機自啓動:網站

CentOS:unix

chkconfig --add php7-fpm
chkconfig --add php-fpm
chkconfig php7-fpm on
chkconfig php-fpm on

Ubuntu/Debian:教程

update-rc.d php7-fpm defaults
update-rc.d php-fpm defaults

防止php5.四、php7監聽sock衝突,修改php7的listen,更改配置文件/usr/local/php7/etc/php-fpm.conf:

listen = /dev/shm/php-cgi.sock                  #修改前
listen = /dev/shm/php7-cgi.sock                 #修改後

手工啓動php5.四、php7:

service php-fpm start  #啓動php5.4
service php7-fpm start #啓動php7

以下圖:
OneinStack多版本PHP共存OneinStack多版本PHP共存

四、 修改nginx虛擬主機配置文件

./vhost.sh綁定域名,默認是運行在php5.4,如須要將網站運行在php7下,須要修改/usr/local/nginx/conf/vhost/www.oneinstack.com.conf(www.oneinstack.com改爲本身綁定域名):

fastcgi_pass unix:/dev/shm/php-cgi.sock;                #修改前
fastcgi_pass unix:/dev/shm/php7-cgi.sock;               #修改後

從新加載nginx,使配置生效:

service nginx reload

免費提供最新Linux技術教程書籍,爲開源技術愛好者努力作得更多更好:http://www.linuxprobe.com/

相關文章
相關標籤/搜索