Python 如何在后台运行Flask服务器
我已经在我的Rapsberry Pi上设置了Flask,我使用它的唯一目的是充当一个xml文件的服务器,我用Python脚本创建了一个xml文件,用于将数据传递到iPad应用程序(iRule) 我的RPI设置为无头,我的访问权限是使用PuTTY、WinSCP和TightVNC查看器的Windows 10 我通过打开终端窗口和以下命令来运行服务器:Python 如何在后台运行Flask服务器,python,flask,raspberry-pi,Python,Flask,Raspberry Pi,我已经在我的Rapsberry Pi上设置了Flask,我使用它的唯一目的是充当一个xml文件的服务器,我用Python脚本创建了一个xml文件,用于将数据传递到iPad应用程序(iRule) 我的RPI设置为无头,我的访问权限是使用PuTTY、WinSCP和TightVNC查看器的Windows 10 我通过打开终端窗口和以下命令来运行服务器: sudo python app1c.py 这设置了服务器,我可以很好地访问我的xml文件。但是,当我关闭Windows机器和PuTTY会话时,Fl
sudo python app1c.py
这设置了服务器,我可以很好地访问我的xml文件。但是,当我关闭Windows机器和PuTTY会话时,Flask服务器将关闭
如何设置它,使Flask服务器即使在Windows计算机关闭时也能继续运行
我在烧瓶文档中读到:
虽然Flask的内置服务器轻量级且易于使用,但它不适合生产,因为它不能很好地扩展,并且默认情况下一次只提供一个请求
然后,他们继续给出如何将Flask应用程序部署到WSGI服务器的示例!考虑到我正在处理的简单应用程序,这是否必要?您有多种选择:
和终止流程,例如:
apt get install tmux
启动tmux并像以前一样启动应用程序,然后使用CTRL+B分离在此处安装节点包永久
然后使用
forever start -c python your_script.py
在后台启动脚本。以后你可以用
forever stop your_script.py
要停止脚本,请使用:
$ sudo nohup python app1c.py > log.txt 2>&1 &
nohup
允许运行命令/进程或shell脚本,从shell注销后可以在后台继续运行
>log.txt
:它将输出用于此文件
2>&1
:将所有的stderr移动到stdout
最后的&
允许您在当前shell的后台运行命令/进程。使用:
$ sudo nohup python app1c.py > log.txt 2>&1 &
$sudo python app1c.py>>log.txt 2>&1&
$sudo ps-ef|grep
希望对你有帮助 我总是发现分离屏幕过程最适合这样的用例。 运行:
screen-m-d sudo python app1c.py
您始终可以使用nohup作为后台进程运行任何脚本
nohup python script.py
这将在后台运行脚本,并将其日志附加到nohup.out文件中,该文件将位于script.py is store目录中
请确保关闭终端,而不是按Ctrl+C。这将允许它在后台运行,即使您注销
要停止它的运行,请再次使用ssh连接到pi并运行ps-ef | grep nohup
和kill-9 XXXXX
其中XXXX是pid,您将获得ps命令。最近一直很紧张,所以我决定深入研究
pm2 start app.py --interpreter python3
用PM2来做类似的事情。我还将其用于单台服务器上的NodeJs应用程序和Python应用程序。我在Hope回答了同样的问题,希望它能帮助您。请使用该链接解释此代码的工作原理,而不仅仅是给出代码,因为解释更有可能帮助未来的读者。另见。很好的回答,很有魅力。它与这个关于如何在flask服务器处于后台模式时关闭它的问题/答案非常匹配。如果其他人想知道:不需要
sudo
Yes在后台运行任何进程的最简单方法在节点包中运行python代码不是很明智吗?