运行 DigitalOcean 上的 flask 应用程序:我应该让 ssh 控制台一直打开吗?
Running flask app on DigitalOcean: should I keep the ssh console open all the time?
我创建了一个运行 Flask 应用程序的 Droplet。我的问题是,当我通过 ssh 进入 droplet 并重新启动 apache2 服务器时,我是否必须始终保持控制台打开(即我不应该关闭我的计算机)才能使应用程序生效?
如果我有一个在后台运行脚本的动态应用程序,我是否必须始终保持控制台打开才能使动态部分工作?
P.S:
SO 中有一个关于 NodeJs 应用程序的类似问题,但他们提供的部分答案与我的 Flask 应用程序无关。
您无需让控制台保持打开状态,在您关闭计算机上的控制台后,应用程序仍会运行。但是你可能需要设置一个日志来监控它。
您可以使用 "screen" 命令来保持会话打开。
请参阅https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/
在我看来,在开发阶段使用远程计算机不是一个好的做法,除非您没有其他选择。如果您想在从 ssh 控制台注销后使您的应用程序可用,screen 可以工作,但它仍然是一种解决方法。
我建议看一下这个great tutorial,了解如何使用 Gunicorn+Nginx 守护烧瓶应用程序。
我创建了一个运行 Flask 应用程序的 Droplet。我的问题是,当我通过 ssh 进入 droplet 并重新启动 apache2 服务器时,我是否必须始终保持控制台打开(即我不应该关闭我的计算机)才能使应用程序生效?
如果我有一个在后台运行脚本的动态应用程序,我是否必须始终保持控制台打开才能使动态部分工作?
P.S: SO 中有一个关于 NodeJs 应用程序的类似问题,但他们提供的部分答案与我的 Flask 应用程序无关。
您无需让控制台保持打开状态,在您关闭计算机上的控制台后,应用程序仍会运行。但是你可能需要设置一个日志来监控它。
您可以使用 "screen" 命令来保持会话打开。
请参阅https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/
在我看来,在开发阶段使用远程计算机不是一个好的做法,除非您没有其他选择。如果您想在从 ssh 控制台注销后使您的应用程序可用,screen 可以工作,但它仍然是一种解决方法。
我建议看一下这个great tutorial,了解如何使用 Gunicorn+Nginx 守护烧瓶应用程序。