我正在使用nginx和节点服务器来处理更新请求。当我请求大数据更新时,我收到网关超时。我从nginx错误日志中看到了此错误:
2016/04/07 00:46:04 [错误] 28599#0:*
1上游过早关闭连接,同时从上游读取响应标头,客户端:10.0.2.77,服务器:gis.oneconcern.com,请求:“ GET /
update_mbtiles / atlas19891018000415 HTTP / 1.1”,上游:“
http://127.0.0.1:7777/update_mbtiles/atlas19891018000415”,主机:“
gis.oneconcern.com”
我搜索了该错误,并尝试了所有可能的方法,但仍然收到该错误。
我的nginx conf具有以下代理设置:
##
# Proxy settings
##
proxy_connect_timeout 1000;
proxy_send_timeout 1000;
proxy_read_timeout 1000;
send_timeout 1000;
这是我的服务器的配置方式
server {
listen 80;
server_name gis.oneconcern.com;
access_log /home/ubuntu/Tilelive-Server/logs/nginx_access.log;
error_log /home/ubuntu/Tilelive-Server/logs/nginx_error.log;
large_client_header_buffers 8 32k;
location / {
proxy_pass http://127.0.0.1:7777;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
}
location /faults {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_buffers 8 64k;
proxy_buffer_size 128k;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
我正在使用nodejs后端在aws服务器上服务请求。仅在更新需要很长时间(大约3-4分钟)时才会显示网关错误。较小的更新没有任何错误。任何帮助将不胜感激。
节点js代码:
app.get("/update_mbtiles/:earthquake", function(req, res){
var earthquake = req.params.earthquake
var command = spawn(__dirname + '/update_mbtiles.sh', [ earthquake, pg_details ]);
//var output = [];
command.stdout.on('data', function(chunk) {
// logger.info(chunk.toString());
// output.push(chunk.toString());
});
command.stderr.on('data', function(chunk) {
// logger.error(chunk.toString());
// output.push(chunk.toString());
});
command.on('close', function(code) {
if (code === 0) {
logger.info("updating mbtiles successful for " + earthquake);
tilelive_reload_and_switch_source(earthquake);
res.send("Completed updating!");
}
else {
logger.error("Error occured while updating " + earthquake);
res.status(500);
res.send("Error occured while updating " + earthquake);
}
});
});
function tilelive_reload_and_switch_source(earthquake_unique_id) {
tilelive.load('mbtiles:///'+__dirname+'/mbtiles/tipp_out_'+ earthquake_unique_id + '.mbtiles', function(err, source) {
if (err) {
logger.error(err.message);
throw err;
}
sources.set(earthquake_unique_id, source);
logger.info('Updated source! New tiles!');
});
}
谢谢。
我认为来自Nginx的错误表明该连接已由您的nodejs服务器关闭(即“上游”)。如何配置nodejs?
我正在使用nginx和节点服务器来服务更新请求。当我请求更新大数据时,我会得到一个网关超时。我从nginx错误日志中看到了这个错误: 节点js代码: 谢谢你。
问题内容: 他们似乎遇到了类似的问题,但该解决方案对我不起作用。 基本上,每当我尝试启动uWSGI进程时,我总是遇到Nginx 502错误的网关屏幕。按照文档中的说明,我有两个独立的uwsgi进程正在运行。 当我运行websocket uwsgi实例时,得到以下信息: 这告诉我uwsgi实例运行正常。然后我运行我的下一个uwsgi进程,并且那里也没有错误日志… 当我导航到浏览器中的页面时,带有ha
当Nginx试图通过http反向代理到本地Django实例(没有WSGI中间件)时,当Nginx从上游读取响应头时记录
你好吗?我在DigitalOcean上有一个使用Ubuntu16.04的服务器,我正在用uWSGI和Nginx制作一个Flask应用程序。 我的文件如下所示:wsgi.py: 非常感谢!!! 我该如何解决?
我在一个flask应用程序上使用nginx+uwsgi。在nginx设置中,服务器块具有server_name*.mydomain.com;uwsgi的位置块如下所示 我有另一个测试设置,其中所有这些设置是相同的,它的工作。有什么指示吗?当我重新启动uwsgi和nginx时,app1.mydomain.com工作,直到我加载app.mydomain.com(初始加载app.mydomain.com
我有Puma运行作为上游应用服务器和Riak作为我的后台数据库集群。当我发送一个请求,为大约25K用户映射-减少一个数据块,并将其从Riak返回到应用程序时,我在Nginx日志中得到一个错误: Nginx有一系列超时指令。我不知道我是不是漏掉了什么重要的东西。如有任何帮助将不胜感激....