【Flask】Nginx / Gunicorn入门:部署你的Flask项目
什么是Nginx?
參考:Nginx入門
什么是反向代理呢?
我們很多人應(yīng)該都用過淘寶,要知道每天同時連接到淘寶網(wǎng)站的訪問人數(shù)已經(jīng)爆表,單個服務(wù)器遠(yuǎn)遠(yuǎn)不能滿足人民日益增長的購買欲望了,此時就出現(xiàn)了一個大家耳熟能詳?shù)拿~:分布式部署;
也就是通過部署多臺服務(wù)器來解決訪問人數(shù)限制的問題;淘寶網(wǎng)站中大部分功能也是直接使用nginx進行反向代理實現(xiàn)的
上圖表示的是全國各地的用戶在淘寶客戶端發(fā)出請求,經(jīng)過了Nginx 反向代理服務(wù)器,nginx服務(wù)器接收到之后,按照一定的規(guī)則分發(fā)給了后端的業(yè)務(wù)處理服務(wù)器進行處理。
此時~請求的來源也就是客戶端是明確的,但是請求具體由哪臺服務(wù)器處理的并不明確了。Nginx扮演的就是一個反向代理角色。
總結(jié)下:反向代理,主要用于服務(wù)器集群分布式部署的情況下,反向代理隱藏了服務(wù)器的信息
為什么使用Gunicorn?
參考:gunicorn 詳解
flask 自帶的 wsgi 不推薦生產(chǎn)環(huán)境使用,官方推薦使用其他的 wsgi 服務(wù)器進行部署(如 gunicorn )
Flask 自帶的開發(fā)Web 服務(wù)器不夠強健、安全和高效,無法在生產(chǎn)環(huán)境中使用。在本章,
我們要介紹幾種不同的部署方式。
調(diào)試器是開發(fā)過程中進行問題調(diào)試的優(yōu)秀工具,但其顯然不能在生產(chǎn)環(huán)境中使用。生產(chǎn)環(huán)
境中發(fā)生的錯誤會被靜默掉,取而代之的是向用戶顯示一個500 錯誤頁面。不過幸好錯誤
的棧跟蹤不會完全丟失,因為Flask 會將其寫入日志文件。
在程序啟動過程中,Flask 會創(chuàng)建一個Python 提供的logging.Logger 類實例,并將其附屬
到程序?qū)嵗?#xff0c;得到app.logger。在調(diào)試模式中,日志記錄器會把記錄寫入終端;但在生
產(chǎn)模式中,默認(rèn)情況下沒有配置日志的處理程序,所以如果不添加處理程序,就不會保存
日志。
電子郵件日志記錄器的日志等級被設(shè)為logging.ERROR,所以只有發(fā)生嚴(yán)重錯誤時才會發(fā)送
電子郵件。通過添加適當(dāng)?shù)娜罩咎幚沓绦?#xff0c;可以把較輕緩等級的日志消息寫入文件、系統(tǒng)
日志或其他的支持方法。這些日志消息的處理方法很大程度上依賴于程序使用的托管平臺。
Flask 自帶的開發(fā)Web 服務(wù)器表現(xiàn)很差,因為它不是為生產(chǎn)環(huán)境設(shè)計的服務(wù)器。有兩個
可以在生產(chǎn)環(huán)境中使用、性能良好且支持Flask 程序的服務(wù)器,分別是Gunicorn(http://
gunicorn.org/)和uWSGI(http://uwsgi-docs.readthedocs.org/en/latest/)。
安裝
安裝Web 服務(wù)器。例如,可通過如下命令安裝Gunicorn:
(venv) $ pip install gunicorn某視頻教程
視頻教程鏈接
CentOS上的操作
查看python版本
python -V注意V大寫
查看pip版本
pip -V
安裝gunicorn
pip install gunicorn
CentOS-7安裝pip
查看pip版本:pip -v
如果pip安裝包出現(xiàn)Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)):參考文章
使用supervisor
nginx+Gunicorn部署你的Flask項目
參考:Gunicorn部署Flask項目
首先安裝gunicorn
pip install gunicorn
vim編輯test.py
使用gunicorn test:app運行py文件
在瀏覽器中訪問
LINUX安裝nginx詳細(xì)步驟
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。 本文鏈接:https://blog.csdn.net/t8116189520/article/details/819095741.安裝依賴包
2.下載并解壓安裝包
3.安裝nginx
4.配置nginx.conf
將端口號改成8089,因為可能apeache占用80端口,apeache端口盡量不要修改,我們選擇修改nginx端口。
localhost修改為你服務(wù)器ip地址。
5.啟動nginx
/usr/local/nginx/sbin/nginx -s reload查看nginx進程是否啟動:
ps -ef | grep nginx
?
6.若想使用外部主機連接上虛擬機訪問端口192.168.131.2,需要關(guān)閉虛擬機的防火墻:
centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7關(guān)閉防火墻命令: systemctl stop firewalld.service
隨后訪問該ip即可看到nginx界面。
?
7.訪問服務(wù)器ip查看
?
安裝完成一般常用命令
進入安裝目錄中,
命令: cd /usr/local/nginx/sbin
啟動,關(guān)閉,重啟,命令:
./nginx 啟動
./nginx -s stop 關(guān)閉
./nginx -s reload 重啟
訪問示例
開啟nginx
在虛擬機中使用ifconfig查看ip地址(我使用的是橋接模式),然后在實體機瀏覽器中輸入虛擬機ip:8089即可訪問到nginx首頁
總結(jié)
以上是生活随笔為你收集整理的【Flask】Nginx / Gunicorn入门:部署你的Flask项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SPSS】第十周-面板数据的线性回归
- 下一篇: 【Flask】Nginx+Gunicor