需求
在使用 uwsgi配置dwebsocket的时候,总会有使用上的问题。
image-20200420111715653
但是,直接使用python manage.py runserver
启动是没问题的。
主要的原因是没有在项目的settings
配置文件设置uwsgi
支持dwebsocket
。
配置uwsgi支持django后端的websocket(dwebsocket模块)
修改django项目的settings.py,添加一条数据
代码语言:javascript复制# 配置uwsgi支持dwebsocket
WEBSOCKET_FACTORY_CLASS = 'dwebsocket.backends.uwsgi.factory.uWsgiWebSocketFactory'
修改uwsgi的配置文件,添加异步选项
代码语言:javascript复制# 设置异步选项
async = 30
ugreen = ''
http-timeout = 300
nginx配置uwsgi转发
代码语言:javascript复制http {
...
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log logs/host.access.log main;
# 配置动态请求使用uwsgi
location / {
include uwsgi_params; # 导入nginx与uwsgi通讯的模块
uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
uwsgi_pass unix:/work/performance/uwsgi.sock; # 指定uwsgi的sock文件: 所有动态请求直接转发
}
# 配置静态文件路径
location /static/ {
alias /work/performance/static/;
}
}
}