Linux设置服务自启_开机启动配置方法

5次阅读

linux服务开机自启由systemd统一管理,启用用systemctl enable(可加–now立即启动),禁用用disable,状态通过is-enabled/is-active查看,自定义服务需先创建unit文件并daemon-reload。

Linux设置服务自启_开机启动配置方法

Linux服务开机自启主要通过systemd管理,不同发行版操作一致,关键是掌握启用、禁用、状态查看和手动触发的命令逻辑。

启用服务开机自启

使用systemctl enable命令将服务写入启动目标(如multi-user.target),系统下次启动时自动拉起该服务。

  • 启用并立即启动:sudo systemctl enable –now nginx
  • 仅启用(不立即启动):sudo systemctl enable sshd
  • 启用时指定启动级别(如图形界面):sudo systemctl enable –now myapp.service –now –no-block(一般无需指定,默认适配)

禁用或取消自启

禁用不会停止正在运行的服务,只移除开机触发链接。

  • 禁用自启:sudo systemctl disable docker
  • 禁用并立即停止:sudo systemctl disable –now chrony

验证是否生效

启用/禁用后建议检查状态,确认服务单元文件存在且链接已创建。

  • 查看服务当前启用状态:systemctl is-enabled nginx(返回enabled/disabled)
  • 查看是否正在运行:systemctl is-active nginx(返回active/inactive)
  • 列出所有已启用的服务:systemctl list-unit-files –type=service | grep enabled

自定义服务需先确保单元文件就位

若服务无预置unit文件(如自己写的脚本),需先创建/etc/systemd/system/myscript.service,再执行enable。

  • 最小可用模板示例:
  • [Unit]
     Description=My Custom Script
     After=network.target

    [Service]
     Type=simple
     ExecStart=/opt/bin/myscript.sh
     Restart=on-failure

    [Install]
     WantedBy=multi-user.target

  • 保存后重载配置:sudo systemctl daemon-reload
  • 再执行sudo systemctl enable myscript
text=ZqhQzanResources