Linux学习笔记:Centos_7.3安装redis_6.0.6

这篇博客详细记录了在CentOS 7.3上安装Redis 6.0.6的步骤,包括从官方和GitHub获取最新版本、解压、编译、安装,以及处理编译错误的方法。同时介绍了Redis的配置、添加系统服务脚本和启动管理命令。
摘要由CSDN通过智能技术生成

Redis最新版本下载地址

Redis安装

下载
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
解压
tar -zxvf redis-6.0.6.tar.gz
编译
cd redis-6.0.6
make
安装
cd src && make install

说明:安装成功后会将/usr/local/redis-6.0.6/src目录下的文件加到/usr/local/bin目录

Redis安装过程中错误处理

错误1:编译时候报错 /bin/sh: cc: command not found
[root@master redis-6.0.1]# make
……
make[3]: cc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/root/redis-6.0.1/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/root/redis-6.0.1/deps'
make[1]: [persist-settings] Error 2 (ignored)
    CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/root/redis-6.0.1/src'
make: *** [all] Error 2

解决办法

yum -y install gcc
错误2:编译时报错 server.c:xxxx:xx: error: ‘xxxxxxxx’ has no member named ‘xxxxx’
[root@master redis-6.0.1]# make
……
server.c:5101:19: error: ‘struct redisServer’ has no member named ‘sofd’
         if (server.sofd > 0)
                   ^
server.c:5102:94: error: ‘struct redisServer’ has no member named ‘unixsocket’
             serverLog(LL_NOTICE,"The server is now ready to accept connections at %s", server.unixsocket);
                                                                                              ^
server.c:5103:19: error: ‘struct redisServer’ has no member named ‘supervised_mode’
         if (server.supervised_mode == SUPERVISED_SYSTEMD) {
                   ^
server.c:5104:24: error: ‘struct redisServer’ has no member named ‘masterhost’
             if (!server.masterhost) {
                        ^
server.c:5117:15: error: ‘struct redisServer’ has no member named ‘maxmemory’
     if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
               ^
server.c:5117:39: error: ‘struct redisServer’ has no member named ‘maxmemory’

解决办法

# 查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5
gcc -v
# 升级gcc到5.3及以上,如下:
升级到gcc 9.3:
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
这样退出shell重新打开就是新版的gcc了
以下其他版本同理,修改devtoolset版本号即可。

Redis配置

创建一个配置目录,这里我们使用/etc/redis目录

mkdir /etc/redis

将/usr/local/redis-6.0.6内的Redis示例配置文件复制到/etc/redis

cp /usr/local/redis-6.0.6/redis.conf /etc/redis

修改/etc/redis下配置文件

vim /etc/redis/redis.conf

# 开启远程访问
# bind 127.0.0.1
protected-mode no

# 修改访问端口
port 6379

# 开启守护进程
daemonize yes

# 设置通过systemd管理Redis守护进程
supervised systemd

# 修改redis持久数据存放目录
dir /var/redis/data_6379

# 修改pid文件和日志文件存放地址
pidfile /var/redis/redis_6379.pid
logfile "/var/redis/redis_6379.log"

# 启用密码
requirepass 123456

Redis相关配置说明

添加Redis系统服务脚本

创建并打开/usr/lib/systemd/system/redis.service文件

/usr/lib/systemd/system/redis.service

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf --daemonize yes
ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
Restart=always

扩展阅读

Redis启动

设置开机启动:
systemctl enable redis

取消开机启动:

systemctl disable redis

查看开机启动状态:

systemctl is-enabled redis

启动服务:
systemctl start redis

停止服务:
systemctl stop redis

重启服务:
systemctl restart redis

查看服务状态:
systemctl status redis

重新加载某个服务的配置文件:
systemctl reload xxx.service

重载所有修改过的配置文件:
sudo systemctl daemon-reload

扩展阅读

其他常用命令

# 编译出错时,清出编译生成的文件
make distclean
# 编译安装到指定目录下
make PREFIX=/usr/local/redis install
# 卸载
make uninstall
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值