Redis安装部署

483 阅读2分钟

环境

  • 系统:debian12
  • IP:172.16.183.134

安装部署

创建目录

# 创建目录
root@node1:~# mkdir /data/soft -p
root@node1:~# cd /data/soft/
root@node1:/data/soft# ls
root@node1:/data/soft#

下载redis

root@node1:/data/soft# wget https://download.redis.io/releases/redis-6.2.13.tar.gz

解压redis

root@node1:/data/soft# tar -xf redis-6.2.13.tar.gz -C /opt

创建软连接

root@node1:/data/soft# cd /opt/
root@node1:/opt# ls
redis-6.2.13
root@node1:/opt# ln -s redis-6.2.13/ redis
root@node1:/opt# ls -al
total 12
drwxr-xr-x  3 root root 4096 Jul 22 15:56 .
drwxr-xr-x 19 root root 4096 Jul 22 15:45 ..
lrwxrwxrwx  1 root root   13 Jul 22 15:56 redis -> redis-6.2.13/
drwxrwxr-x  7 root root 4096 Jul 10 19:37 redis-6.2.13

编译安装

# 因为后面要配置systemd管理redis,所以编译时候要用上下面的开发包
root@node1:/opt/redis# apt-get install libsystemd-dev

root@node1:/opt/redis# make USE_SYSTEMD=yes
root@node1:/opt/redis# make install

编写配置文件

在redis的源码包里面有个非常全的配置文件

root@node1:~# ls /opt/redis/redis.conf 
/opt/redis/redis.conf

创建所需目录

# 创建目录
root@node1:/opt/redis# mkdir -p /opt/redis_6379/{conf,logs,pid}
root@node1:/opt/redis# mkdir -p /data/redis_6379

编辑配置文件

root@node1:~# vim /opt/redis_6379/conf/redis_6379.conf
root@node1:~# cat > /opt/redis_6379/conf/redis_6379.conf << EOF
# 后台启动
daemonize yes
bind 127.0.0.1 172.16.183.134
port 6379
pidfile /opt/redis_6379/pid/redis_6379.pid
logfile /opt/redis_6379/logs/redis_6379.log
dir /data/redis_6379
EOF

启动redis

root@node1:~# redis-server /opt/redis_6379/conf/redis_6379.conf

查看端口

root@node1:~# ss -tunlp | grep redis
tcp   LISTEN 0      511    172.16.183.134:6379      0.0.0.0:*    users:(("redis-server",pid=5841,fd=7))
tcp   LISTEN 0      511         127.0.0.1:6379      0.0.0.0:*    users:(("redis-server",pid=5841,fd=6))

关闭redis

方法一

# 从客户端进入,执行shutdown

root@node1:~# redis-cli 
127.0.0.1:6379> shutdown

方法二

# 客户端命令执行shutdown

root@node1:~# redis-cli shutdown

方法三

使用kill,pkill

配置systemd启动redis

创建普通用户

root@node1:~# useradd -s /usr/sbin/nologin -M redis

# 创建日志文件并修改权限
root@node1:~# touch /opt/redis_6379/logs/redis_6379.log
root@node1:~# chown -R redis:redis /opt/redis_6379
root@node1:~#  chown -R redis:redis /data/redis_6379

修改配置文件

root@node1:~# cat > /opt/redis_6379/conf/redis_6379.conf << EOF
# 因为要systemd管理redis,所以要配置daemonize为no,同时添加supervised systemd
daemonize no 
supervised systemd   
bind 127.0.0.1 172.16.183.134
port 6379
pidfile /opt/redis_6379/pid/redis_6379.pid
logfile /opt/redis_6379/logs/redis_6379.log
dir /data/redis_6379
EOF

创建systemd文件

root@node1:~# cat > /etc/systemd/system/redis.service << EOF
[Unit]
Description=Redis persistent key-value database
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/bin/redis-server /opt/redis_6379/conf/redis_6379.conf --supervised systemd
ExecStop=/usr/local/bin/redis-cli shutdown
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
EOF

daemon-reoald

root@node1:~# systemctl daemon-reload