使用nginx、gunicorn、daphne(用于频道2)和supervisor部署django应用程序
正如标题所示,我正试图使用上述技术堆栈部署django应用程序。服务器端使用django,前端使用angular 6。这是我有生以来第一次这样做,有些事情我还不太清楚,所以如果我说了一些奇怪的话,请纠正我使用nginx、gunicorn、daphne(用于频道2)和supervisor部署django应用程序,django,nginx,Django,Nginx,正如标题所示,我正试图使用上述技术堆栈部署django应用程序。服务器端使用django,前端使用angular 6。这是我有生以来第一次这样做,有些事情我还不太清楚,所以如果我说了一些奇怪的话,请纠正我 我正在使用Nginx提供静态服务。配置如下所示: serverside\u nginx\u static.conf server { listen [::]:80 ; root /home/user/serverside_deployment/static/;
server {
listen [::]:80 ;
root /home/user/serverside_deployment/static/;
index index.html index.htm index.nginx-debian.html;
client_max_body_size 4G;
access_log /home/user/serverside_deployment/logs/nginx-access.log;
error_log /home/user/serverside_deployment/logs/nginx-error.log;
location / {
try_files $uri $uri/ /index.html;
proxy_set_header Host $http_host;
proxy_redirect off;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/user/serverside_deployment/static/;
}
upstream mtt_server {
server unix:/home/user/serverside_deployment/serverside_env/run/gunicorn.sock fail_timeout=0;
}
server {
listen 8000;
server_name 192.168.10.98;
client_max_body_size 4G;
access_log /home/user/serverside_deployment/logs/nginx-access.log;
error_log /home/user/serverside_deployment/logs/nginx-error.log;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://mtt_server;
break;
}
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/user/serverside_deployment/static/;
}
}
1.1我还使用Nginx与gunicorn通信,gunicorn又与django应用程序本身通信。相应的配置如下所示:
serverside\u nginx.conf
server {
listen [::]:80 ;
root /home/user/serverside_deployment/static/;
index index.html index.htm index.nginx-debian.html;
client_max_body_size 4G;
access_log /home/user/serverside_deployment/logs/nginx-access.log;
error_log /home/user/serverside_deployment/logs/nginx-error.log;
location / {
try_files $uri $uri/ /index.html;
proxy_set_header Host $http_host;
proxy_redirect off;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/user/serverside_deployment/static/;
}
upstream mtt_server {
server unix:/home/user/serverside_deployment/serverside_env/run/gunicorn.sock fail_timeout=0;
}
server {
listen 8000;
server_name 192.168.10.98;
client_max_body_size 4G;
access_log /home/user/serverside_deployment/logs/nginx-access.log;
error_log /home/user/serverside_deployment/logs/nginx-error.log;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://mtt_server;
break;
}
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/user/serverside_deployment/static/;
}
}
404notfound
的消息,说无法找到已定义的频道。除非我弄错了,否则为了解决这个问题,我需要使用Daphne作为接口服务器部署django通道。
手册似乎有点过时,但给出了部署过程应该是什么样子的想法。然而,我的情况更复杂,我不知道如何将达芙妮部分与我已经拥有的部分联系起来。我只需要让WebSocket正常工作,我不认为我完全理解为什么它找不到开放的频道
这是一个有趣的任务,但不幸的是,没有太多的时间来解决它,所以我将感谢任何帮助
附言
此时静电传感器的位置有点错误,但稍后会将其移动到正确的位置
编辑:
奇怪的是,在dev服务器上运行时,一切都正常
编辑2:
有什么想法吗