一. 安裝 flask
注: python3 + pip3 安裝,參考: https://www.cnblogs.com/grayhuang/p/13443801.html
執行 pip3 install flask
校驗 flask 是否安裝成功: ( import flask ,沒報錯即表示安裝成功)
創建一個hello.py的文件,copy下面的內容到文件中
1 from flask import Flask 2 app = Flask(__name__) 3 @app.route("/") 4 5 def hello(): 6 return "Hello World!" 7 8 if __name__ == "__main__": 9 app.run(host='0.0.0.0', port=8080)
然后執行python3 hello.py
二. 安裝 nginx
安裝基礎包:
缺少gcc,沒法make,所以安裝gcc
yum -y install gcc
安裝ssl
yum -y install openssl-devel
安裝zlib
yum install zlib yum install zlib-devel
安裝 libffi
yum -y install libffi-devel
安裝nginx -- 一般 centOS 自帶安裝包
yum -y install nginx
nginx 管理服務命令
systemctl start nginx #開啟nginx服務
systemctl stop nginx #停止nginx服務
systemctl restart nginx #重啟nginx服務
開啟nginx后,瀏覽器中輸入服務器ip地址,能夠打開
三. 安裝 uwsgi
pip3 install uwsgi
四.配置
1. 在web 項目根目錄中,創建一個名為uwsgi.ini的文件,這是uwsgi的配置文件,文件內容:
[uwsgi] # uwsgi 啟動時所使用的地址與端口 (需要在 nginx 配置匹配) socket = 127.0.0.1:8080 #虛擬環境目錄 (如果有) #home = /root/app/test #項目目錄 pythonpath = /root/app/test #指向網站訪問根目錄 chdir = /root/app/test #python啟動程序文件 wsgi-file = test.py #python程序內用於啟動的application變量名 callable = app #處理器數 processes = 4 #線程數 threads = 2 #狀態監測地址 stats = 127.0.0.1:9191
2.啟動uwsgi.ini
uwsgi --ini xxx.ini >>> 進入網站項目目錄,執行命令務
uwsgi --stop xxx.pid >>> 停掉uwsig
uwsgi --reload xxx.pid >>> 重啟
killall -s INT /usr/local/bin/uwsgi >>> 殺掉線程,停止服務
3.修改 nginx 配置文件 nginx.conf ,一般默認在 /etc/nginx
3.1 修改server_name后的的值為雲服務的公網IP
server_name xxx.xxx.xxx.xxx;
3.2 在server中添加:
access_log /root/app/test/logs/access.log;
error_log /root/app/test/logs/error.log;
3.3 在location中添加:
include uwsgi_params; uwsgi_pass 127.0.0.1:8001; --- uwsgi 服務地址與端口, nginx訪問 uwsgi本地連接即可 uwsgi_param UWSGI_PYHOME /root/app/test; --- python 執行目錄 uwsgi_param UWSGI_CHDIR /root/app/test; --- 應用目錄 uwsgi_param UWSGI_SCRIPT app:app;
3.4 修改后保存並退出,重啟nginx服務
./nginx -t >>> 選進入 nginx 執行目錄 /usr/sbin/ ,執行命令先檢查配置文件是否有錯,沒有錯就可以啟動 web 服務 ./nginx >>> 啟動nginx ./nginx -s reload >>> 重啟nginx命令(注意:nginx啟動時,才能使用功能該命令,否則會報錯) ./nginx -s stop >>> 停止
4. 通過公網地址訪問 web 服務