gpt4 book ai didi

dart - 如何使 Dart/ Aqueduct 永久运行

转载 作者:行者123 更新时间:2023-12-03 03:39:56 24 4
gpt4 key购买 nike

我是Dart lang的新手,也是Linux上的API服务的新手。
我的问题是,如何在Linux中保持Dart服务处于 Activity 状态?
如果服务有问题,该如何回收?

我需要在crontab中运行吗?

最佳答案

您可以为 Aqueduct 创建systemd服务,并在服务器启动时使其自动运行。 systemd服务有很多选择,但是我尝试为您提供一些满足您需求的示例:

[Unit]
Description=Dart Web Server
Wants=network-online.target
After=network-online.target

[Service]
Restart=always
ExecStart=/opt/dart-sdk/bin/dart bin/main.dart
WorkingDirectory=/tmp/web/my_project
User=webserver_user

[Install]
WantedBy=multi-user.target

将其另存为/etc/systemd/system/name_of_your_service.service

在此之后运行以下命令:
  • systemctl守护程序重新加载
  • 这将确保将对您可用服务的最新更改加载到systemd中。
  • systemctl起始名称_服务_服务。服务
  • 这将启动您的服务。您可以使用“停止”停止它,并使用“重新启动”重新启动它。
  • systemctl启用name_of_your_service.service
  • 这将启用服务,因此它将在启动后启动。您也可以“禁用”它。

  • 另一个好命令是status命令,您可以在其中查看有关服务的某些信息(例如,它是否正在运行?)和一些最新的日志事件(来自stdout):

    systemctl状态name_of_your_service.service

    让我看一下我指定的设置:
  • “Wants” /“After”确保在建立网络连接后首先启动该服务(与何时应在引导序列下启动该服务最相关)。
  • “重新启动”指定在不使用“systemctl stop”的情况下停止 Dart 过程时应如何处理。使用“始终”,无论程序如何终止,都将重新启动服务。
  • “ExecStart”我们要继续运行的程序。
  • “用户”是您希望服务运行的用户。
  • “WantedBy”部分与“systemctl enable”部分相关,并指定何时启动服务。除非您有特定要求,否则请在此处使用multi-user.target。

  • 同样,systemd服务有很多选项,如果您想查看服务的stdout日志输出,还应该 checkout journalctl。

    关于dart - 如何使 Dart/ Aqueduct 永久运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57728490/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com