摘要:為什么使用作為反向代理接上篇基于框架的博客線(xiàn)上部署過(guò)程雖然可以直接對(duì)公網(wǎng)提供請(qǐng)求,但是功能上遠(yuǎn)沒(méi)有豐富,如請(qǐng)求的過(guò)濾,針對(duì)不同請(qǐng)求頭做不同業(yè)務(wù)的分發(fā),內(nèi)網(wǎng)多主機(jī)服務(wù)的負(fù)載均衡。
1:為什么使用nginx作為反向代理
接上篇:基于flask框架的博客線(xiàn)上部署過(guò)程---(1)
gunicron雖然可以直接對(duì)公網(wǎng)提供http請(qǐng)求,但是功能上遠(yuǎn)沒(méi)有nginx豐富,如http請(qǐng)求的過(guò)濾,針對(duì)不同請(qǐng)求頭做不同業(yè)務(wù)的分發(fā),內(nèi)網(wǎng)多主機(jī)服務(wù)的負(fù)載均衡。這些都是nginx的優(yōu)勢(shì),所以將nginx暴露在公網(wǎng)ip下,直接處理http請(qǐng)求是更為妥當(dāng)?shù)牟呗浴?/p> 2:云主機(jī)上nginx軟件的安裝
#centos sudo yum install nginx #ubuntu sudo apt install nginx3:nginx的配置
#centos上是對(duì)/etc/nginx/nginx.conf文件進(jìn)行配置 #需要改變的地方非常少,主要是server域下面的三個(gè)地方:(如下) # 1:listen 80 監(jiān)聽(tīng)公網(wǎng)ip的80端口(記得打開(kāi)centos和waf的端口防火墻) # 2:server_name 后面跟上自己購(gòu)買(mǎi)的域名,如果沒(méi)有,直接使用該機(jī)的public ip # 3: proxy_pass 后面跟上啟動(dòng)gunicorn時(shí),-b參數(shù)綁定的地址(不要使用0.0.0.0,這樣會(huì)將gunicorn的8080端口直接暴露在公網(wǎng)ip下) server { listen 80; server_name example.org; # 這是HOST機(jī)器的外部域名,用地址也行 location / { proxy_pass http://127.0.0.1:8080; # 這里是指向 gunicorn host 的服務(wù)地址 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }4:nginx和gunicorn的啟動(dòng)
#centos source /blogenv/bin/activate cd 到 wsgi的目錄 gunicorn -w 4 -b 127.0.0.1:8080 wsgi:app systemctl start nginx #沒(méi)報(bào)錯(cuò)就是正常的 #ubuntu source /blogenv/bin/activate cd 到 wsgi的目錄 gunicorn -w 4 -b 127.0.0.1:8080 wsgi:app sudo service nginx restart #沒(méi)報(bào)錯(cuò)就是正常的 #查看nginx是否正常運(yùn)行 ps aux|grep ngix #通過(guò)wget or browser訪問(wèn)網(wǎng)站是否正常工作5:后續(xù)應(yīng)該把開(kāi)啟gunicorn的服務(wù)添加到系統(tǒng)控制命令中
#centos-systemctl #ubuntu-service6:請(qǐng)求響應(yīng)的處理過(guò)程
圖片描述
7:開(kāi)源flask博客地址https://github.com/huangtao00...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/41395.html
摘要:就鹿晗宣布戀情導(dǎo)致微博宕機(jī)事件淺談大型網(wǎng)站高可用性架構(gòu)中午吃飯刷著刷著微博發(fā)現(xiàn)微博突然掛了。用戶(hù)在使用瀏覽器訪問(wèn)一個(gè)網(wǎng)站時(shí)需要先通過(guò)協(xié)議向服務(wù)器發(fā)送請(qǐng)求,之后服務(wù)器返回文件與響應(yīng)信息。 webpack:從入門(mén)到真實(shí)項(xiàng)目配置 自從出現(xiàn)模塊化以后,大家可以將原本一坨代碼分離到個(gè)個(gè)模塊中,但是由此引發(fā)了一個(gè)問(wèn)題。每個(gè) JS 文件都需要從服務(wù)器去拿,由此會(huì)導(dǎo)致加載速度變慢。Webpack 最主...
摘要:試想,在多線(xiàn)程服務(wù)器中,多個(gè)線(xiàn)程同時(shí)處理不同客戶(hù)端發(fā)送的不同請(qǐng)求時(shí),每個(gè)線(xiàn)程看到的對(duì)象必然不同。多線(xiàn)程服務(wù)器會(huì)創(chuàng)建一個(gè)線(xiàn)程池,再?gòu)木€(xiàn)程池中選擇一個(gè)線(xiàn)程用于處理接收到的請(qǐng)求。 框架 Django flask flask是一個(gè)輕量的web開(kāi)發(fā)應(yīng)用示例開(kāi)發(fā)一個(gè)小應(yīng)用 from flask import Flask app = Flask(__name__) @app.route(/) d...
摘要:在平臺(tái)部署基于的網(wǎng)站是一件非常折騰的事情,平臺(tái)下有很多選擇,本文記錄了部署到的主要步驟,希望對(duì)你有所幫助。下載后運(yùn)行,搜索,分別安裝。使用命令可以將其移除。在中你可以使用來(lái)快捷開(kāi)發(fā)并部署程序,真正讓你一鍵無(wú)憂(yōu)。 在 Windows 平臺(tái)部署基于 Python 的網(wǎng)站是一件非常折騰的事情,Linux/Unix 平臺(tái)下有很多選擇,本文記錄了 Flask 部署到 IIS 的主要步驟,希望對(duì)你...
閱讀 1604·2021-11-25 09:43
閱讀 4161·2021-11-15 11:37
閱讀 3266·2021-08-17 10:13
閱讀 3574·2019-08-30 14:16
閱讀 3604·2019-08-26 18:37
閱讀 2548·2019-08-26 11:56
閱讀 1215·2019-08-26 10:42
閱讀 701·2019-08-26 10:39