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