centos服务启动项如何管理
导读:CentOS 服务启动项管理指南 一、Systemd 管理服务 CentOS 7 及以上 常用操作 启动/停止/重启/热重载:systemctl start|stop|restart|reload <服务名> 查看状态:sy...
CentOS 服务启动项管理指南
一、Systemd 管理服务 CentOS 7 及以上
- 常用操作
- 启动/停止/重启/热重载:systemctl start|stop|restart|reload < 服务名>
- 查看状态:systemctl status < 服务名>
- 开机自启/取消自启:systemctl enable|disable < 服务名>
- 彻底屏蔽/解除屏蔽(比 disable 更强):systemctl mask|unmask < 服务名>
- 查看与筛选
- 列出所有服务单元及启用状态:systemctl list-unit-files --type=service
- 只看已启用:systemctl list-unit-files --type=service | grep enabled
- 只看运行中:systemctl list-units --type=service --state=running
- 典型示例
- 让 nginx 开机自启并立即启动:
sudo systemctl enable --now nginx - 临时关闭并禁止开机自启:
sudo systemctl disable --now firewalld
- 让 nginx 开机自启并立即启动:
- 提示
- enable 仅配置开机自启,不会立即启动;需要启动请配合 start 或使用 –now。
- 排查问题优先用 status 查看是否 active、是否 enabled、以及最近的日志片段。
二、SysV 与 CentOS 6 的兼容方式
- 服务控制:service < 服务名> start|stop|restart|status
- 开机自启:chkconfig < 服务名> on|off
- 查询与列表:chkconfig --list [< 服务名> ]
- 添加/删除 SysV 脚本到管理:chkconfig --add < 服务名> 、chkconfig --del < 服务名>
- 适用说明:以上适用于 CentOS 6 及仍保留 /etc/init.d/ SysV 脚本的环境;新系统建议使用 systemctl。
三、自定义服务与开机执行
- 自定义 Systemd 服务
- 单元文件路径:系统默认 /usr/lib/systemd/system/,自定义或覆盖建议放在 /etc/systemd/system/(优先级更高)。
- 最小可用模板(保存为 /etc/systemd/system/myapp.service):
[Unit] Description=My Application After=network.target [Service] Type=simple ExecStart=/usr/bin/python3 /opt/myapp/app.py Restart=on-failure [Install] WantedBy=multi-user.target - 使配置生效并启用:
sudo systemctl daemon-reload
sudo systemctl enable --now myapp.service
- 使用 rc.local 执行简单命令(不推荐用于关键服务)
- 编辑:sudo vi /etc/rc.d/rc.local
- 在文件末尾添加命令,例如:/opt/scripts/start.sh &
- 赋权:sudo chmod +x /etc/rc.d/rc.local
- 注意:并行启动可能导致执行顺序不可控,生产环境优先使用 systemd 单元。
四、常用排查与维护命令
- 查看失败单元并重置失败状态:systemctl --failed,必要时 systemctl reset-failed < 服务名>
- 重新加载单元文件(新增/修改/删除 .service 后):systemctl daemon-reload
- 分析启动性能:systemd-analyze;查看各服务耗时:systemd-analyze blame | grep .service
- 查看默认启动目标:systemctl get-default
- 服务单元文件位置与生效顺序:默认 /usr/lib/systemd/system/,自定义 /etc/systemd/system/(覆盖同名单元)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos服务启动项如何管理
本文地址: https://pptw.com/jishu/747949.html
