如何在Ubuntu机器上让您的Python Web应用始终运行

12 浏览
0 Comments

如何在Ubuntu机器上让您的Python Web应用始终运行

我有一个Web应用程序,我将其部署到一台安装了Ubuntu 20的机器上。

为了能够运行该应用程序,我需要打开Ubuntu机器的SSH,然后运行以下命令:

cd mywebapp
python3 app.py

它成功运行,但一旦我关闭SSH控制台、重新启动机器或发生任何其他情况,它就会停止,我需要重复这些命令。

我尝试将其添加为在机器重新启动后运行的定时任务,但它不起作用。

我在以下链接中发布了一个问题:run python app after server restart does not work using crontab

没有任何方法适用于我,我必须确保这个Web应用程序始终运行,因为它需要工作来向移动设备发送推送通知。

请问是否有人能够提供一些建议?我已经搜索和尝试了很长时间了。

0
0 Comments

在Ubuntu机器上使你的Python网站应用程序始终运行的方法

如果你在一个bash脚本中调用Python脚本并将其作为守护进程运行,那会怎样呢:

你的bash脚本可以像下面这样(test.sh):

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

你可以使用nohup这样运行bash脚本:

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

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

问题出现的原因:需要在Ubuntu机器上运行Python网站应用程序时,希望它能始终保持运行状态。

解决方法:使用bash脚本调用Python脚本,并将其作为守护进程运行,可以使用nohup命令来运行bash脚本,并将输出存储到指定位置。

0
0 Comments

问题的原因是希望在Ubuntu机器上始终运行Python Web应用程序,但是遇到了一些问题。下面是两种解决方法:

1- 使用systemd:

可以使用systemd来保持服务的运行。可以编写一个自定义单元用于应用程序,并将其配置为始终运行。可以参考以下教程:编写systemd单元

2- 使用Docker:

当应用程序被容器化时,可以配置它在失败或其他情况下重新启动。可以在这里了解更多信息。

我尝试了您提供的第一种方法,但是仍然遇到了问题。我在Stack Overflow上提出了一个问题,请您检查:stackoverflow.com/questions/75058536/…。您可以使用journalctl -u airnotifier.service命令查看是否有有用的信息。

0