使用daphne部署django channles websocket 項目


前言:最近寫了一個項目,有部分功能使用django channles websocket寫的,使用的鏈接是wss:// 或者 ws:// ,到真實在uwsgi+nginx部署時,發現wss:// 或者 ws://不可用了,后來查了比較多時間,嘗試過修改nginx配置文件,嘗試過修改uwsgi配置文件,嘗試過使用gunicorn部署,都沒有解決此問題。最終發現需要多啟用一個進程daphne,使用daphne啟動django channles websocket對應功能進程,問題得到解決。

1.增加代碼:在setting.py同級目錄下增加文件

  vim asgi.py

import os
import django
from channels.routing import get_default_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "boamp.settings")
django.setup()
application = get_default_application()

2.setting.py內添加配置:

ASGI_APPLICATION = 'webssh.routing.application'

3.安裝必要模塊:

啟動前安裝必須模塊:
/opt/python36/bin/pip3 asgiref==2.3.2
/opt/python36/bin/pip3 pyOpenSSL==19.1.0    #啟用ssl必須模塊
/opt/python36/bin/pip3 service-identity==18.1.0

4.啟動方式:

/opt/python36/bin/daphne -b 0.0.0.0 -p 8913 boamp.asgi:application -v2  #http協議 channles websocket 使用ws://
/opt/python36/bin/daphne -e ssl:8913:privateKey=/etc/nginx/ssl/證書.key:certKey=/etc/nginx/ssl/證書.crt boamp.asgi:application -v2  #https協議 channles websocket 使用wss://

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM