教程基於《OneinStack》一鍵PHP/JAVA安裝工具中lnmp模式,很使用者希望一個網站運行在php5.4,另一個網站運行在php7下,一台伺服器上同時支援多個PHP版本,步驟如下:
1. 安裝OneinStack
選擇lnmp模式,預設安裝php5.4,安裝步驟參考:http://oneinstack.com/install/
選項如下:
Install Nginx
Do not install Apache
Do not install Tomcat
Install MySQL-5.6
Install php-5.4
....
2. 安裝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:
php_install_dir=/usr/local/php7
再次執行./install.sh,選擇Install php-7,其餘均選擇n,等待ing
3. 修改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.4、php7開機自啟動:
# CentOS:
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.4、php7監聽sock衝突,修改php7的listen,更改設定檔/usr/local/php7/etc/php-fpm.conf:
listen = /dev/shm/php-cgi.sock
#改成
listen = /dev/shm/php7-cgi.sock
手工啟動php5.4、php7:
service php-fpm start #啟動php5.4
service php7-fpm start #啟動php7
如:
4. 修改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
轉載: