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

Posted 海洋的渔夫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了69. Django项目部署 nginx + uwsgi + dwebsocket相关的知识,希望对你有一定的参考价值。

需求

在使用 uwsgi配置dwebsocket的时候,总会有使用上的问题。

image-20200420111715653

但是,直接使用python manage.py runserver启动是没问题的。

主要的原因是没有在项目的settings配置文件设置uwsgi支持dwebsocket

配置uwsgi支持django后端的websocket(dwebsocket模块)

修改django项目的settings.py,添加一条数据

# 配置uwsgi支持dwebsocket
WEBSOCKET_FACTORY_CLASS = 'dwebsocket.backends.uwsgi.factory.uWsgiWebSocketFactory'

修改uwsgi的配置文件,添加异步选项

# 设置异步选项
async = 30
ugreen = ''
http-timeout = 300

nginx配置uwsgi转发

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/;
}


}

}


以上是关于69. Django项目部署 nginx + uwsgi + dwebsocket的主要内容,如果未能解决你的问题,请参考以下文章

nginx+uwsgi+Django(基于CentOS)

mac+django(1.8.2)+uwsgi+nginx 部署

django 项目生产环境部署

Django 项目分布式部署【UWSGI + NGINX】

使用 Gunicorn 和 nginx 部署 Django 项目

nginx 对django项目的部署