接上篇:基於flask框架的博客線上部署過程---(1)nginx
gunicron雖然能夠直接對公網提供http請求,可是功能上遠沒有nginx豐富,如http請求的過濾,針對不一樣請求頭作不一樣業務的分發,內網多主機服務的負載均衡。這些都是nginx的優點,因此將nginx暴露在公網ip下,直接處理http請求是更爲穩當的策略。git
#centos sudo yum install nginx #ubuntu sudo apt install 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; } }
#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訪問網站是否正常工做
#centos-systemctl #ubuntu-service
圖片描述github