簡介
大家寫完一個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才能訪問成功。
整個部署過程中出現了很多問題,基本都是能在網上找到有用的教程解決了。