69. Django项目部署 nginx + uwsgi + dwebsocket

2020-11-17 12:39:41 浏览数 (1)

需求

在使用 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/;
        }


    }

}

0 人点赞