入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

ubuntu16.04下搭建ngnix+php+mysql+Redis,实现数据库的读写分离

创建时间:2017-10-10 投稿人: 浏览次数:707

在学习完Redis后,相信很多人都对明白了mysql+redis的开发模式有了一些心得认识。那么,在这里给大家先分析一下Mysql+Redis的开发优势。



做过项目开发的人应该都知道,读写一体的操作对mysql的压力是很大的,这张图片中完美的解释了mysql+redis的开发是怎样的一种模式。


现在介绍一下相关环境的搭建:

一、ubuntu16.04下的ngnix+php+mysql环境搭建:

安装LNMP环境

1.apt-get安装

apt-get install nginx mysql-server php

(注意哦,新版本的mysql安装时必须要设密码的,要是你没有设置密码,那恭喜你走上了我的不归路了,做好时刻准备重新安装的准备。因为新版的额mysql的root用户必须设置密码,如果在安装过程中,你也像小编一样直接一直enter过去,mysql是会给你默认生成一堆密码的。然后你就登录不了。!!!)

2.配置nginx,支持php

复制代码
vi /etc/nginx/sites-available/default
......
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#修改后如下:
location ~ .php$ { 
    try_files $uri /index.php =404;
         fastcgi_split_path_info ^(.+.php)(/.+)$;
         fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
}
......
复制代码

 3.重启nginx,测试

vi /var/www/html/info.php
<?php phpinfo();?>

然后访问页面看到php的相关信息,基础环境就算搭建完成了。(哦,对了。这里测试的时候注意点,你要在配置文件中让nginx来解析php,否则你访问只能把php文件下载下来,而没办法让其去解析。我在配置文件中已经修改过了哦。)


二、安装redis

1.安装redis和php的redis扩展

复制代码
apt-get install redis-server
apt-get install git php-dev
git clone https://github.com/nicolasff/phpredis.git   //这里注意一下那个有php7的是没办法完成的,应该是github上的变化,现在直接克隆这个就可以了。
cd phpredis/
phpize
./configure
make
make install
复制代码

2.配置php的redis扩展

sudo vim /etc/php/7.0/fpm/conf.d/redis.ini  //这个是写一个配置文件

extension=redis.so  //配置文件的内容(没错,就这一句)


3.重启fpm,访问info.php,就能看到redis扩展

/etc/init.d/php7.0-fpm restart

五、读取测试

复制代码
<?php  
//连接本地Redis服务  
$redis=new Redis();  
$redis->connect("localhost","6379") or die ("Could net connect redis server!");

//$redis->auth("*****"); //登录验证密码,返回【true | false】

$redis->ping();  //检查是否还再链接,[+pong]
  
$redis->select(0);//选择redis库,0~15 共16个库 
  
//设置数据  
$redis->set("school","Xi`An University of Posts & Communications");  
//设置多个数据  
$redis->mset(array("name"=>"caoyouming0609","age"=>22,"height"=>"1.70"));  
//存储数据到列表中  
$redis->lpush("tutorial-list", "Redis");  
$redis->lpush("tutorial-list", "Mongodb");  
$redis->lpush("tutorial-list", "Mysql");  
  
//获取存储数据并输出  
echo $redis->get("school");  
echo "<br/>"; 
$gets=$redis->mget(array("name","age","height")); 
print_r($gets);
echo "<br/>"; 
$tl=$redis->lrange("tutorial-list", 0 ,5);  
print_r($tl);  
echo "<br/>"; 

//释放资源
$redis->close();
?>  
复制代码

 



OK,到这里mysql+redis的配置就算完成了。

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。