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使用Scrapy爬取妹子图
May 28 Python
python脚本监控docker容器
Apr 27 Python
Python实现的密码强度检测器示例
Aug 23 Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 Python
Python实现按特定格式对文件进行读写的方法示例
Nov 30 Python
python中从str中提取元素到list以及将list转换为str的方法
Jun 26 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
对python中不同模块(函数、类、变量)的调用详解
Jul 16 Python
djano一对一、多对多、分页实例代码
Aug 16 Python
python删除某个目录文件夹的方法
May 26 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
php循环输出数据库内容的代码
2008/05/24 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
2017/06/13 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
python创建进程fork用法
2015/06/04 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
Django中的AutoField字段使用
2020/05/18 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python help函数实例用法
2020/12/06 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
python如何修改文件时间属性
2021/02/05 Python
企业门卫岗位职责
2013/12/12 职场文书
冰淇淋店的创业计划书
2014/02/07 职场文书
防汛通知
2015/04/25 职场文书
项目验收申请报告
2015/05/15 职场文书
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang