在Linux系统中,通过systemd管理Redis服务时,可参考以下redis.service文件编写示例,具体路径通常为/etc/systemd/system/redis.service或/usr/lib/systemd/system/redis.service:
ini
[Unit]
Description=Redis In-Memory Data Store
Documentation=https://redis.io/documentation
After=network.target
Wants=network.target
[Service]
Type=notify
ExecStart=/usr/local/bin/redis-server /path/to/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
RestartSec=5
User=redis
Group=redis
WorkingDirectory=/path/to/redis/data
LimitNOFILE=65536
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
关键配置说明:
-
[Unit] 部分
Description:服务描述信息。After和Wants:确保网络就绪后启动Redis服务。
-
[Service] 部分
Type=notify:适用于支持sd_notify机制的程序,确保服务启动完成后再标记为就绪。ExecStart:指定Redis服务器启动命令及配置文件路径。ExecStop:定义停止服务的命令,通过redis-cli发送关闭指令。Restart和RestartSec:设置重启策略,异常退出后5秒自动重启。User和Group:指定运行服务的用户和组,建议非root用户以提高安全性。WorkingDirectory:设置工作目录,通常为Redis数据目录。LimitNOFILE:增加文件描述符限制,适应高并发场景。StandardOutput和StandardError:将日志输出到系统日志(journald)。
注意事项:
- 确保
redis.conf中配置daemonize no,让systemd管理进程生命周期。 - 根据实际安装路径调整
ExecStart和ExecStop中的命令路径。 - 若使用自定义用户和组,需提前创建并设置相应权限。
浙公网安备 33010602011771号