最近开始研习CentOS和Redis,于是万事开头难的,从安装和配置开始了~
由于笔者喜欢使用GUI界面,所以……^_^……
下面操作中,笔者会引入如何通过GUI界面操作,进行某些步骤。
一、安装Redis
第一步,下载redis软件包
方式①: 先从Redis官网(
https://redis.io/download
)下载最新的稳定版(Stable)软件包(redis-6.2.2.tar.gz)。浏览器会默认保存在主目录下的下载目录中。
方式②:通过命令方式进行下载,可参考如下命令:
#命令格式:wget [redis下载链接]
wget http://download.redis.io/releases/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
此处需要注意
,一般CentOS8是自带的gcc命令的,但是以防万一,在执行make命令之前,请通过【gcc -v】命令检测本地是否安装,如果没有安装的话,请参考执行下面命令:
yum install -y gcc
第五步,编译成功后,即可进行安装命令如下
make install PREFIX=/usr/local/redis
此处【/usr/local/redis】目录并不是唯一一个可以安装的目录,经过笔者在网上查找资料发现,不同教程在目录设置上各有差异,所以大家不用纠结此处设置,自己觉得合适的位置即可。之后会通过配置设置开机启动项
第六步,创建 redis 命令软链接
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
此处设置很重要,通过设置软链接,才能之后在终端任意位置直接执行【redis】命令,以便进入到redis-cli界面。此处一定要设置!!!
执行到此步骤,已经完成了全部操作的三分之一,之后所要介绍的则是服务启动和开机服务设定。
二、启动服务
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
进行服务添加的方式,成功了;另一种是使用systemctl进行开机设置,虽然笔者没有成功,但是下面也会把此方法列出来,以供大家参考和讨论。相互学习~
下面为笔者成功的操作步骤:
第一步:在/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=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target