2012-11-08 37 views
15

tôi muốn lưu trữ một ứng dụng nodeJS/mongoose/mongodb trong một đám mây, và vì EC2 có MicroInstance miễn phí trong 1 năm, câu hỏi của tôi là: Có bước nào không hướng dẫn bằng cách nào tôi có thể thiết lập và chạy ứng dụng nodejs/mongoose trong Amazon EC2?lưu trữ nodeJS/mongoose ứng dụng web trên amazon EC2

Trả lời

11

Tôi đã sử dụng một số hướng dẫn thực sự đã giúp tôi thực hiện việc đưa ứng dụng Node.js lên Amazon EC2.

Người đầu tiên hướng dẫn bạn thông qua việc tạo ra các trường hợp và lắp đặt Node.js trên dụ rằng

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

Và sau đó có một số khác mà cũng có thể là hữu ích cho bạn, nó có một số biết thêm chi tiết về cách tạo Nút.js ứng dụng có sẵn trên cổng 80 bằng cách tinh chỉnh iptables để chuyển tiếp nó tới cổng 8080

How I got Node.js running on Amazon EC2

Đối với MongoDB, có một hướng dẫn chính thức để se nó lên trên Amazon EC2 trên website chính thức

MongoDB on Amazon EC2

Nếu bạn chỉ đang tạo mẫu ứng dụng, bạn cũng có thể cân nhắc sử dụng cấp miễn phí (500 MB) trên MongoLab để tạo cá thể MongoDB mà không cần nỗ lực nào, điều đó cũng sẽ tiết kiệm một số tài nguyên trên cá thể EC2 của bạn đang chạy ứng dụng Node.js.

+0

Tôi có thể tạo db MongoDB trên tầng miễn phí AWS trên phiên bản EC2 hiện có của mình nơi ứng dụng nodejs đang chạy không? MongoDB có được sử dụng miễn phí trên AWS cho người dùng cấp miễn phí không? Nếu không thì làm thế nào tôi có thể thiết lập mongoDB miễn phí trên ứng dụng miễn phí AWS EC2 của tôi? – Faizan

+1

Nếu bạn sử dụng một cá thể EC2 duy nhất chạy cả ứng dụng và mongo, tất nhiên bạn có thể. Miễn là bạn không sử dụng nhiều máy EC2 hơn. Một lựa chọn khác sẽ được sử dụng miễn phí dịch vụ lưu trữ mongodb như https://www.compose.io hoặc https://mongolab.com – BFil

+0

Ok cảm ơn có nghĩa là tôi chỉ cần cài đặt mongo db trên máy Linux EC2 của tôi và kết nối ứng dụng nodejs của tôi với nó ?, nhưng làm cách nào để đảm bảo rằng tôi không vượt quá giới hạn tầng miễn phí của mình, làm cách nào để kiểm tra dung lượng bộ nhớ/lưu trữ mà mongoDB của tôi đang sử dụng trên tổng số EC2? Theo AWS, đối với EC2 họ không đề cập đến giới hạn lưu trữ mà họ chỉ nói 750 giờ mỗi tháng. https://aws.amazon.com/free/ – Faizan

1

tôi khuyên bạn nên sử dụng Amazon AMI

tạo ra một kịch bản mới nổi cho ứng dụng js của bạn

tập tin sau đây có thể đi trong/etc/init

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 

từ đây bạn muốn sử dụng nginx hoặc apache để proxy cho ứng dụng nút của mình

nginx thể được cài đặt thông qua yum install nginx

cho nginx khối sau đây sẽ làm việc trong http {} khối cấu hình của bạn

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; 
} 
} 

sau đó bạn có thể bắt đầu ứng dụng và nginx bạn

start nodeapp

service nginx start/restart

nếu bạn đang lưu trữ mongo-db tại địa phương, hãy đảm bảo bắt đầu nó. Tôi tin rằng nó tàu với một kịch bản init.d

service mongod start

để tự động chạy nginx và Mongo

chkconfig nginx on

chkconfig mongod on

nếu Mongo không có sẵn như là một gói làm theo các bước trên

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

Các vấn đề liên quan