lnmp环境切换php版本,并安装相应redis扩展
程序员文章站
2022-07-07 19:17:57
ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56 1.让nginx支持不同站点可以选择不同的php版本 1>创建fastcgi.conf文件 cd /etc/nginx //进入nginx配置文件夹 cp fastcgi_params fastcg ......
ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56
1.让nginx支持不同站点可以选择不同的php版本
1>创建fastcgi.conf文件
cd /etc/nginx //进入nginx配置文件夹
cp fastcgi_params fastcgi.conf //创建fastcgi.conf文件
vim fastcgi.conf 加入以下参数 fastcgi_param script_filename $document_root$fastcgi_script_name;
2>创建php56和php70的配置文件
touch php56.conf
vim php56.conf 加入以下内容
index index.php index.html index.htm;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
if ($uri !~* "^/data/"){
fastcgi_pass 127.0.0.1:9001;
}
include fastcgi.conf;
}
touch php70.conf
vim php70.conf 加入以下内容
index index.php index.html index.htm;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
if ($uri !~* "^/data/"){
fastcgi_pass 127.0.0.1:9000;
}
include fastcgi.conf;
}
3>进入虚拟站点配置(以自己的配置为准)
vim /etc/nginx/sites/nginx.vhost.conf
加入以下内容
server {
listen 8080;
root /data/php56site/;
server_name test.php56site.com;
access_log /var/log/nginx/php56site/access.log;
error_log /var/log/nginx/php56site/error.log;
include php56.conf;
}
server {
listen 8081;
root /data/php70site/;
server_name test.php70site.com;
access_log /var/log/nginx/php70site/access.log;
error_log /var/log/nginx/php70site/error.log;
include php70.conf;
}
4>更改php-fpm的监听端口
vim /etc/php/5.6/fpm/pool.d/www.conf 更改监听端口为 listen=127.0.0.1:9001
vim /etc/php/7.0/fpm/pool.d/www.conf 更改监听端口为 listen=127.0.0.1:9000
5>创建相应的文件
创建php56site的站点文件夹
mkdir /data/php56site
cd /data/php56site
touch index.php
vim index.php
并加入以下内容
<?php
phpinfo();
创建php56site的日志
cd /var/log/nginx/
mkdir php56site
cd php56site
touch access.log
touch error.log
同理创建php70的站点文件夹和日志
6>重启操作
/etc/init.d/nginx restart
/etc/init.d/php5.6-fpm restart
/etc/init.d/php7.0-fpm restart
7>本地hosts文件中加入
xxx.xxx.xxx.xxxx test.php56site.com
xxx.xxx.xxx.xxxx test.php70site.com
网页测试地址
test.php56site.com:8080/index.php
test.php70site.com:8081/index.php
如果网页显示出phpinfo的信息,证明成功
2.给php安装phpredis扩展(apt-get并不直接提供各版本phpredis扩展,我们要编译安装)
1>准备工作:安装扩展需要phpize
开始安装 apt-get install php5.6-dev
apt-get install php7.0-dev
查看phpize的位置 whereis phpize
发现位置是 /usr/bin/phpize5.6
/usr/bin/phpize7.0
2>开始安装php5的redis扩展
1.root@ubuntu:/tmp# wget https://github.com/nicolasff/phpredis/zipball/master -o php-redis.zip
2.root@ubuntu:/tmp# unzip php-redis.zip
3.root@ubuntu:/tmp# mv phpredis/ /etc/phpredis5 (phpredis文件夹名以你解压后为准)
4.root@ubuntu:/tmp# cd /etc/phpredis5
5.root@ubuntu://etc/phpredis# /usr/bin/phpize5.6
6.root@ubuntu://etc/phpredis# ./configure --with-php-config=/usr/bin/php-config5.6
7.root@ubuntu://etc/phpredis#make && make install
3>开始安装php7的redis扩展
1.root@ubuntu:/tmp# git clone -b php7 https://github.com/phpredis/phpredis.git
2.root@ubuntu:/tmp# mv phpredis/ /etc/phpredis7
3.root@ubuntu:/tmp# cd /etc/phpredis7
4.root@ubuntu://etc/phpredis# /usr/bin/phpize7.0
5.root@ubuntu://etc/phpredis# ./configure --with-php-config=/usr/bin/php-config7.0
6.root@ubuntu://etc/phpredis#make && make install
4>启动扩展
修改相应的配置文件:
vim / etc / php / 5.6 / fpm / php .ini ,在配置文件中添加如下语句:extension=redis.so
vim / etc / php / 7.0 / fpm / php .ini ,在配置文件中添加如下语句:extension=redis.so
最后使用命令来重启 php 服务:
/etc/init.d/php5.6-fpm restart
/etc/init.d/php7.0-fpm restart
5>测试是否成功
网页测试地址
test.php56site.com:8080/index.php
test.php70site.com:8081/index.php
如果网页phpinfo的信息中有redis项,证明成功
6>因为我php70主要为laraval框架服务,其使用predis扩展,所以我要关闭到phpredis扩展
vim / etc / php / 7.0 / fpm / php .ini ,找到 extension=redis.so 将其注释掉
如果你不需要使用predis,请忽略此项