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

yipeiwu_com5年前Python基础

首先保证你有一个可运行的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利用带权重随机数解决抽奖和游戏爆装备问题

Python利用带权重随机数解决抽奖和游戏爆装备问题

关于带权随机数 为了帮助理解,先来看三类随机问题的对比: 1.已有n条记录,从中选取m条记录,选取出来的记录前后顺序不管。 实现思路:按行遍历所有记录,约隔n/m条取一个数据即可 2.在...

python使用arcpy.mapping模块批量出图

出图是项目里常见的任务,有的项目甚至会要上百张图片,所以批量出土工具很有必要。arcpy.mapping就是ArcGIS里的出图模块,能快速完成一个出图工具。 arcpy.mapping...

Python远程视频监控程序的实例代码

老板由于事务繁忙无法经常亲临教研室,于是让我搞个监控系统,让他在办公室就能看到教研室来了多少人。o(>﹏<)o||| 最初我的想法是直接去网上下个软件,可是找来找去不是有毒就...

python读取图片的方式,以及将图片以三维数组的形式输出方法

python读取图片的方式,以及将图片以三维数组的形式输出方法

近期做个小项目需要用到python读取图片,自己整理了一下两种读取图片的方式,其中一种用到了TensorFlow,(TensorFlow是基于python3 的)。代码及运行结果如下所示...

Python求两个文本文件以行为单位的交集、并集与差集的方法

本文实例讲述了Python求两个文本文件以行为单位的交集、并集与差集的方法。分享给大家供大家参考。具体实现方法如下: s1 = set(open('a.txt','r').readl...