2012-11-08 135 views

回答

11

我使用了幾個指南,幫助我在Amazon EC2上添加Node.js應用程序。

第一個指導您完成創建實例和Node.js的的該實例上安裝

How to setup Node.js on Amazon EC2 - Complete Guide

然後還有另外一個這也可能對您有所幫助,它有一些關於如何製作節點的更多細節。在端口80個可用的js程序通過調整iptables來轉發到端口8080

How I got Node.js running on Amazon EC2

MongoDB的,有一個官方指南瑟它在Amazon EC2上的官方網站

MongoDB on Amazon EC2

如果您只是爲應用程序創建原型,那麼您也可以考慮使用MongoLab上的免費層(500 MB)來創建您的MongoDB實例,這也將節省運行Node.js應用程序的EC2微型實例的一些資源。

+0

我可以在nodejs應用程序正在運行的現有EC2實例的AWS免費層上創建我的MongoDB數據庫嗎? mongoDB可以免費在AWS上用於免費級用戶嗎? 如果沒有,那麼我如何在我的AWS EC2免費應用程序上免費設置mongoDB? – Faizan

+1

如果您使用同時運行app和mongo的單個EC2實例,當然可以。只要你不使用更多的EC2機器。另一種選擇是使用免費的mongodb託管服務,如https://www.compose.io或https://mongolab.com – BFil

+0

好的謝謝我的意思是我只需要在我的EC2 linux機器上安裝mongo db並將我的nodejs應用程序連接到它?但是,我如何確保不超過我的免費套餐限制,我如何檢查我的mongoDB在我的EC2上總共使用了多少內存/存儲?根據AWS,對於EC2,他們沒有提到他們每個月只能說750個小時的存儲限制。 https://aws.amazon.com/free/ – Faizan

1

我建議使用亞馬遜的AMI

您的js程序創建一個暴發戶腳本

以下文件可以去在/ etc /初始化

nodeapp.conf

description "node app" 

start on runlevel [23] 
stop on runlevel [016] 

console owner 

exec /bin/bash -l -c 'cd /path/to/app; /usr/bin/node server.js -p 9001' 

respawn 

從這裏你想用nginx或apache代理你的節點應用程序

nginx的可以通過yum install nginx

被安裝nginx的以下塊在HTTP {}配置塊將工作

upstream app_cluster_1 { 
server 127.0.0.1:9001; 
} 
server { 
listen 80; 
server_name domain.com; 
location/{ 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header Host $http_host; 
proxy_set_header X-NginX-Proxy true; 
proxy_pass http://app_cluster_1/; 
proxy_redirect off; 
} 
} 

你就可以開始你的應用程序和nginx的

start nodeapp

service nginx start/restart

如果您在本地託管mongo-db,請確保啓動它。我相信它附帶一個腳本init.d中

service mongod start

自動運行nginx的和蒙戈

chkconfig nginx on

chkconfig mongod on

如果蒙戈不作爲一攬子按照步驟on

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-redhat-centos-or-fedora-linux/