原创文章,转载请注明出处
 
我想配置的环境是ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56
ubuntu+nginx+mysql+php的环境配置教程地址:ubuntu使用(二) -- lnmp环境的配置

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,请忽略此项
 
 
 
 

linux学习(三) -- lnmp环境切换php版本,并安装相应redis扩展的更多相关文章

  1. lnmp环境切换php版本,并安装相应redis扩展

    ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56 1.让nginx支持不同站点可以选择不同的php版本 1>创建fastcgi.conf文件 ...

  2. Linux学习第二步(Java环境安装)

    jdk版本:jdk-8u131-linux-x64.rpm 注:以下操作在root用户或具有root权限的用户下操作 一.将 dk-8u131-linux-x64.rpm拷贝到/home目录下 cp ...

  3. Linux系统之路——python多版本共存问题(ps:自行切换python版本,pip安装遇到的一些问题)

    经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python, ...

  4. zabbix学习(一)——LNMP环境搭建及zabbix安装

    第一部分:LNMP环境搭建 一.环境说明: OS:   centos7.6_x64nginx:nginx-1.16.0php:   php-7.1.11mysql:mysql-5.6.44 zabbi ...

  5. CentOS LNMP环境搭建 各版本

    我们先下载系统包. 以下centos6.5 X64系统 进行演示.本环境适应Centos5.x CentOs6.x Centos7.x    32和64版本.如有错误请回复本文主要安装代码汇总 [PH ...

  6. linux搭建的LNMP环境下的mysql授权远程连接

    用phpstudy搭建的lnmp环境下mysql授权远程连接 简单高效 这是因为mysql 里的优先级不是所有人(提前检查防火墙是关闭状态)1.使用phpstudy安装的mysql没有放置到可以直接调 ...

  7. Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】

      如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...

  8. Linux下Java开发环境搭建—CentOS下Mysql安装教程

    本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个笔记. MySQL下载 1.进入网 ...

  9. Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解

    一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...

随机推荐

  1. 移动端,点击a标签链接的pdf报错 Resource interpreted as Document but transferred with MIME type application/pdf

    源码: <a href="11.pdf" class="actcont_a fl report_a" style="display: block ...

  2. MATLAB之数学建模:深圳市生活垃圾处理社会总成本分析

    MATLAB之数学建模:深圳市生活垃圾处理社会总成本分析 注:MATLAB版本--2016a,作图分析部分见<MATLAB之折线图.柱状图.饼图以及常用绘图技巧> 一.现状模式下的模型 % ...

  3. restesay部署学习过程中遇到的问题

    Exception starting filter org.jboss.resteasy.plugins.serer.servlet.Filter30Dispatcherjava.lang.Class ...

  4. 查看mysql表和数据库的大小

    转自:http://xiaosu.blog.51cto.com/2914416/687835 1.查看数据库的大小 use 数据库名SELECT sum(DATA_LENGTH)+sum(INDEX_ ...

  5. 不该被忽视的CoreJava细节(四)

    令人纳闷的数组初始化细节 这个细节问题我很久以前就想深入研究一下,但是一直没有能够抽出时间,借这系列文章的东风,尽量解决掉这个"心头病". 下面以一维int数组为例,对数组初始化方 ...

  6. AppSettings和ConnectionStrings的辨析

    1.<connectionStrings> <connectionStrings> <add name="ConnectionStringName" ...

  7. Redis常用特性

    发布订阅 ·服务器状态在pubsub_channels字典保存了所有频道的订阅关系:SUBSCRIBE命令负责将客户端和被订阅的频道关联到这个字典里面,而UNSUBSCRIBE命令则负责解除客户端和被 ...

  8. POJ 3050 Hopscotch(dfs,stl)

    用stack保存数字,set判重.dfs一遍就好.(或者编码成int,快排+unique #include<cstdio> #include<iostream> #includ ...

  9. 问题 B: Curriculum Vitae

    问题 B: Curriculum Vitae 时间限制: 1 Sec  内存限制: 128 MB提交: 109  解决: 25[提交][状态][讨论版][命题人:acm4302] 题目描述 Hideo ...

  10. python_49_三种编程方式及面向过程与面向函数区别.py

    ''' 三种编程方式:1.面向对象 (类:class)2.面向过程 (过程:def)3.函数式编程(函数:def) 编程语言中函数的定义:函数是逻辑结构化和过程化的一种编程方法 过程与函数的区别,过程 ...