要使用 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
bun 二进制文件本身。替换该二进制文件(例如使用 bun upgrade)会移除此 capability。升级后请重新运行该命令。或者,也可以将 AmbientCapabilities=CAP_NET_BIND_SERVICE 添加到服务文件的 [Service] 部分。
配置好服务文件后,_启用_该服务。启用后,它会在重启时自动启动。启用服务需要
sudo 权限。
terminal
要在不重启的情况下启动服务,请手动_启动_它。
terminal
使用
systemctl status 查看应用的状态。如果应用启动成功,输出如下所示:
terminal
要更新服务,请编辑服务文件,然后重新加载守护进程。
terminal
有关服务单元配置的完整指南,请参阅 systemd.service 文档。或者使用以下常用命令速查表:
terminal