在 aws 中部署 nodejs 和 mongoose 应用程序

deploying nodejs and mongoose app in aws

我是 aws 的新手,最近我能够安装节点,mongod 以及通过 FTP 将项目文件传输到服务器。

对于 mongodb, 我在单独的终端选项卡中执行 mongo 并在另一个选项卡中启动服务。我想知道如何让 mongo 服务保持运行。

对于节点应用程序, 现在我正在服务器上做节点应用程序。我怎样才能让它保持活力?

现在的问题是,我用 publicip:portno 打开浏览器但没有任何反应。如何找到应用程序并在浏览器中运行它。

我的应用结构是

/
node
mongo
server.js and app related files

我认为这更像是一个 Linux/Unix 命令行问题。您可以使用名为 forever 的节点模块轻松地在后台 运行 您的 Node.js 进程。

npm install -g forever
forever start YourScript.js

您可以在 mongod 命令的末尾放置一个 & 以将其置于后台。

使用 Linux/Unix nohup 命令允许您启动忽略与控制终端进程终止 (SIGHUP) 关联的信号的命令。将 & 添加到命令允许该命令在后台 运行 并将输出发送到 /dev/null 将确保您的磁盘不会被不必要的日志输出填满。以下是一些应该有效的命令:

nohup mongod >/dev/null &
node server.js >/dev/null &

确保在您的节点应用程序中有命令 app.listen("port number");

这是您应该在浏览器中使用的 "port number",以使用来自您的 AWS 实例的弹性 IP 呈现页面。确保您的弹性 IP 配置为接受入站请求。

要在后台保留 service/app 运行ning,您可以 运行 screen 命令然后启动您的 app/service(例如 mongodnode app.js)。在您的应用所在的同一终端中 运行 按下 control + a + d,您应该会看到

(detached)

打印在您的屏幕上。

这应该让您的 app/service 运行ning 处于后台。