ubuntu 20.04编译并配置redis

我的系统环境是 Ubuntu 20.04,并且已经安装好了GCC

下载

$ wget -c https://download.redis.io/releases/redis-6.2.5.tar.gz 
$ tar -zxf redis-6.2.5.tar.gz
$ cd redis-6.2.5

编译

直接在 redis-6.2.5 这个目录下make就可以了

$ make -j6

拷贝

编译完成后 src 目录下会出现 一些可执行文件,拷贝到 /usr/local/bin

$ sudo cp src/redis-server /usr/local/bin/
$ sudo cp src/redis-cli /usr/local/bin/ 

或者不通过拷贝的方式,我们也可以执行下面的命令达到一样的效果。

$ sudo make install

Redis 配置

$ sudo mkdir /etc/redis
$ sudo cp -p redis.conf /etc/redis

现在来修改配置文件

$ sudo vi /etc/redis/redis.conf
supervised systemd # 把 supervised auto 改为 supervised systemd
dir /home/byhi/Public/Data/redis # 原配置里写的是 dir . 改为你想存储持久化数据的目录

编写基于systemd的系统服务启动文件

$ sudo vi /etc/systemd/system/redis.service

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

创建redis用户,组,及持久化目录

$ sudo adduser --system --group --no-create-home redis
$ mkdir -p /home/byhi/Public/Data/redis
$ sudo chown redis:redis /home/byhi/Public/Data/redis
$ sudo chmod 770 /home/byhi/Public/Data/redis 

启动,测试

$ sudo systemctl start redis
$ sudo systemctl status redis
● redis.service - Redis In-Memory Data Store
     Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-08-12 20:31:39 CST; 3s ago
   Main PID: 704472 (redis-server)
      Tasks: 5 (limit: 77029)
     Memory: 2.1M
     CGroup: /system.slice/redis.service
             └─704472 /usr/local/bin/redis-server 127.0.0.1:6379

为了测试 redis 服务的实例是否正常启动,可使用 redis-cli连接 redis-server

$ redis-cli
127.0.0.1:6379> PING
PONG
127.0.0.1:6379> set test "hello"
OK
127.0.0.1:6379> get test
"hello"
127.0.0.1:6379>