日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3 Flask+nginx+Gunicorn部署(上)

發布時間:2023/11/29 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3 Flask+nginx+Gunicorn部署(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:一般在本地運行flask項目通常是直接python3 文件名.py,然后打開:http://127.0.0.1:5000 查看代碼結果

這次主要是記錄flask在python3 環境結合nginx +gunicorn在服務器上進行項目的部署

(一)運行環境:
虛擬機centos7
python3 環境
nginx
gunicorn
virtualenv
難點:nginx gunicorn的安裝配置

(二)nginx、gunicorn簡介
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上nginx的并發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等

gunicorn是一個python Wsgi http server,只支持在Unix系統上運行,來源于Ruby的unicorn項目。Gunicorn使用prefork master-worker模型(在gunicorn中,master被稱為arbiter),能夠與各種wsgi web框架協作。

(三)軟件安裝
(1)首先安裝gunicorn

直接使用命令:pip install gunicorn

(2) 將gunicorn 加入到app.run()中,

這里我在路徑為:/home/flaskproject/flaskweb 下新建一個myweb.py 作為入口函數
代碼為:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello world'
if __name__ == '__main__':
from werkzeug.contrib.fixers import ProxyFix
app.wsgi_app = ProxyFix(app.wsgi_app)
app.run(
1
2
3
4
5
6
7
8
9
10


(3)用命令啟動gunicorn

在myweb.py路徑下,一定要記住是當前路徑下!!
方式一:

gunicorn myweb:app
1


python 虛擬環境的安裝:

pip install virtualenv
1
然后一頓騷操作:

mkdir flaskproject

cd flaskproject

virtualenv flaskprojectenv
1
2
3
4
5
然后進行激活:

source flaskprojectenv/bin/activate
1
正如下圖一樣的騷操作,之前我也是很少用虛擬環境的,現在感覺虛擬環境并沒有那么神秘,因為以前是很拒絕,不會用,不過這次是會用了,

退出虛擬環境的命令是:deactivate(這里我只是說一下)


這時候我們本地服務器看一下是否運行起來(已經有hello world):

[root@localhost flaskproject]# curl http://127.0.0.1:8000
hello world[root@localhost flaskproject]#
1
2
ctrl + c 停掉當前環境,我們使用第二種方式試一下

專門為處理高并發則要開多個進程和修改監聽端口方式:

gunicorn -w 4 -b 127.0.0.1:8000 入口文件名:app
1
如下代碼:

(flaskprojectenv) [admin@localhost flaskweb]$ gunicorn -w 4 -b 127.0.0.1:8000 myweb:app
[2018-05-28 10:57:11 -0400] [1813] [INFO] Starting gunicorn 19.8.1
[2018-05-28 10:57:11 -0400] [1813] [INFO] Listening at: http://127.0.0.1:8000 (1813)
[2018-05-28 10:57:11 -0400] [1813] [INFO] Using worker: sync
[2018-05-28 10:57:11 -0400] [1816] [INFO] Booting worker with pid: 1816
[2018-05-28 10:57:11 -0400] [1817] [INFO] Booting worker with pid: 1817
[2018-05-28 10:57:11 -0400] [1819] [INFO] Booting worker with pid: 1819
[2018-05-28 10:57:11 -0400] [1821] [INFO] Booting worker with pid: 1821
1
2
3
4
5
6
7
8
本地服務器已經運行了,但是我們遠程并不能進行訪問(win10訪問虛擬機)

?

說明端口號沒有打開,這時候我們需要把防火墻,端口號什么的都進行設置一下,可以看一下這篇博客:linux下nginx首次安裝遠程無法訪問

主要是兩個命令:

[root@localhost nginx-1.12.1] systemctl stop firewalld
[root@localhost nginx-1.12.1] systemctl stop iptalbes
1
2
接下來:我們進行nginx的配置安裝與gunicorn的相結合并進行部署。
---------------------
作者:xudailong_blog
來源:CSDN
原文:https://blog.csdn.net/xudailong_blog/article/details/80490137
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

轉載于:https://www.cnblogs.com/ExMan/p/10775415.html

總結

以上是生活随笔為你收集整理的Python3 Flask+nginx+Gunicorn部署(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。