首页主机资讯centos服务启动项如何管理

centos服务启动项如何管理

时间2025-11-14 13:08:03发布访客分类主机资讯浏览350
导读: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
  • 提示
    • 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
centos备份文件如何清理 如何管理centos用户账户

游客 回复需填写必要信息