background preloader

Aws node.js

Facebook Twitter

Hosting a NodeJs Express Application on Amazon Web Services (EC2) Updated 2014-09-23 - NVM and Ubuntu 14.04 notes For the past year or so I've been super intrigued by NodeJs. It's a very cool stack, and the thought of building an entire application (front and back) with Javascript certainly merits some attention. Add MongoDb (a javascript based, document database) to that, and you have a nice, cohesive, high performance application. Hosting your application is also super easy, especially if you choose a service like Heroku. Their service is ultra simple to use, and they support git deployments out of the box. Here's a walkthrough on how to get a simple Node Express application up and running on Amazon EC2 with git push deployments. Build an App For this walkthrough, you can use any regular node web application, or you can generate the default express website.

Npm install -g express-generatormkdir my-app cd my-app express npm installecho "node_modules" > .gitignore git init git add . git commit -am "initial load"npm start Getting Started Install Build Tools. How to Set Up a Node.js Web Server on Amazon EC2 - Laura Diane Hamilton. If you've never done it before, it can be a bit tricky to navigate Amazon's "security groups," Linux's firewalls, and ip forwarding. I've created a tutorial to demonstrate, step-by-step, how to set up a skeleton Node.js app on Amazon EC2. First, create an account on aws.amazon.com and set up two-factor authentication. Next, click on EC2 - Virtual Servers in the Cloud. (EC2 stands for "Elastic Compute Cloud. ") Select the "Quick Launch Wizard," give your new server a name, and create a new key pair.

For this demo, I chose to use Ubuntu 13.04, but any relatively recent Linux flavor should work fine. Next, move your ssh key from your Downloads folder to someplace more permanent: mv key_for_nodejs_demo_server.pm ~/.ssh Check it's in the new place: cd ~/.ssh ls Now, it's time to ssh onto your server. If you don't already have a github account, you should sign up for a free one. Next, it's time to install some programs we're going to need. Next, let's fork the heroku/node-js-sample repository. Authorizing Inbound Traffic for Your Linux Instances.

Security groups enable you to control traffic to your instance, including the kind of traffic that can reach your instance. For example, you can allow computers from only your home network to access your instance using SSH. If your instance is a web server, you can allow all IP addresses to access your instance via HTTP, so that external users can browse the content on your web server. To enable network access to your instance, you must allow inbound traffic to your instance.

To open a port for inbound traffic, add a rule to a security group that you associated with your instance when you launched it. To connect to your instance, you must set up a rule to authorize SSH traffic from your computer's public IP address. To allow SSH traffic from additional IP address ranges, add another rule for each range you need to authorize. Decide who requires access to your instance; for example, a single host or a specific network that you trust.

Caution Assigning a Security Group to an Instance. Connect to Your Instance. After you launch your instance, you can connect to it and use it the way that you'd use a computer sitting in front of you. Note After you launch an instance, it can take a few minutes for the instance to be ready so that you can connect to it. Check that your instance has passed its status checks - you can view this information in the Status Checks column on the Instances page. Before you try to connect to your instance, be sure that you've completed the following tasks: Get the public DNS name of the instanceYou can get the public DNS for your instance using the Amazon EC2 console (check the Public DNS column; if this column is hidden, click the Show/Hide icon and select Public DNS). There are several ways to connect to a Linux instance. Next Step After you've successfully launched and connected to your instance, you can do any of the following: Option 1: Connect Using Your Browser You must have Java installed and enabled in the browser.

To connect to your Linux instance using a web browser. Connecting to Your Linux/Unix Instances Using SSH. After you launch your instance, you can connect to it and use it the way that you'd use a computer sitting in front of you. Note After you launch an instance, it can take a few minutes for the instance to be ready so that you can connect to it. Check that your instance has passed its status checks - you can view this information in the Status Checks column on the Instances page. The following instructions explain how to connect to your instance using an SSH client. Before you connect to your Linux instance, complete the following prerequisites: Install an SSH clientYour Linux computer most likely includes an SSH client by default.

Connecting to Your Linux Instance Use the following procedure to connect to your Linux instance using an SSH client. To connect to your instance using SSH (Optional) You can verify the RSA key fingerprint on your instance by using one of the following commands on your local system (not on the instance). Transferring Files to Linux Instances from Linux Using SCP.

Node.js & Mongo DB on Aws Ec2 and EBS - Murvin Lai. How to install node and mongodb on Amazon EC2 · SIB-Colombia/dataportal-explorer Wiki. First step: Installing node.js and npm To compile node we need gcc, make and git to import node source code: sudo yum install gcc-c++ make sudo yum install openssl-devel sudo yum install git Cloning node.js source code: git clone Compile and install node.js cd node . Add user´s directory to BIN Paths (node binaries location) sudo su nano /etc/sudoers inside the editor scroll to where you see the line: Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin Append the value :/usr/local/bin Installing npm (Node Package Manager) git clone cd npm sudo make install Test if node is working: node this must show a > indicator press Ctrl+C two times to close node interpreter If you receive a "Command not found" message, close your SSH connection and reconnect.

Second step: Install and configure MongoDB database Based on You must respect jump of lines in the previous code. Setup nodejs development environment in Amazon EC2 | Code for geek. Amazon ec2 is cloud based hosting service which is free for 1 year for new customers. You can host your website, blog, any experiment project on dedicated Linux box.

I have been looking for VPS hosting service to host my Node.js demos because shared hosting is still not providing this service. After all my research, Amazon ec2 is my choice. In this post i’ll take you through step by step configuration and installation of Nodejs development environment in Amazon EC2 linux box. Agenda : If you are going to follow each step then completion will take around 30-40 minutes. We are going to cover following steps. Step 1 : Create account at Amazon Go to Amazon Ec2 pageand create new account. Step 2 : Launch EC2 instance Login to AWS console. Click on Instances and then click on “Launch Instances”. Next you need to choose the Hardware configuration for your EC2 instance, this is little technical and choices may vary depending on your need.

All right, this is it. One more thing. Congratulation ! Run. How to host a NodeJS app on an EC2 Ubuntu Server. Sign up for Amazon Web Services Free Tier Tip: Sign up with a new email if your account is older than a year. Create a New Key Pair or Upload an SSH Public Key Find and launch an AMI Google AWS MarketplaceSearch for UbuntuI chose this 64 bit image. Connect to your EC2 Machine Instance Visit your EC2 DashboardInstance state will be "running" eventuallyFind Public IP column and note addressssh ubuntu@PUBLIC-IP-ADDRES make an A record on your domain in Route 53 for convenience Install Prerequisites and Common Package The -y option is helpful because apt won't for wait for you to press 'y'; it will just install the packages.

Sudo apt-get update && sudo apt-get install -y build-essential g++ tmux Install Node, Build from Source curl -O tar -xvzf node-v0.10.29.tar.gz cd node-v0.10.29 . Add Node to your path in ~/.bashrc: echo "export PATH=/opt/node/bin:$PATH" >> ~/.bashrc Then reload .bashrc. source ~/.bashrc which node => should be /opt/node/bin/node. A Node.JS Application on the Amazon Cloud. Part 2: Adding a Database – The Floppy Disk. In Part 1, we installed Node on an EC2 instance on Amazon Web Services (AWS).

In this part 2 of the series, we’re going to add a second instance running the popular MongoDB database. Installing a Database on AWS Any self-respecting web application will also need a database, so lets install one on AWS that the application we develop can use to store its data – so where do we start ? Which Database ? Amazon Web Services provides several database options. Amazon RDS enables you to run a familiar MySQL, Oracle or SQL Server database engine while offloading database administration. Amazon DynamoDB is a fully managed NoSQL database service that provides extremely fast and predictable performance with seamless scalability. Amazon SimpleDB provides a non-relational service designed for smaller datasets.

Or developers can download and install NoSQL databases of their choice on Amazon EC2. Choosing MongoDB Installing Mongo DB on your Amazon AWS account Advanced settings for MongoDB on AWS EC2 1. 2. A Node.JS Application on the Amazon Cloud. Part 1: Installing Node on an EC2 instance – The Floppy Disk. In this three-part exercise, we’re going to build a web application using Javascript on both the client and server side, using Amazon Web Services (AWS) cloud-hosting infrastructure and the Node.JS framework. What we’re going to do first is install Node on an Elastic Cloud Computing (EC2) virtual server instance provided by Amazon Web Services. In the following parts of this series, we’ll add a MongoDB database instance, and develop a simple server-side web application in Javascript using the Express framework and the Mongoose library for accessing our database. Why use Javascript for a Server-side Application? Node is the increasingly popular backend framework for building single-page web apps.

Our Requirements There are limitless options for building a web application server on AWS, but lets define some basic requirements : Apps I use on my Mac for local development and managing AWS Aptana Studio Sublime Text 2 An editor i sometimes use for coding when an IDE is overkill. vSSH On my Mac: 1. 2. Add or Remove EC2 Servers. Overview Cloud Manager integrates with Amazon Web Services (AWS) so that you can provision EC2 servers directly from the Cloud Manager interface.

You can also terminate instances you no longer need. When you provision an EC2 server from Cloud Manager, Cloud Manager automatically installs the Automation Agent to the server and is ready to deploy managed MongoDB instances on this system. Considerations In general, provision one machine per mongod instance. For MongoDB deployment architectures, see Replica Set Architectures and Sharded Cluster Architectures in the MongoDB manual.

If you attempt to provision larger-sized AWS instances, be aware that Amazon often has a limited number of larger instances in any given region, which may prevent provisioning. AWS accounts have restrictions that limit the number of instances you can deploy. Prerequisites You or an administrator must first meet the prerequisites and perform the procedures described in Configure AWS Integration. Procedures. AWS SDK for Node.js — AWS SDK for JavaScript. A Node.JS Application on the Amazon Cloud. Part 2: Adding a Database – The Floppy Disk. A Node.JS Application on Amazon Cloud. Part 3: A simple Webserver in Javascript using Node, Express, and MongoDB – The Floppy Disk.

In this third part of our exercise, we’re going to use the primary AWS EC2 instance on which we installed Node in Part 1, and the database EC2 Instance we set up in Part 2, as the platform for building a simple web application server. We are going to code that web server in Javascript, using Node together with the Express and Mongoose Node library packages. Installing the Node libraries we’ll need Returning to your primary EC2 instance, open an SSH console and install the express and mongoose node packages on the node instance. $ npm install mongoose $ npm install express Coding our simple application Now on your Mac, create a new javascript source code file app.js and follow these simple instructions to build your application.

First we need to load the node libraries we need in this example, namely node’s own http library plus the express and mongoose packages we already installed on our EC2 instance. We need to define variables to represent our express application and our database. git init. How to install & setup Node.js on Amazon EC2 – complete guide – IconOf.Com. Confused about all these Amazon AWS products? Don’t know where to begin and how to start working with Node.js in the cloud? This step-by-step guide will help you setup a new Amazon AWS EC2 instance and install Node.js with NPM. – Update: you can speed up the Node.js setup process by using my Node.js Amazon CloudFormation template. Table of contents: Create an Amazon Web Services (AWS) account Create an Amazon Web Services (AWS) account (if you already have an Amazon.com account for shopping, you can use that). Launch an EC2 instance (web server) In order to install and run Node, we first need to have a web server.

Login with your AWS account and goto the EC2 tab in the AWS Management Console. Before launching your web-server, Amazon gives you the option to choose a location. After choosing a location, click the big “Launch Instance” button (an EC2 instance is similar to a regular unmanaged web-server). Finally, in the next screen just hit Launch. Connect to Amazon EC2 with Putty Congratulations!