一、启动django
用gunicorn 启动django
- 1 在项目根目录新建 gunicorn.conf.py
import logging
import logging.handlers
bind = "127.0.0.1:8080" #绑定的ip与端口,根据需要修改
backlog = 512 #监听队列数量,64-2048
# 工作模式协程
worker_class = 'sync' #使用gevent模式,还可以使用sync 模式,默认的是sync模式
workers = 4 # multiprocessing.cpu_count() #进程数
threads = 16 #multiprocessing.cpu_count()*4 #指定每个进程开启的线程数
loglevel = 'info' #日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
accesslog = "-" #访问日志文件,"-" 表示标准输出
errorlog = "-" #错误日志文件,"-" 表示标准输出
proc_name = 'django' #进程名
- 2 启动django
普通启动:gunicorn -c gunicorn.conf.py dsmis.wsgi:application(临时调试用)
守护进程启动:gunicorn -c gunicorn.conf.py -D dsmis.wsgi:application(稳定运行用)
二、更新代码,并重启
- 1 用FTP软件或者git将原代码替换
- 2 如果 models 代码有跟新,需要先运行数据库迁移
- 3 运行
pstree -ap|grep gunicorn查找django进程最前面的进程PID - 4 重启命令:
kill -HUP 进程PID - 5 访问网站是否成功
三、删库,重新运行
- 1 运行
pstree -ap|grep gunicorn查找django进程最前面的进程PID - 2 关闭django:kill -9 进程PID
- 3 进入mysql 数据库:
msyql -u 用户名 -p,然后输入密码 - 4 删除数据库:
drop 数据库名 database; - 5 新建数据库:
create database dsmis default charset utf8 COLLATE utf8_general_ci;然后exit;退出mysql - 6 删除app下面的所有迁移记录文件
- 7 数据库迁移
- 8 加载初始化数据
python managy loaddata 初始化数据.json - 9
python managy runserver测试是否有问题,没问题则关闭 - 10 启动守护进程:
gunicorn -c gunicorn.conf.py -D dsmis.wsgi:application