關於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