在Ubuntu下部署Flask項目


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.
!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM