我在服务器上有一个可执行文件,它是一个功能齐全的独立 Web 应用程序。当我通过 ssh 登录到服务器并运行该文件时,该网站就会在互联网上可见。显然,因为它是我通过 ssh 运行的,当我断开连接时,网站就会关闭。
全天候运行该文件的惯用且简单的方法是什么,并且最好在文件关闭时重新启动?
这是 Ubuntu 15,但我的问题更广泛,因为我想学习如何在其他发行版上做到这一点。
我不想使用任何第三方解决方案或 Web 服务,只想使用标准 Linux 工具和应用程序。
我应该为 systemd 创建一个服务吗?
答案1
是的,创建systemd
服务是可行的方法。您需要编写一个服务文件,对于您来说,这不需要太多。以下是此类文件的概要:
[Unit]
Description=your description here
After=syslog.target
[Service]
ExecStartPre= [script to run before starting the service]
ExecStart= [script to run the actual service]
Restart=on-abort
[Install]
WantedBy=multi-user.target
这应该放在 中/etc/systemd/system/yourservice.service
。现在您可以使用命令启动、停止、重新启动并查找服务状态systemctl
。您可以在网络和此站点上找到各种其他示例和选项。
此解决方案可移植到所有运行 的 Linux 系统systemd
。对于运行 SysV 或 Upstart 的系统,您必须寻找其他解决方案。