【发布时间】:2014-12-02 11:11:52
【问题描述】:
从我的问题可以看出,我是新手...
我建立了我的第一个网站,我设置了我的第一个 Node.js 服务器来为其提供服务,然后将所有内容推送到 EC2 上。
我在我的 EC2 IP 地址上测试了所有内容,一切似乎都正常。
到目前为止,我一直在本地测试我的应用程序,因此每当我关闭终端时,app.js 都会停止运行,因此不会在 localhost 上提供任何服务。
现在我的服务器在 EC2 上,每当我关闭终端时,都会发生同样的事情(“显然”有人可以说..)。
所以我的问题是我如何让我的 Node.js 服务器在 EC2 上运行......永远......这样我的网站才能保持活动......永远:)
我读过一些关于名为“永远”的节点模块的内容,但我想知道(作为新的和所有......)为什么这个“永远”功能不是 Node.js-EC2 系统的默认设置?
我的意思是,如果我错了,请纠正我,但设置 Web 服务器并推动它运行以使其永远保持运行不就是重点吗?这不是服务器应该做的事情(无限地监听请求)吗?如果是这样的话,为什么我们需要额外的模块/设置来实现呢?
感谢您的帮助。如您所知,我不仅在寻找解决方案,还在寻找解释,因为我真的很困惑.. :-)
编辑(您可能需要一些详细信息)- 在 EC2 上安装我的应用程序后,这些是我在终端上执行的步骤(顺便说一下,该应用程序在 Amazon Linux 上运行):
我在 ssh -i xxxxxxxxxxx.pem ec2-user@ec2-xx-xx-xx-x.eu-west-1.compute.amazonaws.com 上键入 终端
登录亚马逊机器后,我然后转到相关文件夹并执行 node app.js
机器中有3个文件夹:
node、node_modules和*name of my app*app.js驻留在*name of my app*之后,网站在我的 EC2 IP 上上线
关闭终端后,一切都关闭了
【问题讨论】:
-
这里的答案基本上已经过时/错误。您只需使用 pm2。 stackoverflow.com/a/36907953/294884 完美解释,很简单
标签: node.js amazon-ec2 webserver