oneinstack一键包Nginx php多版本共存配置全过程
版权声明:本文为博主原创文章,未经博主允许不得转载。
oneinstack一键包地址:http://oneinstack.com/install/ 非常好用的一键包。下面说说基于oneinstack一键包的
Nginx php多版本共存配置全过程
第一步:下载完成后修改
修改/root/oneinstack/options.conf修改php存放目录
便于区分改成php_install_dir=/usr/local/php7,ok,一步步等待安装完成。php7安装完成后,然后我们再安装php5
同样修改php安装目录。注意这一步只安装php5即可,安装的时候先停止php-fpm。
- service php-fpm stop
ok,等待编译完成。如上,我们已经做好了基础的准备工作。
第一步:修改/php安装目录/etc/php-fpm.conf (便于区分各个php版本)
- [www]
- listen = /dev/shm/php-cgi.sock
- listen.backlog = -1
- listen.allowed_clients = 127.0.0.1
- listen.owner = www
- listen.group = www
- listen.mode = 0666
- user = www
- group = www
如上,是我们php7的,我们修改成
- [www]
- listen = /dev/shm/php-cgi7.sock
- listen.backlog = -1
- listen.allowed_clients = 127.0.0.1
- listen.owner = www
- listen.group = www
- listen.mode = 0666
- user = www
- group = www
同理,我们修改php5版本的修改如下
- [www]
- listen = /dev/shm/php-cgi5.sock
- listen.backlog = -1
- listen.allowed_clients = 127.0.0.1
- listen.owner = www
- listen.group = www
- listen.mode = 0666
- user = www
- group = www
ok,这会,我们可以手工启动php7或者php5
- /usr/local/php5/sbin/php-fpm
ok,我们来查看下php进程
- ps -ax | grep php
可以看到,我们的两个php版本已经ok了
第二步:便于管理,我们复制两份init.d文件
定位到目录/etc/rc.d/init.d,可以看到只有一份php-fpm
复制两份,分别修改
- prefix=/usr/local/php7
分布修改到php5和php7目录,如下我们创建了2个
记得修改两个文件的权限为775即可。如下,我们可以用命令非常方便的管理php-fpm
- ## 添加执行权限
- chmod a+x /etc/init.d/php-fpm5
- chmod a+x /etc/init.d/php-fpm7
- ## 加入服务
- chkconfig --add php-fpm5
- chkconfig --add php-fpm7
- ## 开机自启
- chkconfig php-fpm5 on
- chkconfig php-fpm7 on
管理php5:
管理php7:
第三步:修改nginx vhost文件
- location ~ [^/]\.php(/|$) {
- #fastcgi_pass remote_php_ip:9000;
- fastcgi_pass unix:/dev/shm/php7/php-cgi.sock;
- fastcgi_index index.php;
- include fastcgi.conf;
- }
我们只需要修改
- fastcgi_pass unix:/dev/shm/php-cgi5.sock;
或者
- fastcgi_pass unix:/dev/shm/php-cgi7.sock;
选择不同的php版本更改socket即可!
ok,大功告成!现在可以随心所欲的切换版本了。最后要说的是 我们每次升级PHP版本都必须修
改/root/oneinstack/options.conf的php路径。也算非常方便了。