关于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的脚本。启动方式可以设置为自动启动或者手动启动。
启动和终止程序的话,直接用这个工具找到我们配置好的,启动或者终止即可。
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM