我的NodeJS / Express服务器文件由AWS托管。我想阅读日志消息并尝试连接到我的远程服务器,如下所示:
ssh -i "server.pem" ec2-user@ipaddress.compute-1.amazonaws.com
然后我进入我的所有服务器文件的后端目录并运行以下命令:
node server.js
我在终端收到消息:
We have started our server on port 9000
我的问题:我在哪里查看此服务器以阅读所有日志消息?当我转到localhost:9000时,该页面显示找不到网站。当我去远程站点jarvis.magainteractive.com时,我的终端没有任何变化。我希望能够从我的' / message'中看到所有控制台消息。和我的' /'在我的航站楼的路线。
以下是我的server.js代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}));
app.use(express.static(__dirname + '/public'));
app.set('views',__dirname + '/views');
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
require('./routes/main')(app);
var server = app.listen(9000,function(){
console.log("We have started our server on port 9000");
});
以下是我的路线档案(main.js):
module.exports = function(app) {
app.post('/message', function (request, response) {
console.log(request.body);
console.log(request.body.Body);
console.log(request.body.From);
response.send("<Response><Message>Heyyo!</Message></Response>");
});
app.get('/', function(req,res) {
console.log("Welcome to home");
res.render('index', {title:"Home page", description:"Welcome to the Jarvis HD Backend"});
});
}
答案 0 :(得分:0)
首先,当您在SSH shell中运行node server.js
时,只要您保持SSH连接打开,您创建的节点进程就会生效。
您正在查找的console.log
消息会在SSH窗口中显示。消息We have started our server on port 9000
来自server.js
中的第2行到最后一行。
http://localhost:9000
无法正常工作,因为您在自己的计算机上尝试过(localhost指向127.0.0.1,这是您自己的计算机),或者您退出了SSH shell中的Node进程并执行了类似操作wget http://localhost:9000
(由于您退出节点进程而导致服务器停止,因此失败)。
jarvis.magainteractive.com
无法正常工作,因为您的节点服务器在端口9000上运行。当您连接到http://jarvis.magainteractive.com
时,您将通过端口80连接到您的服务器。
正如其中一条评论所说,你可以安装Nginx。它允许您将端口80请求代理到服务器的本地端口9000.您不必使用Nginx,但它很容易配置和设置。然后,您可以连接到http://jarvis.magainteractive.com
,它将向端口9000发出请求。
对于节点退出,无论何时停止节点进程或退出SSH,都有一堆选项。就个人而言,我使用pm2
,因为它会在崩溃时为您重新启动节点进程。 forever
是另一种流行的选择。您还可以使用基本nohup
命令将Node进程置于后台,以便在退出SSH会话后继续运行 - 停止/重新启动服务器会更加困难。
答案 1 :(得分:0)
如果您希望在终端上实时查看console.logs等应用程序日志,我建议您使用&#34;
启动应用程序pm2 start app.js -n jarvis.com
然后查看您可以使用的所有应用程序日志:
pm2 logs [app_id]
您可以看到正在使用的应用运行:
pm2 list