CentOS 7.5 编译安装redis集成至系统服务(包括集群环境)

本文详细介绍了如何在CentOS 7.5上编译安装Redis 5.0.3,并将其设置为系统服务。内容包括用户权限设置、服务映射、防火墙配置以及集群环境的搭建,涉及主机间通信和集群的创建、关闭等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户

需要一个有sudo权限的用户或者是root用户

#若没有可执行下面的操作
#赋予一个用户(如learn)拥有sudo权限(centos7),需要root权限
id learn #查看已加入的用户组
#下面是我的结果,还加入了nobody用户组
#uid=1000(learn) gid=1000(learn) group=1000(learn),99(nobody)

我们把它加入wheel组.为啥是这个组?因为在/etc/sudoers文件中是这样描述的

 ## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
 
## Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL
#所以执行,别忘了加上之前的已经附加的组.因为-G 参数 会替换除了gid指定的其他组.
#这里我不在需要nobody用户组了,所有不写.
usermod -G 1000,wheel learn #or usermod -G 99,wheel learn
#如果需要sudo 不要密码验证的话,请删除/etc/sudoers中 %wheel  ALL=(ALL)       NOPASSWD: ALL 列之前的#号符
#然后重启一下系统或者source /etc/sudoers

CentOS 版本

#首先你需要一个能获得sudo权限的用户或者root用户
#确认你版本不要与下面相差太大
sudo rpm -q centos-release
#centos-release-7-5.1804.el7.centos.x86_64

执行安装

#安装依赖
sudo yum install  gcc g++ gcc-c++ make
#安装redis,wget命令执行当前目录,只要拥有权限即可
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz
cd redis-5.0.3 #后续所有操作都基于此目录完成,若变换目录,请注意路径
#如果上次make失败,解决好依赖之后,先执行 make distclean 或者删除整个解压后文件再解压一次
make distclean
make #会需要一下时间,可以去喝个茶
#示例基于/opt目录进行,也可自己制定任意路径,但是需要注意权限问题.
#在/opt下创建redis软件包,
sudo mkdir -p /opt/redis/bin 
sudo mkdir -p /opt/redis/conf 
sudo mkdir -p /opt/redis/data/6379 
sudo mkdir -p /opt/redis/log
#复制可执行文件值bin目录
find ./src -perm /+x -type f | xargs sudo cp -t /opt/redis/bin

若不需要单机环境,可直接跳转至 集群搭建部分

#复制配置文件值conf目录
sudo cp redis.conf /opt/redis/conf/6379.conf
#至此已经安装完成,可以使用绝对路径命令和指定配置文件运行

修改6379.conf必要要的配置信息(主要是为配置为服务做准备,可自由发挥)

sudo vim /opt/redis/conf/6379.conf
daemonize yes
logfile /opt/redis/log/6379.log
dir /opt/redis/data/6379

添加专门用户管理(可省略,用root用户代替)

#新增redis用户及用户组,没有登录权限
sudo groupadd redis
#-c 新账户描述信息 
#-s 新账户的登录shell,只作为本地服务使用,redis用户是不需要远程登录,故使用/sbin/nologin 
#-d 新账户home目录(主目录),此处无需在/home目录下创建redis子目录,可以使用/opt/redis目录 
#-g 新账户主组的名称或ID
#-G 新账户的附加组列表,即表示此用户同时属于root用户组,(opt目录下默认需要root用户组的权限)
sudo useradd -c "Redis Server v5.0.3" -M -d /opt/redis -g redis -G root -s /sbin/nologin redis
#若用户已存在且没有其他什么作用,可以使用sudo userdel redis ; sudo rm -rf /var/spool/mail/redis,
#然后重复上述创建组合用户的操作,mail为useradd默认的创建的邮件目录
#赋予root用户组rwx权限,若是redis以root用户运行则不需要修改权限
sudo chmod -R 775 /opt/redis/data
sudo chmod -R 775 /opt/redis/log
#权限数字解释:读r为4,写w为2,执行x为1,无权限为0,所有组合:7(rwx),6(rw-),5(r-x),4(r--),3(-wx),2(-w-),1(--x),0(---)
#权限拥有者有三种,所属用户本身(所有者,可使用chown 用户名;修改),所属用户组(文件所在组,可使用chgrp 组名;修改),任何人.
#所以只有三位数,排列顺序固定,ls -l 命令只显示所属用户本身,所属用户组
#执行权限修改后如下所示
#$ ll /opt/redis
#总用量 0
#drwxr-xr-x. 2 root root 178 2月  27 15:55 bin
#drwxr-xr-x. 2 root root  23 2月  27 18:12 conf
#drwxrwxr-x. 3 root root  18 2月  27 18:13 data
#drwxrwxr-x. 2 root root  22 2月  28 09:52 log
#{chomd管辖}. 2 {chown} {chgrp}  22 2月  28 09:52 log

映射为系统服务

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

并输入以下内容

[Unit]
Description=Redis server v5.0.3  daemon
After=network.target

[Service]
Type=forking
ExecStart=/opt/redis/bin/redis-server /opt/redis/conf/6379.conf --daemonize yes 
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/opt/redis/bin/redis-cli -p 6379 shutdown
User=redis 
Group=redis
PrivateTmp=true

[Install]
WantedBy=multi-user.target

若没有创建redis相关的用户和用户组,请设置

User=root
Group=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值