centos7.X搭建redis服务

环境准备

  1. CentOS Linux release 7.X
  2. redis-3.2.1.tar.gz(由于当时项目用了3.2.1,本文章先用3.2.1作为演示例子,经本人验证,6.2.5版本同样适用以下安装过程)
    redis-6.2.5.tar.gz

安装过程

安装redis的方式有很多种,官方推荐有三种方式安装(源码包、docker、云服务安装)

https://redis.io/download

而我们这一次将以源码包的方式进行安装。

1、下载源码包(下载目录根据自己服务器的用户文件夹而定)

cd /home/firefly
wget https://download.redis.io/releases/redis-3.2.1.tar.gz

这个时候,我们在/home/firefly/的目录下就有了redis-3.2.1.tar.gz。

2、解压文件夹,编译安装。

tar -zxvf redis-3.2.1.tar.gz
cd redis-3.2.1
make

问题一:这个时候,安装服务器出现了以下安装错误信息。(如果没有报错,可以忽略问题一)
在这里插入图片描述
出现以上问题的原因是系统没有安装gcc编译器所以需要安装,可以使用yum源进行安装;

yum -y install gcc+ gcc-c++

这个时候,我们重新执行make命令,紧接着,我们在安装过程中,遇到问题二,出现以下安装错误信息:jemalloc/jemalloc.h: no such file or directory
在这里插入图片描述
这个问题的正确解决方案是:

make distclean && make

   导致这个问题的原因是,我们在开始执行make 时遇到了错误(大部分是由于gcc未安装),然后我们安装好了gcc 后,我们再执行make ,这时就出现了jemalloc/jemalloc.h: No such file or directory。这是因为上次的编译失败,有残留的文件,我们需要清理下,然后重新编译就可以了。

当我们看到以下截图,说明make成功了!
在这里插入图片描述
紧接着我们再执行:

cd src
make install PREFIX=/usr/local/redis

这个时候,redis安装成功了,这个时候你可以看到/usr/local/redis的下面有一个bin目录。
在这里插入图片描述

移动配置文件到安装目录下

mkdir /usr/local/redis/etc
cp /home/firefly/redis-3.2.1/redis.conf /usr/local/redis/etc/

修改redis.conf

vi /usr/local/redis/etc/redis.conf

这个时候我们要做以下几件事情:
1、设置redis为后台启动。
daemonize no 改成daemonize yes
在这里插入图片描述
2、设置Redis连接密码
将requirepass foobared的foobared改成自己设置的密码,并且去掉#号放开注释。
在这里插入图片描述
3、允许远程访问设置。(如果redis应用跟WEB应用在同一个机器,则不需要远程设置,保留原来的127.0.0.1即可)
将protected-mode由yes改成no
bind 127.0.0.1 这一行给注释掉,加上一行:bind 0.0.0.0
在这里插入图片描述
在这里插入图片描述

启动redis

我们cd /usr/local/redis/bin目录下,启动redis服务。

./redis-server ../etc/redis.conf

测试redis

我们cd /usr/local/redis/bin目录下,

./redis-cli
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这个时候,redis测试成功!

远程访问redis

这个时候,我开启了另一台服务器192.168.138.119。与此同时,我们需要在防火墙配置对192.168.138.119的IP地址开放6379端口的放通。

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.138.119" port protocol="tcp" port="8443" accept"
systemctl restart firewalld.service

在这里插入图片描述

redis设置成服务,并且开机启动

一、如果要将redis设置成服务,则需要做以下几件事情。
1、将redis.conf的daemonize改成no。(因为我们目前要求system作为一个daemon去启动redis,所以redis必须设置为不在后台启动,而让system去启动redis)
什么是守护进程?守护进程是创建一个进程,然后再把程序放在这个进程的子进程下运行,最后再退出这个进程,那么这样子,这个子进程就在后台运行了。
2、移动到/etc/systemd/system,编辑redis-server.service服务脚本。

[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID

[Install]
WantedBy=multi-user.target

3、执行以下三条命令。

#因为我们添加了新的配置文件redis-server.service,所以要执行这个命令,重启服务,重新刷新服务列表。
systemctl daemon-reload
#将服务立即启动,下次不启动
systemctl start redis-server.service
#每次重启服务器会自启动
systemctl enable redis-server.service

4、我们现在测试redis服务到底有没有归system守护进程启动和重启服务器后的自启动情况。
在这里插入图片描述
在这里插入图片描述

注意事项

1、注意自己安装所在的linux服务器上有没有安装好gcc环境。
在这里插入图片描述

最后感言

   勉励自己,告诉自己,并不是因为看到希望才坚持,而是坚持了才有机会看到希望。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值