欢迎访问玛尊真服务平台,本站唯一网址:www.isodyi.com,未经明确书面许可,任何人不得擅自使用“玛尊真”等商标。
玛尊真ISO认证服务公司

django2.2+Daphne+nginx+supervisor生产环境部署方法

本篇内容介绍了“django2.2+Daphne+nginx+supervisor 生产环境部署方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联坚实的技术研发基础赢得了行业内的良好口碑,公司成立10多年来,为1000多家企业提供过网站建设、软件开发、搜索引擎优化技术、互联网大数据整合营销服务,多年的技术服务成功经验、众多的客户使我们能懂得更多,做得更好。"让您的网站跑起来"是我们一直追求的目标!

之前项目中使用了 webscoket 进行实现消息实时通知,我们是另外单独运行了一个消息推送服务项目,使用了django-channels 实现websocket,项目使用的是asgi 协议,不是原先的wsgi协议。运行项目时,提示也和wsgi的不一样,如下图:

django2.2+Daphne+nginx+supervisor 生产环境部署方法

官方推荐的 asgi 服务器是 daphne 处理 websocket 请求,下面说下如何部署daphne和supervisor。

1.安装部署daphne

安装 django-channels 的时候 daphne 就已经连带一起安装了
在项目的根目录新建一个asgi.py文件,和 wsgi文件同级,内容如下:

import osimport djangofrom channels.routing import get_default_applicationos.environ.setdefault("DJANGO_SETTINGS_MODULE", "项目名称.settings")django.setup()application = get_default_application()


2.测试 daphne 配置是否正确:
输入如下命令,看 asgi 服务是否正常启动:

daphne -b 0.0.0.0 -p 8008 项目名称.asgi:application

在websocket在线测试网站,测试websocket是否可以正确建立链接

django2.2+Daphne+nginx+supervisor 生产环境部署方法

3.配置supervisor

首先是在终端输入命令 pip install supervisor 安装 supervisor
执行 echo_supervisord_conf > /etc/supervisord.conf 生成supervisor的配置文件
编辑配置文件,输入如下内容:

[program:supervisor项目名称]directory=/dqcy_message  #项目目录command=daphne -b 0.0.0.0 -p 8008 代码项目名称.asgi:application #启动命令autostart=trueautorestart=truestdout_logfile=/tmp/websocket.log  #日志redirect_stderr=true

启动supervisor命令:supervisord -c /etc/supervisord.conf
启动或者停止 supervisor 项目服务:

supervisorctl start supervisor项目名称supervisorctl stop supervisor项目名称

4.配置nginx

使用nginx转发websocket,方面拓展后期的负载均衡

server {        listen 80;        server_name 浏览器访问的ip地址;
       location /async {            proxy_http_version 1.1;            proxy_set_header Upgrade $http_upgrade;            proxy_set_header Connection "upgrade";
           proxy_redirect off;            proxy_set_header Host $host;            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_set_header X-Forwarded-Host $server_name;            proxy_pass http://127.0.0.1:8008/async; # websocket启动端口号和路由前缀,要和项目中routing配置的路径保持一致}

“django2.2+Daphne+nginx+supervisor 生产环境部署方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!

上一篇:没有了
快速申请办理
称呼: *
电话: *

订单提交后,10分钟内,我们将安排工作人员和您联系!

热点资讯
联系我们
大悟县玛尊真商贸有限公司
电   话:0712-7218610

传   真:0712-7218610

谭经理:18980820575

王主任:135 1821 9792

邮   箱:631063699@qq.com

地   址:湖北省孝感市大悟县城关镇鄂北物流城13栋125号

微信二维码
扫一扫 关注我们
电话:

189-8208-1108

湖北省孝感市大悟县城关镇鄂北物流城13栋125号八戒云创空间-D1-430

ISO体系认证
iso认证
服务体系认证
有机产品认证
OHSAS18001
ITSS认证
信用评级
中国招标企业信用认证
资信等级
重合同守信用
企业信用认证
中国诚信供应商
质量、服务诚信认证
CMMI
CMMI1
CMMI2
CMMI3
CMMI4
CMMI5
系统集成
系统集成一级
信息系统集成二级
信息系统集成三级
信息系统集成四级
涉密信息系统集成
资质许可证
生产许可证认证
GS认证
CCC认证
中国节能认证
十环认证
知识产权

Copyright © 2002-2025

大悟县玛尊真商贸有限公司 版权所有

备案/许可证号:鄂ICP备2025140345号-7   网站建设创新互联
 
QQ在线咨询
客服咨询
咨询热线
189-8208-1108