大佬教程收集整理的这篇文章主要介绍了django – nginx和uWSGI给出“504网关超时”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在遵循教程SetTing up Django and your web server with uWSGI and nginx.
uWsgi正在运行
我设置了uwsgi来为我的Django项目提供以下一行.
@H_574_9@mydjangoproj $uwsgi --http 0.0.0.0:8002 --module wsgi --harakiri 5
当我在浏览器中去那里的时候,这个工作是42.42.42.42:8002.
我的Nginx设置
Nginx作为守护进程运行,访问它的默认站点,80端口,工作.
我使用以下mydjangoproj_Nginx.conf文件将其添加到Nginx的一个站点:
server {
listen 8000;
server_name 42.42.42.42;
charset utf-8;
client_max_body_size 75M;
LOCATIOn /static {
alias /home/myuser/mydjangoproj/static;
}
LOCATIOn / {
uwsgi_pass 127.0.0.1:8002;
include /home/myuser/mydjangoproj/uwsgi_params;
}
}
我使用uwsgi_params的未修改版本,从教程:
uwsgi_param QUERY_StriNG $query_String;
uwsgi_param requEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param requEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param httpS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
它完美地为静态文件提供服务.
错误
如果我访问42.42.42.42:8000它挂了很长时间,直到Nginx超时我猜,我得到504网关超时.
uWsgi在sHell中不写.如果直接访问浏览器,它会写入关于接收请求.
Nginx错误日志只写入超时后:
2014/12/11 05:31:12 [error] 28895#0: *1 upstream timed out (110: Connection timed out) while reading response header from upstream,client: 66.66.66.66,server: 42.42.42.42,request: "GET / http/1.1",upstream: "uwsgi://42.42.42.42:8002",host: "42.42.42.42:8000"
如果我关闭刚刚从sHell运行的uWsgi,我马上就会得到一个502 Bad Gateway.
在线搜索时,人们只是建议将uWsgi超时设置为低于Nginx超时,这就是为什么我用–harakiri 5运行uWsgi.
那么这里有什么问题呢?
uwsgi --socket :8002 --module wsgi --harakiri 5
注意,如果你在同一台机器上运行Nginx和uwsgi,最好使用unix sockets
以上是大佬教程为你收集整理的django – nginx和uWSGI给出“504网关超时”全部内容,希望文章能够帮你解决django – nginx和uWSGI给出“504网关超时”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。