一、Flask項(xiàng)目部署
Nginx和uWSGI都是Web服務(wù)器,Nginx負(fù)責(zé)靜態(tài)內(nèi)容,uWSGI負(fù)責(zé)Python這樣的動(dòng)態(tài)內(nèi)容,二者配合共同提供Web服務(wù)以實(shí)現(xiàn)提高效率和負(fù)載均衡等目的。
為此,Django和Flask項(xiàng)目部署過(guò)程大致是一樣的,只需要修改uwsgi.py文件即可,參考Django項(xiàng)目部署nginx+uwsgi
- 基本流程
- 基本環(huán)境(虛擬環(huán)境、數(shù)據(jù)庫(kù))
- 將項(xiàng)目拷貝到線上服務(wù)器
- 安裝項(xiàng)目依賴(lài)
- 通過(guò)python manager ruserver -r -d -h '0.0.0.0' 保證項(xiàng)目能正常啟動(dòng)并訪問(wèn)
- 安裝Nginx
- 配置Nginx
- 測(cè)試Nginx能正常使用
- Nginx對(duì)應(yīng)到項(xiàng)目的靜態(tài)目錄static中
- uwsgi.ini文件的編寫(xiě)
- 通過(guò)uwsgi --ini uwsgi.ini啟動(dòng)項(xiàng)目,保證項(xiàng)目能啟動(dòng)并訪問(wèn)
- Nginx對(duì)應(yīng)uwsgi
ps -ef | grep uwsgi 查看進(jìn)程
pkill -9 uwsgi 殺死服務(wù)對(duì)應(yīng)的進(jìn)程
- uwsgi.ini配置
[uwsgi]
# socket 和 nginx對(duì)接的啟動(dòng)方式
socket=0.0.0.0:8000
# 自己直接作為 Web服務(wù)器進(jìn)行啟動(dòng)
#http=0.0.0.0:8000
# 工程目錄
chdir=/var/www/FlaskAPI
# 入口文件
wsgi-file=manager.py
# 應(yīng)用的名字 app
callable=app
# 進(jìn)程信息 進(jìn)程數(shù)量
processes=2
# 線程信息 線程數(shù)量
threads=2
# 是否開(kāi)啟主從結(jié)構(gòu)
master=True
# 存進(jìn)程id的文件
pidfile=uwsgi.pid
# 日志文件
daemonize=uwsgi.log
二、配置pycharm(項(xiàng)目同步)
將開(kāi)發(fā)環(huán)境和項(xiàng)目同步到服務(wù)器上,在pycharm中集成了項(xiàng)目部署相關(guān)的工具。
- 配置服務(wù)器信息
Toos > Deployment > configuration > +(添加) > 選擇STPF
Connection中的配置:
STPF host: 服務(wù)器IP
Port: 端口號(hào)(默認(rèn)就22)
User name: 服務(wù)器用戶名
Password: 服務(wù)器密碼
Mappings中的配置:
Local path: 本地項(xiàng)目路徑
Deloyment path on server 'xxx': 遠(yuǎn)程服務(wù)器項(xiàng)目地址(需要自己手動(dòng)創(chuàng)建)
-
相關(guān)操作
image
