文章目录
一 、redis结合lnmp架构做mysql的缓存服务器实现读写分离
读写分离:用户读的时候访问redis,用户写的时候访问mysql。
原理:server1做web服务器,通过nginx访问redis(使用server2做redis),如果有则直接访问,如果没有,则使用server3做mysql
实验环境
| 主机名(ip) | 角色 |
|---|---|
| server1 (172.25.1.1) | 前端服务器nginx |
| server2 (172.25.1.2) | redis数据缓存 |
| server3(172.25.1.3) | mysql数据库 |
(一)在server1中配置nginx和php
1、首先将server1中的其他服务都关闭并删除,关闭redis服务及所有的redis-server
- 注意:如果做过ssl服务,可能在安装php时会有影响<php安装时会安装最新的openssl,而之前mysql使用的是旧的openssl,会导致php安装失败>,可以用
yum remove移除。
[root@server1 ~]# /etc/init.d/redis_6379 stop
[root@server1 ~]# killall -9 redis-server
##没有命令killall,
[root@server1 ~]# yum whatprovides /usr/bin/killall ##查找
[root@server1 ~]# yum install psmisc-22.20-11.el7.x86_64 -y ##安装
- 补充:如果要删除相关服务的模块,可以使用以下命令:
[root@server1 ~]# rpm -qa | grep mysql
[root@server1 ~]# rpm -e `rpm -qa | grep mysql`
#强行删除
[root@server1 ~]# rpm -e `rpm -qa | grep mysql` --nodeps
2、配置nginx
[root@server1 ~]# ls
[root@server1 ~]# tar zxf nginx-1.14.0.tar.gz
[root@server1 ~]# cd nginx-1.14.0
[root@server1 nginx-1.14.0]# vim src/core/nginx.h
#在此文件下将debug注释
[root@server1 nginx-1.14.0]# vim auto/cc/gcc
#下载nginx编译和安装时所需要的依赖性
[root@server1 nginx-1.14.0]# yum install -y gcc pcre-devel zlib-devel -y
#由于此实验只是简单的做一个web服务器,所以不需要添加别的模块,编译时只写安装到的路径即可
[root@server1 nginx-1.14.0]# ./configure --prefix=/usr/local/nginx
[root@server1 nginx-1.14.0]# make && make install
[root@server1 nginx-1.14.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/






本文介绍了如何在lnmp环境中利用Redis实现MySQL的读写分离。详细步骤包括在不同服务器上配置nginx、php、redis和mysql,通过测试验证读取操作从Redis缓存获取数据,写入操作则直接操作MySQL。然而,文章指出在MySQL数据更新后,Redis并未自动同步,提出了数据不一致性的挑战,并预告将在后续博客中探讨解决方案。
最低0.47元/天 解锁文章
1400

被折叠的 条评论
为什么被折叠?



