如果未看到上一篇文章的話,請先點擊這裏:
Python3 Flask+nginx+Gunicorn部署(上)
繼續上一篇文章,在上一篇文章中,我們已經把gunicorn和nginx運行並且安裝好了,在這一篇,我們需要進行nginx與gunicorn端口進行綁定
上一篇,我們已經將gunicorn運行起來了
gunicorn -w 4 -b 127.0.0.1:8000 入口文件名:app
nginx操作目錄:
/usr/local/nginx/sbin
在/usr/local/nginx/sbin目錄下可以進行nginx的重啓、重載、停止與啓動。
在這裏我們進行通過nginx反向代理網站域名與服務器,這裏可能說得有些繞口,
通俗點:
就是別人訪問我們的網站,是通過nginx反向代理再把訪問請求發送到flask服務器上的。
首先我們設置一下nginx的配置文件
cd /usr/local/nginx/conf
vi nginx.conf
然後打開配置文件:
#gzip on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
server {
listen 80;
server_name www.00reso.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
# index index.html index.htm;
proxy_pass http://127.0.0.1:8000;
access_log /home/admin/api_access.log;
proxy_read_timeout 60;
error_log /home/admin/api_error.log;
}
主要動的地方:
#gzip on;
# 1代理的設置吧,這個都是這樣設置的
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 2綁定的域名
server_name www.00reso.com;
# 3 監聽本服務器的端口,設置log,請求時間等
proxy_pass http://127.0.0.1:8000;
access_log /home/admin/api_access.log;
proxy_read_timeout 60;
error_log /home/admin/api_error.log;
然後進行保存。
接下來重載一下nginx文件,在/usr/local/nginx/sbin/nginx下
使用命令:
sudo nginx -t
如果看到
1 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2 nginx: configuration file /etc/nginx/nginx.conf test is successful
就是代表成功了。
重新啓動下nginx
sudo service nginx restart
這裏重啓nginx的命令可能會行不通,這時候,你用
ps -e aux|grep nginx
把nginx的進程殺掉,
然後在 /usr/local/nginx/sbin目錄下再次啓動nginx
nginx
如果看到:
[admin@izbp11722iq94py8qx691sz conf]$ ps -e aux|grep nginx
root 2657 0.0 0.0 24952 784 ? Ss Jun25 0:00 nginx: master process nginx
nobody 2658 0.0 0.1 25388 1752 ? S Jun25 0:00 nginx: worker process
admin 13814 0.0 0.0 112664 968 pts/2 S+ 20:59 0:00 grep --color=auto nginx
這個情況,就是啓動nginx成功了,
驗證
1 使用本地ping
curl localhost:80
如果出現flask index頁面的內容,就表示nginx與gunicorn配置成功,
2 遠程直接輸入www.00reso.com 看是否能進行訪問,如果沒有出現失敗的頁面,則訪問成功,如果出現失敗的頁面,則大多是防火牆或80端口關閉了,這裏我們需要把防火牆打開。
編輯防火牆白名單
[root@localhost ~]# vim /etc/sysconfig/iptables
增加下面一行代碼
-A INPUT -p tcp -m state -- state NEW -m tcp --dport 80 -j ACCEPT
保存退出,重啓防火牆
[root@localhost ~]# service iptables restart
這樣就可以進行訪問了,
歡迎大家訪問我的個人網站:
www.00reso.com
目前自己還在探索中,現在在快馬加鞭的優化中,
因爲flask+nginx+gunicorn部署自己踩過了很多坑,但是從坑中踩過來,差不多就都懂了。還好沒放棄~~
adTime:
更多教程請訪問:
「蛇崽網盤教程資源」公s衆s號 ,在微sssd信2後臺回覆「領取資源」,獲取IT資源200G乾貨大全。
在微阿斯頓發信後臺回覆「130個小程序」,即可免費領取享有導入就能跑的微信小程序
在微發電房信後臺回覆「Flutter移動電商」,即可免費領取Flutter移動電商系列全套
感謝以下的參考資料:
https://www.cnblogs.com/shenckicc/p/7003242.html?utm_source=itdadao&utm_medium=referral
https://www.cnblogs.com/taiyonghai/p/6728707.html
http://www.vuln.cn/8832