oneinstack 安装多个php版本

it2022-05-05  159

1.关闭已有的php-fpm (我这里是php5.6)进程,并备份php-fpm进程启动脚本

service php-fpm stop mv /etc/init.d/php-fpm{,_bk} oneinstack里php的默认安装路径是/usr/local/php,如果继续安装别的版本,需要更改参数配置避免这里的文件被覆盖。

我们切到oneinstall的安装包目录下,找到options.conf文件,然后打开

php_install_dir=/usr/local/php

这里我们可以根据自行的需要进行修改,

例如这里需要安装php7.2,就将这里改成了

php_install_dir=/usr/local/php72 wq修改保存以后,运行./install.sh

开始onestack组件安装,这里除了选择安装php7.2以外,其他都选择n.

3.安装完成后,修改php的配置文件

先停掉php-fpm的进程

systemctl stop php-fpm

然后

mv /etc/init.d/php-fpm /etc/init.d/php72-fpm mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm

(恢复原有的php-fpm的启动脚本)

设置一些开机启动事项

例如

chkconfig --add php-fpm chkconfig php-fpm on chkconfig --add php72-fpm chkconfig php72-fpm on

ubuntu/debian请看这里

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

防止php5.6、php7.2监听sock冲突,修改php的listen配置文件

例如

vim /usr/local/php72/etc/php-fpm.conf

将listen = /dev/shm/php-cgi.sock 修改为

listen = /dev/shm/php72-cgi.sock

4.重启php-fpm服务

systemctl php-fpm start systemctl php72-fpm start

5.nginx中如何使用?

修改nginx配置文件,例如

vim /usr/local/nginx/conf/vhosts/a.com.conf

将location php 中的 fastcgi_pass unix:/dev/shm/php-cgi.sock; 更改为 fastcgi_pass unix:/dev/shm/php72-cgi.sock; 然后保存, /usr/local/nginx/sbin/nginx -s reload ps:

补充说明

检测php多版本安装情况

ps -ef|grep php-fpm oninstack是自动检测内存大小,根据内存大小划分fpm的进程数。也就是说,每个版本的php-fpm子进程都是按照内存满载划分 要适当的到php-fpm.conf里面把子进程数量减小点


最新回复(0)