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函数可变参数定义及其参数传递方式实例详解
May 25 Python
Python实现的矩阵类实例
Aug 22 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
Python模块搜索路径代码详解
Jan 29 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
python 实现敏感词过滤的方法
Jan 21 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
Python利用WMI实现ping命令的例子
Aug 14 Python
如何基于python对接钉钉并获取access_token
Apr 21 Python
Python实现一个优先级队列的方法
Jul 31 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
pycharm远程连接服务器并配置python interpreter的方法
Dec 23 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
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
PHP ajax 分页类代码
2008/11/13 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
VBScript版代码高亮
2006/06/26 Javascript
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
js 内存释放问题
2010/04/25 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
Python中DJANGO简单测试实例
2015/05/11 Python
详解Python字符串对象的实现
2015/12/24 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
家居装修公司创业计划书范文
2014/03/20 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
2015年入党决心书
2015/02/05 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
详解Laravel制作API接口
2021/05/31 PHP
PHP实现两种排课方式
2021/06/26 PHP
日元符号 ¥
2022/02/17 杂记
Golang解析JSON对象
2022/04/30 Golang