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
定位到目录/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:
service php-fpm5 {start|stop|restart|reload|status}管理php7:
service php-fpm7 {start|stop|restart|reload|status}
第三步:修改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;
ok,大功告成!现在可以随心所欲的切换版本了。最后要说的是 我们每次升级PHP版本都必须修
改/root/oneinstack/options.conf的php路径。也算非常方便了。