[toc]
一、redis的安装
1.下载
官网找到下载地址 redis官网
到xshell控制台黏贴 wget http://download.redis.io/releases/redis-6.0.8.tar.gz
2.解压
tar -xzvf redis-6.0.8.tar.gz #解压
mv redis-6.0.8 /usr/local/redis #移动
3.编译
cd /usr/local/redis
make
若编译出错,可能gcc版本太多,官网查看此版本需要gcc>5.3
gcc升级到gcc 9.3
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#下面 scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本
scl enable devtoolset-9 bash
#要长期使用gcc 9.3的话
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
4.安装
make PREFIX=/usr/local/redis install
上述指令PREFIX 指定了redis必须存放在/usr/local/redis目录
若make install不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录,其他的资源文件会存放在usr/local/share目录。
这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。
二、redis三种启动方式说明
(一)直接启动
进入redis根目录,执行命令:
nohup redis-server & #加上‘&’号使redis以后台程序方式运行
nohup和&说明
- nohup
- 用途:不挂断地运行命令
- 语法:nohup Command [ Arg … ] [ & ]
- &
- 用途:在后台运行
(二)通过指定配置文件启动
可以为redis服务启动指定配置文件,例如配置为/usr/local/redis/redis.conf
进入redis根目录,输入命令:
cd /usr/local/redis/bin
./redis-server /usr/local/redis/redis.conf
说明:后续如果更改了端口,使用“redis-cli”客户端连接时,也需要指定端口,例如:
redis-cli -p 6380
(三)使用redis启动脚本设置开机自启动
1.linux自启动文件说明
1. 自启动相关文件或文件夹
- /etc/init.d/
- /etc/rc.d/init.d/
- /etc/rc.d/
- /etc/rc.local
2. /etc/init.d 的简单介绍
- 系统初始化以及用户登录系统过程,会调用/ect/init.d目录下的脚本
- init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本。
- 用service命令可执行init.d目录中相应服务的脚本。例如 执行命令“service resin start”,可启动/etc/init.d/resin脚本。
- /etc/init.d是指向/etc/rc.d/init.d的软连接。
3. /etc/rc.d 的简单介绍
- linux以rpm包安装时设定的一些服务的启动脚本
4. /etc/rc.d/init.d 的简单介绍
- /etc/rc.d/init.d 目录下的脚本就类似与windows中的注册表,在系统启动的时候执行
5. /etc/rc.local 的简单介绍
- /etc/rc.local是/etc/rc.d/rc.local的软连接
- /etc/rc.d/rc.local 用于添加开机启动命令
redhat的启动方式和执行次序是:
- 加载内核
- 执行init程序
- /etc/rc.d/rc.sysinit # 由init执行的第一个脚本
- /etc/rc.d/rc
RUNLEVEL为缺省的运行模式
- /etc/rc.d/rc.local
- /sbin/mingetty # 等待用户登录
2. redis开机自启动设置方式一:修改/etc/rc.local内容
- (1)移动配置文件
cd /usr/local/redis
mkdir etc
mv redis.conf /usr/local/redis/etc
- (2)设置redis为后台启动 (和带&后台启动进程方式启动效果一样)
vim /usr/local/redis/etc/redis.conf #将daemonize on 改成daemonize yes
- (3)将redis加入到开机自启动
vim /etc/rc.local
#在里面添加下面内容:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf #意思是开机调用开启redis的命令
- (4)开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
- 将redis-cli,redis-server拷贝到/usr/local/bin目录下(或者建立软连接),让redis-cli指令可以在任意目录下直接使用
#拷贝
cp /usr/local/redis/bin/redis-server /usr/local/bin
cp /usr/local/redis/bin/redis-cli /usr/local/bin
#建立软连接 ln -s 源文件 目标文件
ln -s /usr/local/redis/bin/redis-server /usr/local/bin/redis-server
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli
3. redis开机自启动设置方式二:将redis启动脚本复制到/etc/init.d目录下
redis的启动脚本 redis_init_script 位于位于Redis的 /utils/ 目录下。其内容如下:
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
# redis服务器监听的端口
REDISPORT=6379
# 服务端所处位置
EXEC=/usr/local/bin/redis-server
# 客户端位置
CLIEXEC=/usr/local/bin/redis-cli
# redis的PID文件位置,需要修改
PIDFILE=/var/run/redis_${REDISPORT}.pid
# redis的配置文件位置,需将${REDISPORT}修改为文件名
CONF="/etc/redis/${REDISPORT}.conf"
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
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
- (1)移动redis配置文件
cd /usr/local/redis
mkdir etc
mv redis.conf /usr/local/redis/etc
- (2)设置redis为后台启动 (和带&后台启动进程方式启动效果一样)
vim /usr/local/redis/etc/redis.conf #将daemonize on 改成daemonize yes
- (3)移动redis自启动脚本到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd
- (4) 设置为开机自启动,直接配置开启自启动 chkconfig redisd on 发现错误: service redisd does not support chkconfig 的报错,解决办法如下
vim /etc/init.d/redisd
#在启动脚本开头添加如下注释
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
再设置即可:
#设置为开机自启动服务器
chkconfig redisd on
#打开服务
service redisd start
#关闭服务
service redisd stop
三、redis的配置
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
daemonize | yes, no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
四、常用命令
1.启动redis
- 采用查看进程方式
ps -aux | grep redis
- 采用端口监听查看方式
netstat -lanp | grep 6379
2.查看redis是否正在运行
- 采用查看进程方式
ps -aux | grep redis
- 采用端口监听查看方式
netstat -lanp | grep 6379