步骤
1、下载压缩包
cd /usr/local/src
wget http://download.redis.io/releases/redis-6.0.10.tar.gz
2、解压并编译
tar xzvf redis-6.0.10.tar.gz
cd redis-6.0.10
make
3、这里编译的时候报错了,因为redis的6.0.10依赖的gcc的版本较高,所以需要升级服务器的gcc版本
# 查看版本
gcc --version
# 安装8版本
yum install centos-release-scl scl-utils-build
yum install -y devtoolset-8-toolchain
# 切换gcc版本
scl enable devtoolset-8 bash
# 再次查看版本
gcc --version
装好后重新执行清理上次编译失败的文件并编译
make distclean && make
4、安装
make install PREFIX=/usr/local/redis
后面是指定路径
5、移动配置文件到安装目录下
mkdir /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
6、配置redis
创建持久化文件路径:
mkdir /usr/local/redis/data
打开配置文件:
vim /usr/local/redis/etc/redis.conf
修改持久化路径:
将dir ./
改为dir /usr/local/redis/data
配置redis为后台启动:
将daemonize no
改成daemonize yes
远程连接
redis默认不能开启外部访问,出于保护模式,打开配置文件关闭保护模式:
vim /usr/local/redis/etc/redis.conf
注释掉bind
#bind 127.0.0.1
禁用保护模式
将protected-mode yes
改为protected-mode no
常用命令
启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
停止redis
pkill redis
卸载redis
rm -rf /usr/local/redis //删除安装目录
rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
设置密码
打开配置文件
vim /usr/local/redis/etc/redis.conf
将requirepass
注释打开,后面跟着密码就行
requirepass 密码
防火墙与安全组
redis默认端口是6379,需要防火墙放通这个端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
如果是云服务器的话,还需要去云厂商控制台开放安全组端口。
配置开机自启
创建服务文件
vim /usr/lib/systemd/system/redis.service
将下面的内容写入文件
#表示基础信息
[Unit]
#描述
Description=Redis
#在哪个服务之后启动
After=syslog.target network.target remote-fs.target nss-lookup.target
#表示服务信息
[Service]
Type=forking
#注意:需要和redis.conf配置文件中的信息一致
PIDFile=/var/run/redis_6379.pid
#启动服务的命令
#redis-server安装的路径 和 redis.conf配置文件的路径
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
#重新加载命令
ExecReload=/bin/kill -s HUP $MAINPID
#停止服务的命令
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
#安装相关信息
[Install]
#以哪种方式启动
WantedBy=multi-user.target
#multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
保存后退出,执行systemctl daemon-reload
命令,使配置生效。生效后可使用下面几个命令来控制redis服务:
- 设置开机启动:
systemctl enable redis.service
- 检测是否开机自启:
systemctl is-enabled redis.service
- 取消开机自启:
systemctl disable redis.service
- 启动:
systemctl start redis.service
- 停止:
systemctl stop redis.service
- 重启:
systemctl restart redis.service
- 查看状态:
systemctl status redis.service
迁移
原服务器的redis版本是4.0.8,现在装的是6.0.10,一开始还担心迁移不兼容,但试了下还是可以正常迁移的。
迁移过程可以看另一篇
最后
redis如果开启了远程访问,一定要设置密码,刚接触redis那段时间在学生机上装了一次,因为没设置密码,服务器被人装了挖矿病毒。