WEB PROJECT DEPLOYMENT
WEB项目开发的最后一个步骤,通过项目的打包和生产环境上的项目部署,使得项目能在线正常提供web服务器给客户端进行使用
python web项目主要通过web.py、flask、django、flask等类似框架进行开发,部署方式也是大同小异,有项目单独部署方式,有项目多台主机分布式部署方式等等,本章节针对Django、Tornado、Flask框架开发的web项目部署方式进行一一介绍。
目录
WEB PROJECT DEPLOYMENT 1
1. Django web project deployment 1
1.1. 项目准备 1
1.2. 生产环境准备 1
1.3. 项目部署【UWSGI部署】 2
1.4. 项目部署【UWSGI + NGINX】 2
1.5. 项目分布式部署【UWSGI + NGINX】 4
2. Tornado web project deployment 6
2.1. 项目准备 6
2.2. 项目常规部署【使用自带服务器直接操作】 6
2.3. supervisor管理进程 6
2.4. supervisor+nginx分布式部署 8
3. Flask web project deployment 8
Django web project deployment
项目准备
准备打包好项目组开发的web项目,通过FTP上传到指定的linux/unix服务器
案例项目:mysite/
生产环境准备
Django生产环境服务器,常规情况下使用Linux/Unix平台作为服务器平台,需要准备如下运行环境
环境:python2.x / python3.x
软件:mysql-server、mysql-client
模块:pymysql、pillow、django、uwsgi
项目部署【UWSGI部署】
在生产环境打开mysql-client命令行,执行项目sql脚本语句,初始化数据库
在项目根目录中,添加uwsgi.ini配置文件,添加如下内容
[uwsgi]
# 指定服务器部署IP地址和端口
http=192.168.10.120:8000
# 配置项目在当前服务器中的绝对路径
chdir=/home/worker/django_pro_1_11/mysite
# 相对路径指定当前项目中wsgi.py
wsgi-file=mysite/wsgi.py
# 设置启动的进程数量
processes=4
# 设置每个进程启动的线程数量
threads=2
# 设置主进程
master=True
# 指定保存主进程编号的文件
pidfile=uwsgi.pid
# 指定守护进程的日志存储
daemonize=uwsgi.log
项目运行
启动项目,当前路径中,直接运行命令启动项目
uwsgi --ini uwsgi.ini
停止项目,通过包含主进程编号的文件设置停止项目
uwsgi --stop uwsgi.pid