部署在aws上使用mongo db的节点js应用程序

我对亚马逊的web服务和弹性beanstalk很陌生。

虽然很多人说使用简​​单明了,但我认为这是一个非常主观的陈述。 对于像云计算虚拟主机和虚拟私人服务器这样的新人来说,我相信学习曲线和那些不得不“学习”的人是没有多大区别的。

我正在开发一个使用expressjs作为核心框架和MongoDB作为数据库的nodejs网站。 我的雇主希望我们使用AWS。 现在就是问题出现的地方。

我已经能够build立一个弹性beanstalk的环境,甚至上传应用程序和环境开始,但没有任何工作。

我所遇到的第一个问题是,尽pipe我成功地build立了环境,但我几乎不知道所有的configuration是什么意思,而且我的脑袋正在旋转。 AWS官方文档在这方面帮助不大。

其次,我不知道如何使它与MongoDB一起工作,在仪表板上,我看到的唯一select是Amazon RDS,对于像我这样的新手来说,我search的任何解释都是相当复杂的。

有没有人有链接到某处我可以得到一个简单的解释,或者可以简单地解释一下如何做到这一点?

PS:我创build的AWS环境是运行Node.js的64位Amazon Linux 2014.03 v1.0.6

编辑:我得到错误502坏网关。 该应用程序运行在面向前端的nginx代理之后。

AWS在configuration服务器和应用程序方面可以做得更高级一些,所以难怪它会令人困惑。 大多数时候,文档也没有太大的帮助。 亚马逊引导你使用他们的RDS / nosql(DynamoDB)。 您可以在AMI市场中添加许多不同types的数据库,但是我觉得这些数据库太昂贵且不必要。

对于以下, ssh到您的EC2实例ssh -i <your .pem key> ec2-user@ec2-xx-xx-xx-xx.us-west-2.compute.amazonaws.com (应该看起来类似于那个)

对于AWS上的MongoDB:

 echo "[MongoDB] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1" | sudo tee -a /etc/yum.repos.d/mongodb.repo sudo yum install -y mongodb-org-server mongodb-org-shell mongodb-org-tools sudo mkdir /data /log /journal //Mount partitions -- Find available ones for /data /log /journal sudo mkfs.ext4 /dev/xvdf sudo mkfs.ext4 /dev/xvdg sudo mkfs.ext4 /dev/xvdh echo '/dev/xvdf /data ext4 defaults,auto,noatime,noexec 0 0 /dev/xvdg /journal ext4 defaults,auto,noatime,noexec 0 0 /dev/xvdh /log ext4 defaults,auto,noatime,noexec 0 0' | sudo tee -a /etc/fstab sudo mount /data sudo mount /journal sudo mount /log sudo chown mongod:mongod /data /journal /log sudo ln -s /journal /data/journal nano /etc/mongod.conf //Change to dbpath = /data logpath = /log/mongod.log sudo nano /etc/security/limits.conf * soft nofile 64000 * hard nofile 64000 * soft nproc 32000 * hard nproc 32000 sudo nano /etc/security/limits.d/90-nproc.conf * soft nproc 32000 * hard nproc 32000 sudo blockdev --setra 32 /dev/xvdf echo 'ACTION=="add", KERNEL=="xvdf", ATTR{bdi/read_ahead_kb}="16"' | sudo tee -a /etc/udev/rules.d/85-ebs.rules //Run persistent mongod --fork --logpath /var/log/mongodb/mongod.log 

参考: 要点

您可以在当前的ssh会话中运行mongo ,以确保它正常运行。