nginx+gunicorn+flask部署python服務

nginx

安裝nginx,在 /usr/local/nginx 目錄下, 修改conf文件夾下的 nginx.conf 文件

server {
        # python server
        listen       8088;
        server_name  localhost;
		
    	location / {
            proxy_pass http://127.0.0.1:5000;
        }
    }

啓動nginx

>/usr/local/nginx/sbin/nginx

flask

新建server.py並寫入

from flask import Flask
app = Flask(__name__)
@app.route('/', methods=['GET'])
def hello():
    return 'hello'
if __name__ == '__main__':
    app.run(debug=True,host='0.0.0.0',port=5000)

gunicorn

命令行進入server.py所在目錄

  • 開啓gunicorn進程:

gunicorn -w worker數量 -b ip:端口號 運行文件名:flask實例名

gunicorn -D -w 3 -b 127.0.0.1:5000 server:app
  • 關閉gunicorn:

先找到gunicorn的pid

pstree -ap | grep gunicorn

然後殺死進程(假設17556爲pid)

kill -9 17556

說明

gunicorn命令的參數:

  • D 表示後臺運行
  • w 表示有3 個 工作線程(感覺有些類似 nginx 的 master-worker 模型)
  • b 指定ip 和端口
  • 這裏採用本機訪問, 主要是爲了使用nginx 進行代理, 方便管理
  • application 表存放 寫着全局變量 app 的那個工程文件夾
  • 在我們的這個工程中, 即包含server.py 的那個文件,app 爲全局變量 (app = Flask(name))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章