如何在我的AWS服务器上部署Node.js API?

时间:2019-04-18 07:26:59

标签: node.js

我想在我的AWS服务器上部署一个简单的Node.js API。

我已使用"preDrawCallback": function (settings) { $('#resultsTable_wrapper').find('.dataTables_scrollBody').scrollTop(); pageScrollPos = $('body').find('.dataTables_scrollBody').scrollTop(); }, "drawCallback": function (settings) { $('body').find('.dataTables_scrollBody').scrollTop(pageScrollPos); } package.json中添加了npm依赖项。
我还添加了一个名为npm install的文件,其内容如下:

server.js

当我在节点命令提示符下写var express = require('express'); var app = express(); app.get('/message', function (req, res) { res.send('Hello World!'); }); app.listen(3000, function () { console.log('Example app listening on port 3000!'); }); 时,npm start在浏览器中打开,并在调用localhost:3000时正确响应,因此可以正常工作。

在这里,我想在我的GoDaddy域上打开相同的localhost:3000/message,假设它的localhost:3000/message

在我安装了Node.js的服务器上,此代码放置在根文件夹中,安装了npm依赖项,并使用inetmgr将文件夹添加为网站。

现在我正在致电abc.com,但没有收到任何回复。我该怎么办

1 个答案:

答案 0 :(得分:0)

要在AWS中部署Node.js应用程序,您需要执行以下操作-

  1. 确保您的EC2实例具有与您的域名相关联的公共IP。还要确保可以从公共网络访问IP。您可以将Route53用于此目的,但是还有许多其他资源可以帮助您。
  2. 您可以将应用程序运行端口映射到子域,也可以修改实例的安全策略以公开该端口以供公共访问。我发现它更容易,更方便地使用子域。您可以使用nginx或apace虚拟主机配置进行配置。
  3. 您应该使用pm2来使应用程序在后台运行。并将pm2包含在实例操作系统的启动应用程序列表中。

一些有用的链接-

https://devcenter.heroku.com/articles/route-53 https://aws.amazon.com/premiumsupport/knowledge-center/connect-http-https-ec2/

https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-16-04

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04

https://www.digitalocean.com/community/tutorials/how-to-use-pm2-to-setup-a-node-js-production-environment-on-an-ubuntu-vps