一、Flask项目部署
Nginx和uWSGI都是Web服务器,Nginx负责静态内容,uWSGI负责Python这样的动态内容,二者配合共同提供Web服务以实现提高效率和负载均衡等目的。
为此,Django和Flask项目部署过程大致是一样的,只需要修改uwsgi.py文件即可,参考Django项目部署nginx+uwsgi
- 基本流程
- 基本环境(虚拟环境、数据库)
- 将项目拷贝到线上服务器
- 安装项目依赖
- 通过python manager ruserver -r -d -h '0.0.0.0' 保证项目能正常启动并访问
- 安装Nginx
- 配置Nginx
- 测试Nginx能正常使用
- Nginx对应到项目的静态目录static中
- uwsgi.ini文件的编写
- 通过uwsgi --ini uwsgi.ini启动项目,保证项目能启动并访问
- Nginx对应uwsgi
ps -ef | grep uwsgi 查看进程
pkill -9 uwsgi 杀死服务对应的进程
- uwsgi.ini配置
[uwsgi]
# socket 和 nginx对接的启动方式
socket=0.0.0.0:8000
# 自己直接作为 Web服务器进行启动
#http=0.0.0.0:8000
# 工程目录
chdir=/var/www/FlaskAPI
# 入口文件
wsgi-file=manager.py
# 应用的名字 app
callable=app
# 进程信息 进程数量
processes=2
# 线程信息 线程数量
threads=2
# 是否开启主从结构
master=True
# 存进程id的文件
pidfile=uwsgi.pid
# 日志文件
daemonize=uwsgi.log
二、配置pycharm(项目同步)
将开发环境和项目同步到服务器上,在pycharm中集成了项目部署相关的工具。
- 配置服务器信息
Toos > Deployment > configuration > +(添加) > 选择STPF
Connection中的配置:
STPF host: 服务器IP
Port: 端口号(默认就22)
User name: 服务器用户名
Password: 服务器密码
Mappings中的配置:
Local path: 本地项目路径
Deloyment path on server 'xxx': 远程服务器项目地址(需要自己手动创建)
-
相关操作