CentOS 7 安装redis
in 服务器 with 0 comment 233 views

CentOS 7 安装redis

in 服务器 with 0 comment 233 views

吃灰了大半年的服务器,今天想把项目都迁移过来,需要装个redis,旧服务器上版本是4.0.8,但官网最新稳定版已经到6.0.10了,强迫症患者表示想装最新版。

步骤

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服务:

迁移

原服务器的redis版本是4.0.8,现在装的是6.0.10,一开始还担心迁移不兼容,但试了下还是可以正常迁移的。
迁移过程可以看另一篇:redis数据迁移

最后

redis如果开启了远程访问,一定要设置密码,刚接触redis那段时间在学生机上装了一次,因为没设置密码,服务器被人装了挖矿病毒。

Responses