阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

VPS上的Node.js博客返回502 Bad Gateway 错误

157次阅读
没有评论

共计 1916 个字符,预计需要花费 5 分钟才能阅读完成。

摘要

  1. 将程序以守护进程的方式启动:fork、screen。

  2. ps、find 等命令的使用。

  3. Linux 下 node.js 应用、mongodb 的启动。

现象

vps 上运行着一个使用 nginx 反向代理、由 node.js + mongodb 驱动的博客。某天打开它时,出现 502 Bad Gateway 错误。

检测错误原因

连接到 vps,执行命令

ps -ef | grep node

打印信息

root     13453 12179  0 13:20 pts/0    00:00:00 grep node

说明 node.js 没有运行。

执行命令

ps -ef | grep mongodb

说明 mongodb 也没有运行。PHP 驱动的博客在存储数据的时候,也使用了 mongodb,昨天发布文章时,已经捕捉到 mongodb 不能连接的错误。

启动 mongodb

/usr/local/mongodb-linux-i686-3.2.9/bin/mongod --dbpath=/mongodbData/db/ --journal --storageEngine=mmapv1 --logpath=/mongodbData/log/mongodb.log --logappend --fork

打印信息

about to fork child process, waiting until server is ready for connections.
forked process: 13984
child process started successfully, parent exiting

检测 mongodb 是否启动

ps -ef | grep mongodb

打印信息

root     13984     1  0 13:30 ?        00:00:00 /usr/local/mongodb-linux-i686-3.2.9/bin/mongod --dbpath=/mongodbData/db/ --journal --storageEngine=mmapv1 --logpath=/mongodbData/log/mongodb.log --logappend --fork
root     14102 12179  0 13:32 pts/0    00:00:00 grep mongodb

mongodb 已经启动。

启动 node.js

首先创建 screen

screen -S "DEBUG=node-blog:* npm start"

执行此命令后,切换到一个被清屏的命令行窗口。

执行启动 node 应用的命令

DEBUG=node-blog:* npm start

打印出错误信息

npm ERR! Linux 2.6.18-348.4.1.el5xen
npm ERR! argv "/usr/local/node/node-v4.5.0-linux-x86/bin/node" "/usr/local/node/node-v4.5.0-linux-x86/bin/npm" "start"
npm ERR! node v4.5.0
npm ERR! npm  v2.15.9
npm ERR! path /root/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open

npm ERR! enoent ENOENT: no such file or directory, open '/root/package.json'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /root/npm-debug.log

进入到 node.js 驱动的博客目录后,再启动该博客程序

DEBUG=node-blog:* npm start

打印信息

> my-blog@0.0.0 start /usr/local/node_site/node-blog
> node ./bin/www

node.js 博客已经成功启动。关闭命令行窗口,该博客仍然能够正常访问。这说明,使用 screen 成功到达了目的。

Nginx 502 错误触发条件与解决办法汇总 http://www.linuxidc.com/Linux/2014-08/105815.htm

LNMP 常见 502 Bad Gateway 问题汇总  http://www.linuxidc.com/Linux/2015-11/125068.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/137486.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1916字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中