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,请忽略此项
- linux学习(三) -- lnmp环境切换php版本,并安装相应redis扩展
原创文章,转载请注明出处 我想配置的环境是ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56 ubuntu+nginx+mysql+php的环境配 ...
- Linux系统之路——python多版本共存问题(ps:自行切换python版本,pip安装遇到的一些问题)
经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python, ...
- 动手制作 java版本切换 多版本JDK安装 windows JDK版本 切换
[参考]windows下JDK版本之间的切换 1.下载各版本安装包,指定安装位置顺序安装 2.删除注册表,文件和环境变量 文件: C:\Windows\System32 下java相关文件如 jav ...
- CentOS LNMP环境搭建 各版本
我们先下载系统包. 以下centos6.5 X64系统 进行演示.本环境适应Centos5.x CentOs6.x Centos7.x 32和64版本.如有错误请回复本文主要安装代码汇总 [PH ...
- Lnmp环境源码包编辑安装
最近做了一个小工具可以方便的部署LNMP环境,有兴趣的同学可以尝试下: 这是一个集成的shell脚本,脚本将会自动安装好LNMP环境相关软件: 使用步骤 1.下载脚本源码到本地 git clone h ...
- 在windows下安装php redis扩展
我在本地是phpstudy集成环境,但是没有redis扩展,需要自己安装 1.先看清楚自己的php配置,在安装对应的 php_redis.dll 和 php_igbinary.dll php_redi ...
- centos 6.5 安装php redis 扩展
一.安装: 其中,添加PHP扩展需要用到 phpize,所以我们需要安装 php-devel 这个包. #yum install php-devel 然后编译安装phpredis: #git clon ...
- Mac 安装PHP Redis 扩展
其实 Mac 安装 Redis 还是很简单,以下为个人搭建配置.注意:文章中的“*”代表任意版本号 安装 Redis 服务 安装 brew install redis 使用 # 启动 redis-se ...
- centos6.5下使用yum完美搭建LNMP环境(php5.6) 无脑安装
准备工作 配置防火墙,开启80端口.3306端口删除原有的 iptables , 添加合适的配置 rm -rf /etc/sysconfig/iptables vi /etc/sysconfig/ip ...
随机推荐
- 从 Spring Cloud 看一个微服务框架的「五脏六腑」
原文:https://webfe.kujiale.com/spring-could-heart/ Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构 ...
- Go语言复制文件
需要使用io包的Copy方法 package main import ( "fmt" "io" "os" ) //自己编写一个函数,接收两个 ...
- silverlight属性改变事件通知
工作中遇到silverlight本身没有提供的某些属性改变事件,但又需要在属性改变时得到通知,Google搬运stack overflow,原地址 /// Listen for change of t ...
- CSS Modules 与 scoped 的不一样
What ? css 的作用域表现. Css modules 是一个CSS文件,其中所有类名和动画名称默认为局部作用域. 使用JS编译原生的CSS文件,使其具备模块化的能力,该文件需要import使用 ...
- Java之单元测试工具(Junit)
Junit是Java单元测试框架,一般Eclipse里面会集成这个Junit4测试工具 既然是测试工具,虽然开发用得比较多,但作为测试人员也需要具备会Junit测试的思想,况且技多不压身 这里简单介绍 ...
- Java核心技术及面试指南 集合部分总的面试题归纳以及答案
3.6.1ArrayList和LinkedList有什么差别?在哪种场景里应当用ArrayList(或LinkedList)? 大家如果学过数据结构,这个问题不难回答:前者是基于数组,数组比较擅长索引 ...
- rest-framework之解析器
解析器 解析器的作用 根据请求头 content-type 选择对应的解析器对请求体内容进行处理. 有application/json,x-www-form-urlencoded,form-data等 ...
- Android--Service之AIDL传递复杂对象
前言 Android的AIDL不仅可以在绑定服务中传递一些Android规定的数据类型的数据,还可以传递一些复杂类型的数据.但是与传递系统允许的数据类型相比,复杂类型数据的传递要做更多的工作,本篇博客 ...
- ConcurrentHashMap 解读
初始化: 问题:如何当且仅只有一个线程初始化table private final Node<K,V>[] initTable() { Node<K,V>[] tab; int ...
- 在IT行业获得成功 你只需一项技能[转]
能同时使用五种编程语言(包括一种机器语言)?不是. 项目管理能力,再高就是获得PMP认证?也不是. 超强的口才和书面沟通能力,正如工作职位中描述的那样?这不是痛点,但可以学习. 我曾经与最好的IT专业 ...