关于Flask在windows上的部署

因为一些原因,可能有些时候我们需要在windows机器上部署Flask程序,之前的话,都是直接“ python main.py ” 解决。不过这样的情况似乎后面不好维护。所以这里整理了一个奇怪而且容易维护的方法。

需要的东西:

  1. 虚拟环境:避免影响系统的python环境,便于迁移。
  2. tornado:用tornado架起flask app
  3. nginx: 反向代理,让其他机器更容易访问服务。。(windows server上,直接python main.py ,服务启动后,其他的机器上有时候访问不到服务的。可能有地方限制了,但是没弄明白。)
  4. srvany:将flask程序注册到系统服务里。便于维护。

 

流程:

先假设我们的flask应用已经写好了。

1. 编写启动脚本:

from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from run import app

http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)  #flask默认的端口
IOLoop.instance().start()

写一个cmd脚本:

D:\pyspace\Flask\Flask_AppBulider\venv\Scripts\python D:\pyspace\Flask\Flask_AppBulider\tj\run.py

2. 使用srvany注册服务

srvany.exe是Microsoft Windows Resource Kits工具集的一个实用小工具,用于将EXE程序作为Windows服务运行。srvany是其注册程序的服务外壳,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等
 
下载:
 
https://wwr.lanzoui.com/iaC6Hubrukd
 
配置: 新建一个自建服务,配置上上面bat的脚本。启动方式可以设置为自动启动或者手动启动。
启动和终止程序的话,直接用这个工具找到我们配置好的,启动或者终止即可。
 
 
posted @ 2021-09-21 21:36  人人从众  阅读(2472)  评论(2编辑  收藏  举报