vps上的node.js博客返回502
vps上的node.js博客返回502
摘要
將程序以守護(hù)進(jìn)程的方式啟動(dòng):fork耸弄、screen郊闯。
ps撇吞、find等命令的使用匙奴。
linux 下 node.js 應(yīng)用堆巧、mongodb 的啟動(dòng)。
現(xiàn)象
vps上運(yùn)行著一個(gè)使用 nginx 反向代理泼菌、由 node.js + mongodb 驅(qū)動(dòng)的博客谍肤。某天打開它時(shí),出現(xiàn) 502 Bad Gateway
錯(cuò)誤哗伯。
檢測(cè)錯(cuò)誤原因
連接到 vps荒揣,執(zhí)行命令
ps -ef | grep node
打印信息
root 13453 12179 0 13:20 pts/0 00:00:00 grep node
說明 node.js 沒有運(yùn)行。
執(zhí)行命令
ps -ef | grep mongodb
說明 mongodb 也沒有運(yùn)行焊刹。PHP 驅(qū)動(dòng)的博客在存儲(chǔ)數(shù)據(jù)的時(shí)候系任,也使用了 mongodb,昨天發(fā)布文章時(shí)虐块,已經(jīng)捕捉到 mongodb 不能連接的錯(cuò)誤俩滥。
啟動(dòng)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
檢測(cè) mongodb 是否啟動(dòng)
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 已經(jīng)啟動(dòng)。
啟動(dòng)node.js
首先創(chuàng)建screen
screen -S "DEBUG=node-blog:* npm start"
執(zhí)行此命令后贺奠,切換到一個(gè)被清屏的命令行窗口霜旧。
執(zhí)行啟動(dòng)node應(yīng)用的命令
DEBUG=node-blog:* npm start
打印出錯(cuò)誤信息
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
進(jìn)入到 node.js 驅(qū)動(dòng)的博客目錄后,再啟動(dòng)該博客程序
DEBUG=node-blog:* npm start
打印信息
> my-blog@0.0.0 start /usr/local/node_site/node-blog
> node ./bin/www
node.js 博客已經(jīng)成功啟動(dòng)儡率。關(guān)閉命令行窗口挂据,該博客仍然能夠正常訪問。這說明儿普,使用 screen 成功到達(dá)了目的崎逃。