服务器上的节点 JS 504 错误,但在本地主机上工作
Posted
技术标签:
【中文标题】服务器上的节点 JS 504 错误,但在本地主机上工作【英文标题】:NODE JS 504 error on server, but works on localhost 【发布时间】:2020-01-17 17:12:14 【问题描述】:我试图简单地获取路线中照片的位置并渲染 product.ejs 文件:
//Show individual product info
router.get('/product/:id', async function(req, res, next)
let filesFromFolder;
Promise.all([
database.retreaveImage(req.params.id)
]).then(resultArr =>
filesFromFolder = resultArr[0];
res.render('product.ejs',
productName: req.params.id,
data: filesFromFolder
);
);
);
它可以在本地主机上运行,现在我将我的 route.js 文件导入到真实服务器中,当我尝试打开产品时,它会抛出 504 错误。
尝试按照此说明进行操作,但没有帮助。
Getting 504 GATEWAY_TIMEOUT NodeJs
grep -i "504" /var/log/nginx/access.log
82.135.208.60 - - [16/Sep/2019:07:52:25 +0000] "GET /product/line_fan_pool HTTP/1.1" 504 594 "http://13.58.120.242:3000/horizontal" "Mozilla/5.0 (Windows NT 10.0; Win64 ; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/76.0.3809.132 Safari/537.36" 82.135.208.60 - - [16/Sep/2019:08:03:15 +0000] "GET /product/line_pool HTTP/1.1" 504 594 "http://13.58.120.242:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36" 82.135.208.60 - - [16/Sep/2019:08:10:19 +0000] "GET /product/line_pool HTTP/1.1" 504 594 "http://13.58.120.242:3000/" "Mozilla/5.0 (Linux; android 6.0; Nexus 5Build/ MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Mobile Safari/537.36"
【问题讨论】:
这是在 nginx 代理后面吗?代理对此有何看法?您在日志中看到任何内容吗?另外,您能否测试一些不需要数据库访问权限的站点以缩小可能的原因? 其他网站运行良好,只有这个会抛出 504。我用更多信息更新了问题 【参考方案1】:问题是,亚马逊网络服务器不支持旧版本的 mysql,所以我不得不更新它。这解决了我的问题。必须在 pm2 监控中查看错误。
【讨论】:
【参考方案2】:当我的http-proxy-middleware
内部发生故障时,我在节点expressjs
应用程序中遇到了504
。
这是一个未捕获的 Promise 错误,因此服务器静默超时进入 504
,而不是报告错误。
因此,永远不要忘记在 Promise 掉落时抓住它们。 (这就是这里发生的事情吗?)
//Show individual product info
router.get('/product/:id', async function(req, res, next)
let filesFromFolder;
Promise.all([
database.retreaveImage(req.params.id)
]).then(resultArr =>
//...
).catch(err => next); // catch and burn.
);
【讨论】:
以上是关于服务器上的节点 JS 504 错误,但在本地主机上工作的主要内容,如果未能解决你的问题,请参考以下文章
Instagram api 在本地主机上工作正常,但在服务器上发送错误 (https://www.instagram.com/$name/?__a=1)
AWS RDS SQL 数据库在本地主机上工作——从服务器抛出错误
Datatables 插件在本地主机上工作正常,但在服务器(CPanel)上不工作
Laravel 5.2 session flash 在本地主机上工作但在服务器上不工作?
连接 Facebook Graph API 时 ElasticBeanstalk for PHP 上的 504 网关超时