FlaskDemo 命名為test.py
# coding=utf-8 from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "test" if __name__ == '__main__': app.debug = True # 這里host一定要寫0.0.0.0 寫127.0.0.1的無法訪問 ——_—— app.run(host="0.0.0.0", port=5000)
服務器配置
# 必須安裝的包 pip install flask pip install gunicorn
直接運行
python test.py runserver
gunicorn運行 推薦!!!
#直接運行,默認啟動的127.0.0.1::8000 gunicorn 運行文件名稱:Flask程序實例名 #指定端口 gunicorn -w 4 -b HOST:端口 運行文件名稱:Flask程序實例名 #-w 表示進程(worker)。 #-b 表示綁定ip地址和端口號(bind) # test 運行的文件名稱對應 test.py # app Flask程序實例名對應 app = Flask(__name__) 如: #直接運行 gunicorn -w 4 -b 0.0.0.0:5000 test:app #后台運行 gunicorn -w 4 -b 127.0.0.1:5000 test:app --daemon
更好的啟動方式
添加配置文件gunicorn.conf
# 並行工作線程數 workers = 4 # 監聽內網端口5000【按需要更改】 bind = '0.0.0.0:5000' # 設置守護進程【關閉連接時,程序仍在運行】 daemon = True # 設置超時時間120s,默認為30s。按自己的需求進行設置 timeout = 120 # 設置訪問日志和錯誤信息日志路徑 # accesslog = './logs/acess.log' # errorlog = './logs/error.log'
運行程序
# gunicorn 運行模塊名:應用名 -c 配置文件 gunicorn service:app -c gunicorn.conf
如果你想嘗試使用其他py版本運行
1.查看gunicorn位置
which gunicorn
2.打開文件並編輯第一行指定版本
#!/usr/bin/python3.7 # -*- coding: utf-8 -*- import re import sys from gunicorn.app.wsgiapp import run if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit(run())
3.運行
gunicorn server:app -c gunicorn.conf
ps:
如果運行出現一下警告,嘗試將文件gunicorn.conf更改為 gunicorn.py在運行
!!!
!!! WARNING: configuration file should have a valid Python extension.
!!!