Deno 作为 Linux systemd 服务。如何?

Deno as Linux systemd service. How?

由于我不明白的原因,默认情况下 Deno 不是 systemd 服务。它有一个自动安装脚本,可将 deno 可执行文件放入您的 /home 文件夹中。当您 deno run 使用此可执行文件的 Typescript 文件时,它会加载您的脚本,您可以告别控制台被用于其他任何事情。

如何将 deno 作为 systemd 服务添加到 Ubuntu?

是的!我想通了!

不过,如果您能帮我弄清楚为什么 deno 仅在您以 root 用户身份登录时才执行,那就太好了。我无法通过 sudo 用户获得 运行 的 deno。

步骤:

  1. 使用他们在 deno.land

    提供的 .sh 脚本安装 deno
  2. 将您的 httpServer.ts 复制到您的 /home 目录。

  3. 通过创建我们将使用的服务文件向 systemd 介绍该应用程序。

  4. sudo touch /etc/systemd/system/deno.service

  5. 使用下面的模板编辑这个最近创建的空文件。

[Unit]
Description=Deno 1.1.1 service
Documentation=http://deno.land
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=user1
WorkingDirectory=/home
ExecStart=/home/user1/.deno/bin/deno run --allow-net --allow-read httpServer.ts
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. 然后启用并启动它。

sudo systemctl enable deno

sudo systemctl start deno

  1. 检查 deno 服务的状态。

sudo systemctl status deno

截图