您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

【操作笔记】CentOS8 安装Redis 6.2.2 及开机自启动设置

【操作笔记】CentOS8 安装Redis 6.2.2 及开机自启动设置

最近开始研习CentOS和Redis,于是万事开头难的,从安装和配置开始了~

一、安装Redis

由于笔者喜欢使用GUI界面,所以……^_^

第一步,先从Redis官网(https://redis.io/download)下载最新的稳定版(Stable)软件包(redis-6.2.2.tar.gz)。浏览器会默认保存在主目录下的下载目录中。

第二步,在主目录下创建一个目录(~/myFiles/software/)用于存放下载下来的软件包(redis-6.2.2.tar.gz)

第三步,开始按照网上找到的教程进行解压,使用tar命令 

#进入到放软件包的目录
cd ~/myFiles/software

#解压 软件包
tar -zfvx redis-6.2.2.tar.gz

第四步,解压完成后,~/myFiles/software/目录下会出现一个解压后的文件夹 redis-6.2.2,通过命令行,进入到解压目录,并进行编译处理

#进入解压包目录
cd redis-6.2.2

#编译
make

第五步,编译成功后,即可进行安装命令如下

make install PREFIX=/usr/local/redis

此处【/usr/local/redis】目录并不是唯一一个可以安装的目录,经过笔者在网上查找资料发现,不同教程在目录设置上各有差异,所以大家不用纠结此处设置,自己觉得合适的位置即可。之后会通过配置设置开机启动项

第六步,创建 redis 命令软链接

 ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis

执行到此步骤,已经完成了全部操作的三分之一,之后所要介绍的则是服务启动和开机服务设定。

二、启动服务

redis安装完成以后,会在安装目录下出现bin文件夹,里面保存了redis-server 文件,是用于启动redis服务的。

启动方式有两种:

① 通过cd命令,进入到安装目录bin文件夹下,执行redis-server程序,命令如下:

#进入安装目录
cd /usr/local/redis/bin/
#启动程序
./redis-server

②通过redis.conf设定,传给 redis-server作为参数进行服务启动,命令如下:

#将安装源下的redis.conf文件拷贝至安装目录下
cp ~/myFiles/software/redis-5.0.3/redis.conf /usr/local/redis/bin/
#修改/usr/local/redis/bin目录下的redis.conf,将daemonize no 改为 daemonize yes
vi redis.conf
#启动服务
./redis-server redis.conf

redis.conf可以使用文本编辑器进行修改,通过查找(Ctrl+F)功能,定位要修改的位置,然后保存,既方便又快捷。

三、设置开机启动Redis服务

此处有些复杂,笔者尝试了两种设置,只有一种设置成功了,即通过chkconfig进行服务添加的方式,成功了。

下面为操作步骤:

第一步:在/etc/init.d/目录下创建redis文件,并编辑

vi /etc/init.d/redis

然后将下面内容粘贴至redis文件中,然后保存退出(即点击ESC,输入:wq,按回车,即可)。如果觉得此方法不习惯,可以在目录下直接手动创建redis文件,然后使用Linux自带的文本编辑器 进行编辑操作。

# chkconfig: 2345 10 90  
# description: Start and Stop redis   
  
PATH=/usr/local/bin:/sbin:/usr/bin:/bin   #找到本机安装redis后,存放redis命令的目录  
REDISPORT=6379                            #redis的默认端口, 要和下文中的redis.conf中一致
EXEC=/usr/local/redis/bin/redis-server           #redis服务端的命令
REDIS_CLI=/usr/local/redis/bin/redis-cli         #redis客户端的命令  这两个一般都在 PATH目录下
PIDFILE=/var/run/redis.pid                #reids的进程文件生成的位置
CONF="/usr/local/redis/bin/redis.conf"           #redis的配置文件所在的目录 
#AUTH="1234"  这句没什么用可以不要  
 
case "$1" in   
        start)   
                if [ -f $PIDFILE ]   
                then   
                        echo "$PIDFILE exists, process is already running or crashed."  
                else  
                        echo "Starting Redis server..."  
                        $EXEC $CONF   
                fi   
                if [ "$?"="0" ]   
                then   
                        echo "Redis is running..."  
                fi   
                ;;   
        stop)   
                if [ ! -f $PIDFILE ]   
                then   
                        echo "$PIDFILE exists, process is not running."  
                else  
                        PID=$(cat $PIDFILE)   
                        echo "Stopping..."  
                       $REDIS_CLI -p $REDISPORT  SHUTDOWN    
                        sleep 2  
                       while [ -x $PIDFILE ]   
                       do  
                                echo "Waiting for Redis to shutdown..."  
                               sleep 1  
                        done   
                        echo "Redis stopped"  
                fi   
                ;;   
        restart|force-reload)   
                ${0} stop   
                ${0} start   
                ;;   
        *)   
               echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
                exit 1  
esac

第二步,为redis文件设置权限,命令如下

chmod 755 /etc/init.d/redis

第三步,设置开机自启动,命令如下

#添加shell脚本到服务列表
chkconfig --add /etc/init.d/redis
#设置开机自启动
chkconfig redis on

第四步,启动测试服务

/etc/init.d/redis start

启动成功后会有Running的提示语,代表服务启动顺利。

第五步,启动成功后,可以重启机器,之后在命令终端输入redis命令,看是否能顺利进入redis-cli命令界面。

以上为笔者在经过多方资料查找和尝试后,开机启动成功的的方法。


以下为失败案例,仅供讨论和参考。

网上还提供了另一版解决方案是通过systemctl来进行配置的,但是目前为止,笔者并没有成功,以下为解决方案二,仅供参考

 vi /etc/systemd/system/redis.service

systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service

 /etc/systemd/system/redis.service的内容如下:

[Unit]
Description=redis-serverAfter=network.target

[Service]
Type=forkingExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进