【Linux】配置服务自启动

【Linux】配置服务自启动

【1】使用场景

在 Linux 环境下,给 Redis 设置开机自启动 + 进程异常挂掉自动重启,避免服务挂掉后不方便手动重启带来的问题

【2】配置过程

(1)核心前提

(1)找到你的Redis 实际路径(替换下面命令中的路径):

redis-server 启动程序路径(如 /usr/local/redis/bin/redis-server)

redis.conf 配置文件路径(如 /usr/local/redis/conf/redis.conf)

(2)编辑 redis.conf,必须关闭后台运行(systemd 管理不允许进程后台运行):

powershell 复制代码
daemonize no  # 原为yes,改为no(关键!否则会和systemd冲突)
pidfile /var/run/redis_6379.pid  # 保持默认即可

(2)创建 Redis systemd 自启服务文件

(1)新建服务配置文件

执行命令创建 systemd 服务文件(路径固定):

powershell 复制代码
vim /etc/systemd/system/redis.service

(2)粘贴以下配置(替换路径为你自己的 Redis 路径)

powershell 复制代码
[Unit]
Description=Redis Server
After=network.target  # 依赖网络启动

[Service]
# 核心:Redis启动命令(替换为你的redis-server + redis.conf路径)
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
# Redis停止命令
ExecStop=/usr/local/redis/bin/redis-cli shutdown
# 自动重启核心配置(挂了就重启)
Restart=always        # 无论何种原因挂掉,都自动重启
RestartSec=2          # 挂掉后2秒重启
User=root             # 启动用户(可改为redis专用用户)
LimitNOFILE=65536     # 最大文件句柄(解决Redis连接限制)

[Install]
WantedBy=multi-user.target  # 开机启动级别

✅ 关键参数解释:

Restart=always:进程崩溃、被 kill、异常退出,都会自动重启;

RestartSec=2:避免频繁重启,间隔 2 秒再拉起;

daemonize no:systemd 托管服务必须前台运行。

(3)启用自启动 + 自动重启(3 条命令)

(1)重载 systemd 配置(让系统识别新服务)

powershell 复制代码
systemctl daemon-reload

(2)设置开机自动启动

powershell 复制代码
systemctl enable redis

输出 Created symlink ... 表示自启设置成功。

(3)启动 Redis 服务

powershell 复制代码
systemctl start redis

(4)验证是否生效(必做)

(1)查看服务状态

powershell 复制代码
systemctl status redis

✅ 正常状态:active (running) + enabled(开机自启)。

(2)测试「挂掉自动重启」

手动 kill 掉 Redis 进程,测试是否自动拉起:

powershell 复制代码
# 找到Redis进程ID
ps -ef | grep redis-server
# 强制kill进程
kill -9 【Redis进程ID】
# 再次查看进程,会发现Redis自动重启了(PID变了)
ps -ef | grep redis-server

(3)测试「开机自启」

重启服务器验证:

powershell 复制代码
reboot
# 重启后执行,查看Redis是否自动启动
systemctl status redis

(5)常用命令

powershell 复制代码
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
# 取消开机自启
systemctl disable redis

【3】案例

相关推荐
TechPioneer_lp5 分钟前
30 岁硕士 Linux C 开发背景,未来想去澳洲就业,研究方向该选 AI、SDN 漏洞还是 Linux 内核?
linux·人工智能·职业规划·澳洲求职
一楼的猫29 分钟前
从工具链视角对比:番茄作家助手 vs 第三方写作辅助方案
java·服务器·开发语言·前端·学习·chatgpt·ai写作
武子康1 小时前
调查研究-138 全球机器人产业深度调研报告【01 篇】:市场规模、竞争格局与商业化成熟 2026
服务器·数据库·ai·chatgpt·机器人·具身智能
_kerneler1 小时前
[qemu+kvm]: trap 寄存器脱敏优化方法
linux
猫猫的小茶馆1 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
xhbh6661 小时前
代理ARP (Proxy ARP) 是如何实现跨网段通信的?在Linux下如何配置?
服务器·网络·智能路由器·端口映射·映射
神奇椰子2 小时前
[特殊字符] 服务器搭建网站完整教程
运维·服务器
慧都小妮子3 小时前
告别看图抓数据:DeviceXPlorer OPC Server 助力数据自动化管理
运维·物联网·自动化·takebishi·dxpserver·opc server
Wpa.wk3 小时前
APP自动化-Appium环境安装
运维·appium·自动化
快乐的哈士奇3 小时前
LangFuse 自托管实战:选型理由、Docker 部署与常用配置全解析
运维·人工智能·docker·容器