本教程是基于已安装oneinstack 的基础上,开始进行的,如有不明白oneinstack安装的,请移步这里(https://oneinstack.com/install/)
那么不在废话。
1.关闭已有的php-fpm (博主这里是php7)进程,并备份php-fpm进程启动脚本
service php-fpm stop mv /etc/init.d/php-fpm{,_bk}
2. oneinstack里php的默认安装路径是/usr/local/php,如果继续安装别的版本,需要更改参数配置避免这里的文件被覆盖。
我们切到oneinstall的安装包目录下,找到options.conf文件,然后打开
php_install_dir=/usr/local/php
这里我们可以根据自行的需要进行修改,
例如博主这里需要安装php56,就将这里改成了
php_install_dir=/usr/local/php56
wq修改保存以后,运行./install.sh
开始onestack组件安装,这里除了选择安装php56以外,其他都选择n.
然后开始漫长的等待(此处可以去撒泡尿、也可以去冲杯咖啡,因为时间真的是挺长的。。。)
3.安装完成后,修改php的配置文件
先停掉php-fpm的进程
service php-fpm stop
然后
mv /etc/init.d/php-fpm /etc/init.d/php56-fpm
mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm(恢复原有的php-fpm的启动脚本)
蓝后,
设置一些开机启动事项(博主这里用的centos)
例如
chkconfig --add php-fpm chkconfig php-fpm on chkconfig --add php56-fpm chkconfig php56-fpm on
ubuntu/debian请看这里
update-rc.d php-fpm defaults update-rc.d php56-fpm defaults
防止php5.6、php7监听sock冲突,修改php的listen配置文件
例如
vim /usr/local/php56/etc/php-fpm.conf 将listen = /dev/shm/php-cgi.sock 修改为 listen = /dev/shm/php56-cgi.sock
4.重启php-fpm服务
service php-fpm start service php56-fpm start
5.nginx中如何使用?
修改nginx配置文件,例如
vim /usr/local/nginx/conf/vhosts/weixin.libaocai.com.conf 将location php 中的 fastcgi_pass unix:/dev/shm/php-cgi.sock; 更改为 fastcgi_pass unix:/dev/shm/php56-cgi.sock; 然后esc+wq 保存, /usr/local/nginx/sbin/nginx -s reload
ps:
补充说明
检测php多版本安装情况
ps -ef|grep php-fpm
附上一张安装成功的截图(博主这里是php7 /php56/php53)
来自好友Chory(https://coding.net/u/chory)的补充
oninstack是自动检测内存大小,根据内存大小划分fpm的进程数。也就是说,每个版本的php-fpm子进程都是按照内存满载划分
要适当的到php-fpm.conf里面把子进程数量减小点
转载请注明:苏demo的别样人生 » oneinstack 安装多个php版本