基於flask框架博客線上部署過程

1:爲何使用nginx做爲反向代理

接上篇:基於flask框架的博客線上部署過程---(1)nginx

gunicron雖然能夠直接對公網提供http請求,可是功能上遠沒有nginx豐富,如http請求的過濾,針對不一樣請求頭作不一樣業務的分發,內網多主機服務的負載均衡。這些都是nginx的優點,因此將nginx暴露在公網ip下,直接處理http請求是更爲穩當的策略。git

2:雲主機上nginx軟件的安裝

#centos
sudo yum install nginx

#ubuntu
sudo apt install nginx

3:nginx的配置

#centos上是對/etc/nginx/nginx.conf文件進行配置
#須要改變的地方很是少,主要是server域下面的三個地方:(以下)
# 1:listen 80  監聽公網ip的80端口(記得打開centos和waf的端口防火牆)
# 2:server_name 後面跟上本身購買的域名,若是沒有,直接使用該機的public ip
# 3: proxy_pass  後面跟上啓動gunicorn時,-b參數綁定的地址(不要使用0.0.0.0,這樣會將gunicorn的8080端口直接暴露在公網ip下)
server {
    listen 80;
    server_name example.org; # 這是HOST機器的外部域名,用地址也行

    location / {
        proxy_pass http://127.0.0.1:8080; # 這裏是指向 gunicorn host 的服務地址
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

  }

4:nginx和gunicorn的啓動

#centos
source /blogenv/bin/activate   
cd 到 wsgi的目錄
gunicorn -w 4 -b 127.0.0.1:8080  wsgi:app
systemctl start nginx   #沒報錯就是正常的

#ubuntu
source /blogenv/bin/activate   
cd 到 wsgi的目錄
gunicorn -w 4 -b 127.0.0.1:8080  wsgi:app
sudo service nginx restart  #沒報錯就是正常的

#查看nginx是否正常運行
ps aux|grep ngix
#經過wget or browser訪問網站是否正常工做

5:後續應該把開啓gunicorn的服務添加到系統控制命令中

#centos-systemctl

#ubuntu-service

6:請求響應的處理過程

圖片描述github

7:開源flask博客地址

https://github.com/huangtao00...flask

相關文章
相關標籤/搜索