使用uwsgi和gunicorn部署Django项目
2019-06-20 11:02
162 查看
原文链接:http://www.cnblogs.com/Andy-Shi/p/11057489.html
作者:momoxiaoming
链接:https://www.jianshu.com/p/6a9f242e9083
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
https://uwsgi-docs.readthedocs.io/en/latest/Management.html
https://uwsgi-docs.readthedocs.io/en/latest/Management.html
先了解下相关杀进程命令
ps -ef|grep uwsgi|grep -v grep|awk '{print $2}'|xargs kill -9 //查看uwsgi相关接口 ps -ef|grep uwsgi #查看相关端口 netstat -anp|grep 80 # 杀死进程 kill -s 9 端口号
编写ini配置文件
随便在一个文件夹下新建 项目名.ini文件
[uwsgi] #项目目录 chdir=/data/web/momoxiaoming_django #项目启动模块 module=momoxiaoming_django.wsgi master=True pidfile=/data/web/uwsgi_config/momoxiaoming_django.pid #进程id存放文件 vacuum=True max-requests=5000 #最大请求数为5000 daemonize=/data/web/uwsgi_config/momoxiaoming_django.log #日志文件目录,设置了此项可以让程序后台运行 http=:9100 #监听9100端口,注意这里不是socket,当时困恼了几天 env = LANG=en_US.UTF-8 #防止部分文件名特殊字符乱码[/code]
启动新项目
uwsgi --ini 项目名.ini文件[/code]
二. gunicorn 部署
在项目根目录新建配置文件gunicorn.confg
bind = "0.0.0.0:8000" # workers是工作线程数,一般设置成:服务器CPU个数 + 1 workers = 2 #./代表当前目录 errorlog = './logs/gunicorn.error.log' accesslog = './logs/gunicorn.access.log'[/code]
项目启动
普通命令行启动
gunicorn 项目名.wsgi -c gunicorn.confg[/code]
脚本启动(推荐)
新建gunicorn_start.sh
将上面的变量修改成自己的项目即可
#!/bin/sh #service name #项目的目录 SERVICE_DIR=/data/web/momoxiaoming_django #gunicorn的名字 SERVICE_NAME=gunicorn #gunicorn的配置文件名 SERVICE_CONF=gunicorn.conf #虚拟环境的路径 VIRTUAL_DIR=/data/web/momoxiaoming_django/venv/bin/activate #pid存放的位置 PID=gunicorn\.pid #项目启动入口 OBJECT_APP=momoxiaoming_django.wsgi cd $SERVICE_DIR source $VIRTUAL_DIR case "$1" in start) gunicorn $OBJECT_APP -c $SERVICE_DIR/$SERVICE_CONF >/dev/null 2>&1 & echo $! > $SERVICE_DIR/$PID echo "*** start $SERVICE_NAME ***" ;; stop) kill `cat $SERVICE_DIR/$PID` rm -rf $SERVICE_DIR/$PID echo "*** stop $SERVICE_NAME ***" sleep 2 P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'` if [ "$P_ID" == "" ]; then echo "*** $SERVICE_NAME process not exists or stop success ***" else echo "*** $SERVICE_NAME process pid is:$P_ID ***" echo "*** begin kill $SERVICE_NAME process,kill is:$P_ID ***" kill -9 $P_ID fi ;; restart) $0 stop sleep 2 $0 start echo "*** restart $SERVICE_NAME ***" ;; *) ## restart $0 stop sleep 2 $0 start ;; esac exit 0
启动项目
sh gunicorn_start.sh start[/code]
停止项目
sh gunicorn_start.sh stop[/code]
作者:momoxiaoming
链接:https://www.jianshu.com/p/6a9f242e9083
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
转载于:https://www.cnblogs.com/Andy-Shi/p/11057489.html
相关文章推荐
- 使用Nginx+uwsgi部署Django项目
- CENTOS7 使用 Nginx + Uwsgi 部署 Django 项目
- 阿里云部署Django项目(超详细图文教程) —— Part2. 使用Nginx, Gunicorn, virtualenv, supervisor 部署Django应用
- 使用uwsgi和nginx在服务器部署django项目
- 使用uWSGI+nginx部署Django项目
- 使用uwsgi+nginx部署django项目
- 使用Gunicorn Ngnx Supervisor部署Django项目
- 阿里云(ubuntu)下使用nginx、uwsgi部署django项目
- 编写Django项目并使用uwsgi和nginx部署在Linux平台
- 使用uwsgi部署django项目
- 使用uWSGI部署django项目
- 使用nginx + uwsgi socket的方式来部署Django项目
- 【转】五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下)
- 使用Nginx+uWSGI+Django方法部署Django程序
- 使用Nginx+uWSGI+Django方法部署Django程序(下)
- Python进阶(三十七)-Windows7使用nginx+apache部署django项目
- Django项目部署:Nginx+uWSGI服务器
- django+nginx+gunicorn+ubuntu18.4实现django项目部署
- Ubuntu+nginx+uwsgi部署Django项目
- nginx1.4.7+uwsgi+django1.9.2项目部署,liunx系统为ubuntu14.0.4。