本文用Centos7作为redis的安装环境进行讲解。
1. 检查是否安装了wget
rpm -qa|grep "wget"
2. 如果没有安装wget,执行以下命令
yum install -y wget
3. 下载redis安装包
3.1 进入redis的下载目录
cd /usr/local/src
3.2 执行以下命令
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
可以根据个人需求选择对应的redis的安装版本,参考链接:https://redis.io/download
4. 下载完成后,在/usr/local/src目录下,有个redis-6.2.5.tar.gz文件,解压此文件
tar -zxvf redis-6.2.5.tar.gz
5. 检查是否安装了gcc-c++
gcc -v
6. 如果没有安装gcc-c++,执行以下命令
yum install -y gcc-c++ autoconf automake
用gcc -v命令查看安装后的gcc-c++的版本
7. 如果是Centos7或以下的版本,在编译redis之前,需要升级gcc的版本,否则会编译出错。依次执行以下三个命令
#安装scl源
yum install -y centos-release-scl scl-utils-build
#安装9版本的gcc工具链
yum install -y devtoolset-9-toolchain
#临时覆盖系统原有的gcc引用,使用新的9版本
scl enable devtoolset-9 bash
用gcc-v命令查看当前gcc版本已经升级到9.3.1版本
8. 进入redis解压后的目录并进行编译
cd redis-6.2.5
make
9. 创建一个新目录,然后把编译好的redis装入此目录
mkdir -p /usr/local/redis
make PREFIX=/usr/local/redis/ install
10. 进入/usr/local/redis/bin目录,启动redis
cd /usr/local/redis/bin
#启动redis服务(前台启动)
./redis.server
启动界面如下
11 以守护线程的形式启动redis
上一步启动redis后,我们无法在当前窗口执行其他命令。因此,在这里介绍另一种启动redis的方式:守护线程形式
11.1 ctrl+c退出当前启动状态
11.2 进入/usr/local/src/redis-6.2.5目录,把里面的redis.conf拷贝到/usr/local/redis/bin目录
cd /usr/local/src/redis-6.2.5
cp redis.conf /usr/local/redis/bin/
11.3 进入/usr/local/redis/bin目录,修改redis.conf文件,把daemonize改成yes
cd /usr/local/redis/bin
vim redis.conf
11.4 在/usr/local/redis/bin目录下启动redis
./redis-server ./redis.conf
11.5 通过ps -ef | grep redis命令查询redis进程
12. 把redis添加到系统服务里
12.1 在系统服务目录里创建redis.service文件
vim /etc/systemd/system/redis.service
写入以下内容:
[Unit]
Description=redis-server
After=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
12.2 重载系统服务
systemctl daemon-reload
12.3 系统服务下redis的启动、停止、状态查看、重启
#启动redis-server
systemctl start redis.service
#关闭redis-server
systemctl stop redis.service
#查看redis-server状态
systemctl status redis.service
#重启redis-server
systemctl restart redis.service
可以通过以上命令测试一下redis服务,通过ps -ef | grep redis命令查询redis进程
12.4 将redis服务加入Linux开机自启
systemctl enable redis.service
执行成功提示
注意:当执行systemctl enable redis.service命令时,界面有可能会提示【Failed to execute operation: Invalid argument】错误信息,这有可能是因为在12.1中往redis.service拷贝内容时,源文件的编码存在问题,不是utf-8,所以拷贝之前需要把源文本文件的编码格式改成utf-8。