yum 安装gcc gcc-c++
yum install -y gcc gcc-c++
下载Redis源码安装包&解压&进目录安装
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar -zvxf redis-4.0.8.tar.gz
[root@localhost ~]# cd redis-4.0.8/
[root@localhost redis-4.0.8]# make PREFIX=/usr/local/redis/ install
[root@localhost redis-4.0.8]# cp redis.conf /usr/local/redis/
redis服务加入环境变量
[root@localhost redis-4.0.8]# echo "export PATH=/usr/local/redis/bin:$PATH" >> /etc/profile
##此处需要注意必须使用 ">>"追加内容,不能写成">"!!!!!
[root@localhost redis-4.0.8]# source /etc/profile
以后台方式启动Redis服务,并查看进程。
[root@localhost ~]# nohup /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf &
root@localhost ~]# netstat -ntpl | grep redis-server
[root@localhost ~]# ps -ef|grep redis-server
停止Redis服务:通过shutdown Redis端口停止;
[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379 shutdown
[root@localhost ~]# wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz
[root@localhost ~]# tar -zxaf 3.1.2.tar.gz
[root@localhost ~]# cd phpredis-3.1.2/
[root@localhost ~]# ./configure --with-php-config=/usr/bin/php-config --enable-redis && make && make install
#--with-php-config='php-config目录'
这里提示:-bash: ./configure: 没有那个文件或目录。原因是本环境PHP是yum安装,缺少相应的模块功能。需要找到环境中phpize,通过phpize可以建立php的外挂模块,继续安装。
[root@localhost phpredis-3.1.2]# find / -name phpize
/usr/bin/phpize
[root@localhost phpredis-3.1.2]# /usr/bin/phpize
[root@localhost ~]# ./configure --with-php-config=/usr/bin/php-config --enable-redis && make && make install
#--with-php-config='php-config目录'
安装的时候需要注意extensions:后面的路径,配置php.ini文件是用到。
配置php.ini,添加PHP连接redis外挂模块 ,编写PHP验证页面test.php
[root@localhost redis]# vim /etc/php.ini
在 [PHP] 下面添加
extension_dir = /usr/lib64/php/modules
extension = redis.so
[root@localhost redis]# systemctl reload httpd
[root@localhost discuz]# touch test.php
[root@localhost discuz]# cat >test.php< phpinfo();
> ?>
> eof
浏览器访问test.php页面如上图所示则Redis安装成功。
redis 主库192.168.29.132配置
vim /usr/local/reids/redis.conf
改
bind 127.0.0.1
为
bind 0.0.0.0
#允许所有ip地址访问redis
redis 从库192.168.29.131配置
vim /usr/local/reids/redis.conf
改
bind 127.0.0.1
为
bind 0.0.0.0
#允许所有ip地址访问redis
添加
slaveof 192.168.29.132 6379
定义这台redis是从库,主库地址为:192.168.29.132 端口:6379(端口可不加)
两个web服务器分别修改网站www.dz.com全局配置文件
config_global.php,添加redis服务器地址。
vim /var/www/html/discuz/config/config_global.php
$_config['memory']['redis']['server'] = '192.168.29.132';
重启Apache和redis
查看redis主从配置是否成功
redis主从库执行命令
redis-cli
127.0.0.1:6379>info
redis主从执行命令
redis-cli
keys *
显示以下信息并且数据表前缀与/var/www/html/discuz/config/config_global.php中的配置相符,则配置OK!
登陆网站www.dz.com注册用户:user01
redis查看数据是否有更新
进mysql-master删除user01用户数据,我这里使用Navicat连接到数据库进行操作,也可以直接进mysql命令操作。
通过命令方式删除user01数据:
[root@mysql ~]# mysql -uroot -p
MariaDB [(none)]> use discuz;
MariaDB [discuz]> delete from pre_common_member where username='user01';
MariaDB [discuz]>flush privileges;
MariaDB [discuz]>exit;
浏览器使用user01可以正常登陆,此时mysql数据库里面已经没有user01这个用户信息了,但是还是可以登陆,因为user01存在在redis的数据还在。
后面将加入mysql mha高可用和mysql读写分离,尽量完善LANMP+mysql+redis Web服务架构。