Ubuntu Deno作为Linux systemd服务。怎样

Ubuntu Deno作为Linux systemd服务。怎样,ubuntu,systemd,deno,Ubuntu,Systemd,Deno,出于我不理解的原因,默认情况下,Deno不是systemd服务。它有一个自动安装脚本,可以将deno可执行文件放到/home文件夹中。当你使用这个可执行文件去运行一个Typescript文件时,它会加载你的脚本,然后你就可以和控制台说再见了 如何将deno作为systemd服务添加到Ubuntu中?是的!我知道了 不过,如果您能帮我弄清楚为什么只有以root用户身份登录时才会执行deno,那就太好了。我无法使用sudo用户运行deno 步骤: 使用他们在deno.land上提供的.sh脚本安装d

出于我不理解的原因,默认情况下,Deno不是systemd服务。它有一个自动安装脚本,可以将deno可执行文件放到/home文件夹中。当你使用这个可执行文件去运行一个Typescript文件时,它会加载你的脚本,然后你就可以和控制台说再见了

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

是的!我知道了

不过,如果您能帮我弄清楚为什么只有以root用户身份登录时才会执行deno,那就太好了。我无法使用sudo用户运行deno

步骤:

使用他们在deno.land上提供的.sh脚本安装deno

将httpServer.ts复制到/home目录

通过创建我们将要使用的服务文件,向systemd介绍应用程序

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

使用下面的模板编辑此最近创建的空文件

然后启用并启动它。 sudo systemctl enable deno

sudo systemctl启动名称

检查deno服务的状态。 sudo systemctl状态名称

截图


除非为超级用户安装了Deno,否则Deno不会以sudo用户的身份运行。Iirc Deno是一个按用户安装的~/.Deno/Ok。所以正确的方法是以root身份安装Deno,然后以root身份运行它?我想如果您需要以root身份运行它;我在没有rootOk的情况下运行我的东西。从头开始,当我从sudo用户帐户安装deno并尝试在read和net打开的情况下运行脚本时,它仍然会给我权限错误。为什么?哈哈,是的,德诺太棒了;因为你是以超级用户的身份运行,所以你不应该真的需要编辑任何文件夹权限,除非它不起作用
[Unit]
Description=Deno 1.1.1 service
Documentation=http://deno.land
After=network.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