教程基于《OneinStack》一键PHP/JAVA安装工具中lnmp模式,很用户希望一个网站运行在php5.4,另一个网站运行在php7下,一台服务器上同时支持多个PHP版本,步骤如下:
选择lnmp模式,默认安装php5.4,安装步骤参考:http://trustauth.cn/install/
选项如下:
(1)Install Nginx
(2)Do not install Apache
(3)Do not install Tomcat
(4)Install MySQL-5.6
(5)Install php-5.4
(6)….
(1)service php-fpm stop #后面需要再安装php,需要停止php
(2)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:
(1)php_install_dir=/usr/local/php7
再次执行./install.sh,选择Install php-7,其余均选择n,等待ing
(1)service php-fpm stop #停止php7启动脚本
(2)mv /etc/init.d/php-fpm /etc/init.d/php7-fpm #重命名php7启动脚本
(3)mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm #恢复php5.4启动脚本
设置php5.4、php7开机自启动:
(1)# CentOS:
(2)chkconfig –add php7-fpm
(3)chkconfig –add php-fpm
(4)chkconfig php7-fpm on
(5)chkconfig php-fpm on
(6)# Ubuntu/Debian:
(7)update-rc.d php7-fpm defaults
(8)update-rc.d php-fpm defaults
防止php5.4、php7监听sock冲突,修改php7的listen,更改配置文件/usr/local/php7/etc/php-fpm.conf:
(1)listen = /dev/shm/php-cgi.sock
(2)#改成
(3)listen = /dev/shm/php7-cgi.sock
手工启动php5.4、php7:
(1)service php-fpm start #启动php5.4
(2)service php7-fpm start #启动php7
如下图:
./vhost.sh绑定域名,默认是运行在php5.4,如需要将网站运行在php7下,需要修改/usr/local/nginx/conf/vhost/www.trustauth.cn.conf(www.trustauth.cn改成自己绑定域名):
(1)fastcgi_pass unix:/dev/shm/php-cgi.sock;
(2)#改成
(3)fastcgi_pass unix:/dev/shm/php7-cgi.sock;
重新加载nginx,使配置生效:
(1)service nginx reload