linux开机自启服务主要通过systemd的systemctl enable实现,需先确认服务正常运行并配置好unit文件;启用后系统启动时自动拉起,可用--now参数同时启用并启动,disable可撤销自启设置。

Linux 设置开机自启动服务,核心是让系统在启动时自动运行指定程序或脚本。不同发行版机制略有差异,但主流已统一使用 systemd,因此重点围绕 systemctl 操作展开。
确认服务已安装并可手动运行
在设为自启前,先确保服务能正常工作:
- 检查服务文件是否存在(通常在
/usr/lib/systemd/system/或/etc/systemd/system/) - 手动启动测试:
sudo systemctl start 服务名 - 查看状态:
sudo systemctl status 服务名,确认显示active (running) - 若服务是自定义脚本,需先写好 systemd unit 文件(如
/etc/systemd/system/myapp.service),包含[Unit]、[Service]、[Install]三段
启用开机自启动(systemd 标准方式)
启用即注册到启动目标(通常是 multi-user.target),系统启动时自动拉起:
发卡宝是一个专业的软件卡密等虚拟商品在线交易平台,拥有多种兑换方式,费率低,结算快,正规企业平台一直稳定运营,24小时不间断提供自动发卡服务。【模板说明】试用版自带一套模板(响应式)【环境支持】PHP环境 / 200M或以上空间大小 / 开启父路径 / 设置index.php为默认首页 / 目录写入权限需要开启【数据库】MySQL【安装步骤】将文件上传至空间目录,运行“http://域名/inst
-
sudo systemctl enable 服务名—— 创建软链接到/etc/systemd/system/xxx.target.wants/ - 启用后重启验证:
sudo reboot,再登录执行systemctl is-active 服务名看是否为active - 若只需开机启动但不立即运行,用
enable即可;如需启用并立刻启动,加--now:sudo systemctl enable --now 服务名
禁用或取消自启动
误启用或不再需要时可快速撤销:
-
sudo systemctl disable 服务名—— 移除软链接,不影响当前运行状态 - 若同时想停止正在运行的服务:
sudo systemctl disable --now 服务名 - 注意:
disable不会删除服务文件,只是解除启动关联
旧式 SysVinit 兼容(仅限极少数老系统)
部分 CentOS 6、Debian 7 等仍用 init.d,现基本不推荐,仅作了解:
- 将脚本放入
/etc/init.d/,添加执行权限:sudo chmod +x /etc/init.d/脚本名 - 使用
update-rc.d(Debian/Ubuntu):sudo update-rc.d 脚本名 defaults - 或使用
chkconfig(RHEL/CentOS 6):sudo chkconfig 脚本名 on - 现代系统即使保留 init.d 脚本,systemd 也会通过 generator 自动适配,优先走 systemd 流程









