直接用 systemctl enable 命令启用开机自启,需确保 .service 文件置于 /etc/systemd/system/ 或 /usr/lib/systemd/system/,含 unit[install] 三段,wantedby=multi-user.target,脚本有执行权限且 execstart 用绝对路径;启用前须 daemon-reload,再 enable 并 is-enabled 验证;用户级服务可放 ~/.config/systemd/user/ 并配合 --user 和 loginctl enable-linger 使用。

直接用 systemctl enable 命令就行,前提是服务单元文件已正确创建并放在系统能识别的位置。
确认服务单元文件已就位
Systemd 服务必须有一个以 .service 结尾的单元文件,通常放在以下任一目录:
-
/etc/systemd/system/(推荐,用于自定义服务) -
/usr/lib/systemd/system/(一般由软件包安装提供)
文件内容至少包含三段:[Unit](描述与依赖)、[Service](执行逻辑)、[Install](启用规则)。其中 [Install] 段的 WantedBy= 行决定了启用目标,最常见的是 multi-user.target。
使用 Kadence 主题作为 WordPress 项目的设计系统,涵盖设计令牌、布局系统、页头/页脚/导航设置以及页面/归档/单篇文章模板。
确保脚本或程序可执行且路径正确
如果服务要运行你自己的脚本或二进制文件,需满足两个基本条件:
- 脚本文件本身有执行权限:例如
sudo chmod +x /usr/local/bin/myscript.sh -
ExecStart=中指定的路径必须绝对准确,不能用~或相对路径;建议加上WorkingDirectory=明确工作目录
启用开机自启并验证
执行三步操作即可完成配置:
- 重载 systemd 配置:运行
sudo systemctl daemon-reload(每次修改 .service 文件后都必须执行) - 启用开机启动:运行
sudo systemctl enable myapp.service(会自动在/etc/systemd/system/multi-user.target.wants/下建符号链接) - 检查是否生效:运行
systemctl is-enabled myapp.service,返回enabled即成功
额外提示:用户级服务也可开机自启
如果你不想用 root 权限,而是让服务随当前用户登录自动启动,可以使用用户级 systemd:
- 把
.service文件放在~/.config/systemd/user/目录下 - 运行
systemctl --user daemon-reload和systemctl --user enable myapp.service - 启用 linger:运行
sudo loginctl enable-linger $USER,否则用户未登录时服务不会启动










