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