Python3 Flask+nginx+Gunicorn部署(下)

如果未看到上一篇文章的話,請先點擊這裏:

Python3 Flask+nginx+Gunicorn部署(上)


繼續上一篇文章,在上一篇文章中,我們已經把gunicornnginx運行並且安裝好了,在這一篇,我們需要進行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

image.png

這樣就可以進行訪問了,
歡迎大家訪問我的個人網站:
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章