centos7部署flask服務器實踐(flask+gunicore+nginx)

簡介

大家寫完一個flask項目後都需要佈置到服務器上面,很多時候是買現成的阿里雲服務器。但也可以在電腦的虛擬機上安裝一個centos系統,然後裝上各種環境,模擬一個用來部署的服務器。因爲要安裝的東西比較多,中間安裝的過程要查很多資料,所以我總結了整個步驟流程。

1.安裝vm虛擬機軟件

vm虛擬機軟件可以在https://www.cr173.com/soft/81088.html下載

2.下載centos系統

centos下載https://www.centoschina.cn/download/10939.html

3.虛擬機安裝centos系統

可以參考一下鏈接

https://blog.csdn.net/guin_guo/article/details/49403889

https://blog.csdn.net/zouhuu/article/details/86530787

4.centos系統與主機共享文件夾設置

這一步主要是每個人寫的flask源文件可能會比較大,可以設置共享文件夾,方便主機和虛擬機文件共享。

參考https://blog.csdn.net/qq_34129637/article/details/78949662

5.看不到共享文件夾的解決辦法

如果設置完之後看不到共享文件夾,參考https://blog.csdn.net/hd_hjx/article/details/87389177

6.切換centos賬號命令

centos有兩種賬號,一個root賬號,擁有最高權限,要安裝軟件需要用到,另外一個是登陸系統的賬號,自己設置的賬號密碼。

Centos7切換賬號方法

當前普通用戶登錄,想要切換爲root用戶,需要輸入命令su

需要輸入root密碼。輸入時候屏幕不會顯示,直接輸入完了,回車即可

回車後,即切換到root用戶下

 

想要從root用戶切換到普通用戶,只需要輸入

su  用戶名

 

即可切換到普通用戶!!

7.安裝mysql

參考https://blog.csdn.net/Hellowenpan/article/details/85035218

8.安裝python3

參考https://www.cnblogs.com/niuli1987/p/9892480.html

9.安裝nginx

參考https://www.centos.bz/2018/01/centos-7%EF%BC%8C%E4%BD%BF%E7%94%A8yum%E5%AE%89%E8%A3%85nginx/

10.創建python虛擬環境,虛擬環境安裝gunicorn

創建python的虛擬環境,安裝各種flask需要的包,還有gunicorn,這個是用來一鍵啓動flask項目的。

gunicorn -w 4 -b 127.0.0.1:5000 --access-logfile ./logs/log start:app 綠色獨角獸啓動命令

也可以設置成守護進程

11.如果主機不能訪問虛擬機中的flask服務器,有可能是centos封了flask端口

https://blog.csdn.net/o_8_o/article/details/82891941

這樣我們就可以在主機中訪問虛擬機中的flask服務了。

12.nginx配置文件和啓動

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
    }
http {
    include mime.types;
    default_type application/octet-stream;
    keepalive_timeout 65;
    #gzip on;
server {
    listen 80;
    # server_name localhost; 
    # 需要指定當前服務器在內網或公網的ip(被訪問的ip)
    server_name 127.0.0.1; 
    # 默認請求的url
    location /fill2db/ {
        #請求轉發到gunicorn服務器
        proxy_pass http://127.0.0.1:5000; 
        #設置請求頭,並將頭信息傳遞給服務器端 
        proxy_set_header Host $host; 
    }
    
    location /static {
        alias /home/www/th_reserve/static;
} } }

上面是一份基本的nginx配置文件,nginx主要有三大功能,靜態服務器,代理服務器,負載均衡。

未啓動nginx服務器前,flask的訪問地址是127.0.0.1:5000/fill2db

啓動nginx服務器後,flask的訪問地址是127.0.0.1/fill2db

有個坑的地方是一開始是用 service nginx start 的方法啓動nginx,但是啓動後127.0.0.1/fill2db並不能訪問成功。找了很久,最後換了nginx的啓動命令,就是直接輸入nginx,這樣127.0.0.1/fill2db才能訪問成功。

整個部署過程中出現了很多問題,基本都是能在網上找到有用的教程解決了。

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