Skip to main content
systemd 是 Linux 的初始化系统和服务管理器。它负责管理系统进程和服务的启动与控制。
要使用 systemd 将 Bun 应用作为守护进程运行,请在 /etc/systemd/system/ 中创建一个_服务文件_。
terminal

以下是一个典型的服务文件,可在系统启动时运行应用。请将其用作自己服务的模板。将 YOUR_USER 替换为运行应用的用户名称。若要以 root 身份运行,请将 YOUR_USER 替换为 root,并将 /home/YOUR_USER 替换为 /root(root 的主目录)。出于安全考虑,我们不建议以 root 身份运行。 有关每个设置的详细信息,请参阅 systemd 文档。
my-app.service

如果应用会启动 Web 服务器,非 root 用户默认无法监听 80 或 443 端口。若要允许 Bun 在以非 root 用户身份运行时监听这些端口,请使用以下命令。该命令需要 sudo 权限。以 root 身份运行时,无需执行此步骤。
terminal
该命令会将 capability 附加到 bun 二进制文件本身。替换该二进制文件(例如使用 bun upgrade)会移除此 capability。升级后请重新运行该命令。或者,也可以将 AmbientCapabilities=CAP_NET_BIND_SERVICE 添加到服务文件的 [Service] 部分。
配置好服务文件后,_启用_该服务。启用后,它会在重启时自动启动。启用服务需要 sudo 权限。
terminal

要在不重启的情况下启动服务,请手动_启动_它。
terminal

使用 systemctl status 查看应用的状态。如果应用启动成功,输出如下所示:
terminal

要更新服务,请编辑服务文件,然后重新加载守护进程。
terminal

有关服务单元配置的完整指南,请参阅 systemd.service 文档。或者使用以下常用命令速查表:
terminal