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 onubuntu/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.sock4.重启php-fpm服务
systemctl php-fpm start systemctl php72-fpm start5.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里面把子进程数量减小点