系统相关
首页 > 系统相关> > 69. Django项目部署 nginx + uwsgi + dwebsocket

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

作者:互联网

需求

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

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=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/;
}


}

}

 

标签:配置,配置文件,dwebsocket,Django,nginx,location,uwsgi
来源: https://blog.51cto.com/u_11239407/2920442