繁体   English   中英

如何使您的 python web 应用程序始终在 ubuntu 机器上运行

[英]how to make your python web app always running on ubuntu machine

我有一个 web 应用程序部署到安装了 ubuntu 20 的机器上以便能够运行该应用程序我应该打开 ssh 到 ubuntu 机器然后运行此命令

cd mywebapp
python3 app.py

它运行成功,但是一旦我关闭 ssh 控制台或重新启动机器或发生任何事情,它就会停止,我必须重复这些命令

我试图将其添加为要在机器重启后运行的玉米作业,但它不起作用

我在以下链接中发布了一个问题: 在服务器重新启动后运行 python 应用程序无法使用 crontab

对我没有任何作用,我必须确保这个 web 应用程序将始终运行,因为它应该可以向移动设备发送推送通知

任何人都可以请教,我一直在寻找和尝试了很多时间

我不是这方面的专家,但我想到了两种解决方案:

1- 使用systemd

systemd可以负责保持服务正常运行。

您可以为您的应用程序编写自定义单元,并将其配置为始终启动的方式。

本教程可能有用: 编写单元

2- 使用Docker

当您拥有容器化应用程序时,您可以将其配置为出现、失败或类似情况。

在这里阅读

如果您在 bash 脚本中有 Python 脚本的调用部分并将其作为守护进程运行会怎样:

您的 bash 脚本可能如下所示 (test.sh):

#!/bin/sh
cd desired/directory
python3 app.py

您可以使用nohup像这样运行 bashscript:

nohup ./test.sh 0<&- &>/dev/null &

如果你想存储 nohup 的输出,你可以参考这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM