一、注册redis.service服务
1. 配置服务
vim /etc/systemd/system/redis.service
添加如下内容
[Unit]
Description = Redis Server
After = network.target
[Service]
ExecStart = /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecStop = /usr/local/redis/bin/redis-cli -p 6379 shutdown
Restart = always
Type=forking
[Install]
WantedBy = multi-user.target
解释如下
**[Unit] **
定义了服务的描述信息以及服务启动前的依赖关系。在这里,描述为 "Redis Server",并且指定了网络服务必须已经启动(After = network.target)。
**[Service] **
包含了服务的具体执行命令以及服务的行为配置。
ExecStart:指向Redis服务器的可执行文件并附带配置文件及参数,如 --daemonize no 表示Redis服务器以非守护进程模式运行。
ExecStop:定义了redis服务停止命令。/usr/local/redis/bin/redis-cli 是 redis-cli 工具的完整路径,它是 Redis 命令行界面客户端,用于与 Redis 服务器进行交互。-p 6379: 这是 redis-cli 的端口参数,指定了 Redis 服务器监听的端口号。默认情况下,Redis 使用 6379 端口。shutdown是发送给 Redis 服务器的命令,指示服务器执行一个优雅的关闭序列,即在停止服务前,它会确保所有已打开的连接都已完成当前操作,并且所有的数据都被同步到磁盘上。
Restart :配置为 always,意味着在服务异常退出时总是尝试重启服务。
**[Install] **
指明了当前服务被启用安装到哪个目标上。 multi-user.target,意味着当系统进入多用户模式时,该服务将被启动。
2. 服务相关命令
刷新服务
systemctl daemon-reload
启动服务
systemctl start redis.service
开机自启动
systemctl enable redis.service
停止服务
systemctl stop redis.service
查询服务状态
systemctl status redis.service
服务启动遇到Active: failed (Result: start-limit) since Tue 2026-01-06 15:39:55 CST; 1s ago问题

通过查看redis.log日志文件,提示Could not create server TCP listening socket 127.0.0.1:6379: bind: Address already in use

由于在注册服务前,已经通过./redis-server /usr/local/redis/redis.conf命令启动了服务,所以进入redis-cli命令终端用shutdown命令终止服务,即可以redis服务形式重新启动

浙公网安备 33010602011771号