Downloads and deploys
What is Node.js Application?
This box deploys an application based on Node.js and starts it using forever.
Asynchronous and Event Driven ? All APIs of Node.js library are asynchronous, that is, non-blocking. It essentially means a Node.js based server never waits for an API to return data. The server moves to the next API after calling it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call.
Single Threaded but Highly Scalable ? Node.js uses a single threaded model with event looping. Event mechanism helps the server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers which create limited threads to handle requests. Node.js uses a single threaded program and the same program can provide service to a much larger number of requests than traditional servers like Apache HTTP Server.
No Buffering ? Node.js applications never buffer any data. These applications simply output the data in chunks.
License ? Node.js is released under the MIT license
An instance executing this box will use bash scripting to download, install and configure a Node.jsiversal forwarder.
Box events handle the Node.js instance lifecycle as follows:
pre_install event script: updates the package's index using the correct package manager.
github: installs git package.
install event script: installs nodejs package's source.list if needed and installs Node.js in the instance.
github: clones the repository with the Node.js application.
configure event script: runs npm install and configures the application's entry point file (i.e. app.js) running elasticbox's config command to replace if present with instance's variables values.
pre_start event script: checks for previous forever processes of the node.js application and if some is running it runs forever stopall and then it uses forever to start Node.js application using its entry point.
This deployment supports these Linux distributions:
Amazon Linux AMI 2015.03
Centos 6.5, 7
Ubuntu 12.04, 14.04