在EC2中托pipenodejs应用程序

我有兴趣在云中托pipenodejs应用程序,我正在为我的目的寻找免费的云托pipe。 我发现亚马逊有一个,但我有以下问题:有没有关于如何在Amazon EC2中设置和运行nodejs应用程序的教程?

编辑 :你可以提供任何良好的托pipenodejs(heroku除外)?

我一直在使用Amazon EC2的Node.js一段时间,他们都很满意。 目前,AWS似乎是最便宜,最稳健的云提供商,因此拿起亚马逊并不是一个错误。 在云中运行Node.js没有什么特别之处 – 你可以像使用自己的PC一样使用它。 下面是在EC2 Ubuntu服务器上运行的最简单的Node.js应用程序的一些常规步骤:

  1. 创buildAmazon EC2帐户 。

  2. 从AWS控制台启动t1.micro实例与任何Ubuntu AMI( 示例 )。

  3. 通过SSHlogin到您的实例。

  4. 安装node.js: sudo apt-get install nodejs

  5. 使用以下内容创build新文件test_server.js

     require("http").createServer(function(request, response){ response.writeHeader(200, {"Content-Type": "text/plain"}); response.write("Hello World!"); response.end(); }).listen(8080); 
  6. 启动服务器: node test_server.js

  7. 检查它是从另一个控制台工作: curl http://localhost:8080

看看这些教程

  1. Node.js与nowjs在ec2上使用AMI
  2. 从头开始安装 – 完整的指南
  3. 在ec2上使用Express.js和socket.io的Nodejs服务器

关于如何在EC2上部署基于节点的应用的博客文章: http : //devblog.daniel.gs/2014/01/deploying-node-apps-on-aws-ec2-with.html

解释:

  • 从github回购(私人+公共)部署Node应用程序
  • 使用脚本自动执行部署过程
  • 反向代理使用Nginx
  • 并使用Forever实用程序。

希望这可以帮助。

基于这个教程 ,下面是一个更新的步骤:

1)在Amazon Web Services上创build一个帐户。

2)创build一个EC2实例; 我select了Ubuntu微。

3)configuration安全组(将其命名为“节点”)并添加端口:

HTTP(80),HTTPS(443)和Node应用程序的自定义TCP端口(例如3000)

4)启动实例并保存pem文件(私钥),例如“node.pem”。

5)在Windows上 – 安装Cygwin + OpenSSH软件包。 也build议安装WinScp以具有“explorer like”访问linux的权限。

6)以pipe理员身份打开Cygwinterminal,并为“node.pem”文件设置正确的权限:

 chown :Users node.pem chmod 400 node.pem 

7)在EC2 dasboard中find您的EC2实例公共DNS名称,并使用SSH连接到它 :

 ssh -i node.pem ubuntu@{your EC2 public DNS name} 

8)更新Ubuntu并安装NodeJS :

 sudo apt-get update curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - sudo apt-get install -y nodejs sudo apt-get install -y build-essential 

9)将NodeJS应用程序复制到EC2实例(通过Cygwin或Winscp)。

10)安装所有Node应用程序所需的模块:

 cd /home/ubuntu/My_Node_App npm install --save 

11)使用IPtables重新路由端口,以便可以在默认的http端口80上访问您的应用程序:

 sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000 

要查看iptables路由条目,请运行:

 sudo iptables -t nat -L 

如果您需要删除路由条目(第一行),请运行:

 sudo iptables -t nat -D PREROUTING 1 

12)运行你的应用程序作为后台进程:

 sudo nohup node app.js & 

要杀死你的应用程序:

 ps -ef | grep app.js sudo kill {proccess id number} 

有很多可用的Node.js托pipe解决scheme,这里有几个:

Joyent公司

Joyent是Node.js的企业赞助商和商标所有者,它为Amazon EC2提供了一个很有吸引力的替代scheme,当然不是最重要的Node.js,请参阅Joyent的Node.js开发环境 (请检查Node.js™尽pipe开发SmartMachine服务条款 )。

显然他们只是重组这个开发产品,虽然:

在过去的一年里,Joyent Cloud为Node.js的用户提供了一个免费的开发沙箱。 随着时间的推移,社区已经明确表示他们需要更多的工具和更多的能力。 为此,我们非常高兴地宣布与Nodejitsubuild立合作伙伴关系, 通过在Joyent Cloud基础架构即服务平台上运行的Nodejitsu开发和pipe理工具,在世界级的Node.js开发环境中提供这两者。 新服务将很快推出。

因此,Node.js解决scheme的生产托pipe的定价选项将如何结束尚不完全清楚,但是鉴于Joyent的竞争性定价 ,我期望至less有类似的select。

Cloud Foundry

Cloud Foundry 开放平台即服务项目也支持Node.js以及许多其他框架(这使得平台如此令人兴奋),该平台最近获得了相当的吸引力,同时被多个解决scheme平台作为服务(PaaS )供应商作为他们的后端相应 – 其中包括(没有特定的顺序,不一定完整):

  • AppFog – 适用于Java,Node,.Net,Ruby,PHP,MySQL,Mongo,PostgreSQL等的简单PaaS …可 随意 在IaaS和云中最简单的定价之间移动。
  • Cloud Foundry(VMware) (Cloud Foundry的企业赞助商) – 在几秒钟内部署和扩展应用程序,而无需将自己locking在单个云中。
  • Iron Foundry – Iron Foundry是一个开源项目,通过提供服务,安装程序和开发人员工具将Cloud Foundry™扩展到.NET生态系统。

其中大部分仍处于testing阶段,价格还没有定下来,但考虑到竞争,我期望在这里有一些有趣的select。

在EC2上免费运行node.js最简单的方法是在Heroku上运行。

看看这个完整的教程在这里 。 本教程将演示如何在EC2上安装Node.js,并为端口转发configurationHTTP端口和nginx,并使用监控程序永远运行Node.js,因为它通常在closuresSSH控制台会话时停止。

我刚刚通过了Heroku注册和应用程序教程。 不可能一帆风顺 多么愉快的体验…

…直到您不能将MongoDB实例作为免费设备。 最低成本(免费试用月除外)是每GB存储18美元/月。

老实说,更好的select是Openshift。 它有三个免费的装备,足以应付很多初学者,比如我正在做的事情。 Heroku和Openshift都在亚马逊的空间,但是他们的客户界面是不同的。 我认为Heroku对于初学者来说更容易上手,但正如我所提到的,在数据​​库方面没有免费的午餐。