基于《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
以下图:
四、 修改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/