Before working on this blog you must have the EC2 environment setup. Refer to my older blogs for the same.
- Setup AWS EC2 instance - http://javaredhot.blogspot.com/2016/02/amazon-ec2-creating-and-setting-up.html
- Setup Git, Node.js and NPM on EC2 - http://javaredhot.blogspot.com/2016/02/amazon-aws-installing-git-nodejs-and.html
Get your project
Use git to download your node.js application.
I have my application on Github - https://github.com/tuhingupta/gitwebhooks
$ git clone https://github.com/tuhingupta/gitwebhooks.git
$ cd gitwebhooks
Configure EC2 to listen inbound traffic at 8080
Somethings need to be configured in your application so that it can be accessed over internet.
Have your node.js application run server over port 8080
In my application (gitwebhooks) above I have set it in app.js
app.set('port', process.env.PORT || 8080);
Now configure your EC2 instance to listen inbound traffic at port 8080
Setup your security groups in EC2 like image below:
Now route HTTP traffic on port 80 to redirect to port 8080
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080
Access your application from internet
Now you can access your application over internet using your public DNS.
I can access my application (a Node.js Express REST API) using:
http://ec2-{my_ec2_id}.us-west-2.compute.amazonaws.com/api/name
No comments:
Post a Comment