Django使用uwsgi部署时的配置以及django日志文件的处理方法


Posted in Python onAugust 30, 2019

首先保证你有一个可运行的django工程

然后在虚拟环境里面安装好uwsgi

pip install uwsgi

配置nginx的服务如下

server {                                   
 listen 80 default_server;
 listen [::]:80 default_server;
 root /var/www/html;
 server_name _;
 location / {
  try_files $uri $uri/ =404;
 }
 location /account {
  include uwsgi_params; #表示使用uwsgi代理
  uwsgi_pass 127.0.0.1:8000; #这里配置的必须和uwsgi里的一致
 }
}

这里需要注意的是,nginx中的 location /account 要和你在django中的地址一致,即django 和nginx是可以找到的路由

先在脚本中测试使用简单命令启动服务

uwsgi --socket 127.0.0.1:8000 --wsgi-file yourproject/wsgi.py

注意:这里的yourproject 用你自己的目录替换

如果能走到这儿,可以正常运行,那么就是成功的,否则自己查看控制台中输出的错误信息,然后对应的去修改。

最后是写入到配置文件的运行方式,新建一个test.ini 文件

[uwsgi]
#监听的地址 必须和nginx中的一致
socket = 127.0.0.1:8000
#wsgi文件,在你的项目配置目录下可以找到 注意:最后输入绝对地址
wsgi-file = /home/aeasringnar/my_Project/jwt-test/my_jwt_test/wsgi.py
# 你的项目的根目录 绝对地址
chdir = /home/aeasringnar/my_Project/jwt-test
# 你项目使用的虚拟环境的根目录 绝对地址
home = /home/aeasringnar/.envs/jwt-test
#你的日志目录,注意的是,你的django控制台输出的日志都会在这里输出,uwsgi的相关日志也在这里
daemonize = /home/aeasringnar/my_Project/jwt-test/test.log
####下面的配置可以有 也可以没有,看个人需求,不建议配置
# 主进程
master = true 
# 多站模式  
vhost = true 
# 多站模式时不设置入口模块和文件   
no-site = true 
# 子进程数  
workers = 2   
# 退出、重启时清理文件 
vacuum = true

然后启动

uwsgi --ini test.ini

uwsgi test.ini

启动后会输出

[uWSGI] getting INI configuration from test.ini

这时候再去访问查看是否启动成功

如果服务挂了,去日志文件查看

这里需要查看端口使用情况

附:相关命令Linux环境下

查看已经连接的服务端口(ESTABLISHED)

netstat -a

查看所有的服务端口(LISTEN,ESTABLISHED)

netstat -ap

查看指定端口,可以结合grep命令:

netstat -ap | grep 8000

也可以使用lsof命令:

lsof -i:8000 #可以查看对应的PID

若要关闭使用这个端口的程序,使用kill + 对应的pid

kill -9 PID号

本例小窍门:关闭所有uwsgi进程命令

killall -9 uwsgi

以上这篇Django使用uwsgi部署时的配置以及django日志文件的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python正则表达式介绍
Aug 06 Python
Python异常处理操作实例详解
May 10 Python
python逆序打印各位数字的方法
Jun 25 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
selenium 安装与chromedriver安装的方法步骤
Jun 12 Python
Python OpenCV中的resize()函数的使用
Jun 20 Python
python打开windows应用程序的实例
Jun 28 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
python3 字符串知识点学习笔记
Feb 08 Python
如何用python写个模板引擎
Jan 14 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 #Python
Python 批量刷博客园访问量脚本过程解析
Aug 30 #Python
快速解决docker-py api版本不兼容的问题
Aug 30 #Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 #Python
python pillow模块使用方法详解
Aug 30 #Python
docker-py 用Python调用Docker接口的方法
Aug 30 #Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 #Python
You might like
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
LayUI数据接口返回实体封装的例子
2019/09/12 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
python动态加载包的方法小结
2016/04/18 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python 数据结构之队列的实现
2017/01/22 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
JSF界面控制层技术
2013/06/17 面试题
高中毕业自我鉴定范文
2013/10/02 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
信访维稳工作汇报
2014/10/27 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
2015年度女工工作总结
2015/10/22 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript