
Node.js Hosting Requirements & Service Provider Selection Tips
Having no idea what Node.js hosting requirements should be covered for your app?
Looking for the best Node.js hosting platform?
In this post, weâll take an-indepth look at all the aspects and subtleties you should analyze to choose the best option.
Also weâll provide a step-by-step tutorial on how to get Node.js applications hosted in the cloud on the example of Ghost publishing platform.
Why Developers and Enterprises Prefer Node.js
Due to its simplicity, Node.js is gaining more and more popular among developers all over the world.
JavaScript code is quite easy-to-understand even for non-professionals, as well as the open-source platform facilitates the application development process.
Moreover, the Node Package Manager includes tons of pre-built modules, which accelerate development speed even more. Scalability, reduced response time and the ability to use the same language on server and client sides are also the proven benefits of Node.js.
As for now most businesses and industries choose Node.js for building their projects. Such a runtime environment is perfect for modern applications because it scales quite well without additional investments into hardware.
REST APIs, real-time apps, single-pages and more can be easily built and executed on almost all known platforms.
Choosing the Best Node.js Hosting Provider
Usually, once your Node.js application is ready to go live, you start looking for reliable and secure hosting for it.
In this guidance, weâll go through the main aspects you should weigh before choosing the right hosting platform.
Not all the providers support an event-driven JavaScript runtime environment and development framework, so you should do careful research to find the best Node.js hosting for your app.
- First of all, you should realize if you have enough time and skills for the system administration routine. If yes, you can get some cloud VM or VPS and install, deploy and manage everything on your own. But, if you prefer to focus on application code than a managed cloud hosting platform would be a perfect choice.
- Estimate the expected traffic. The busier your site is the greater requirements should be set. VPS or some shared servers are a good and cheap solution for the start, but your investments will continue to rise along with the traffic.
- Ensure the reliability of services you research. The right cloud hosting platform should be located in data centers with proven reliability.
- Check data center locations in order to get the fastest access.
- Mind the support and the cost of vertical and horizontal scaling.
- Ensure the clustering is supported to prevent failed transactions, error-filled shopping carts and lost work of the users.
- Consider technology shifts and other possible modifications to have a portable website without any lock-in.
- Foresee the in-built tools and frameworks you may need for site management and monitoring.
- Compare additional benefits you can get from each Node.js hosting provider, e.g: SSL certificates, domains, etc.
- Check out the uptime and downtime performance of each analyzed provider.
Why Hidora Cloud Hosting?
In this section, youâll find some more details on how you can benefit from a reliable Node.js cloud hosting platform in terms of application development and management automation.
Hidora multi-cloud platform is fully in-line with the mentioned above Node.js hosting requirements and provides a really wide set of features, among which:
- Node.js app deployment from tar, tar.gz, tar.bz2, zip packages or though git-push-deploy across multiple nodes
- AutomatiŃ application startup script detection
- Code changes on the fly with supervisor support
- Automatic vertical and horizontal scaling
- Highly-available Node.js cluster with load balancing installed in a few clicks
- Smart redirect from the shared load balancer to any other port which is listened by the node server
- All the functionalities of Node Package Manager
- Automatic Node.js memory configuration
- Node.js server troubleshooting
Node.js Deployment Sample: Ghost Publishing Platform Setup on Hidora Cloud
Letâs check out how easy Node.js app deployment can be with Hidora cloud platform on the example of the popular publishing platform â Ghost.
- Log into your Hidora dashboard and click the New Environment button.
- Select the Node.js tab in the appeared dialog, add MySQL database and specify the resource limits for the environment. After that name your environment and click Create.
- Download the needed Ghost release from its repository at GitHub.
- Go back to the Hidora dashboard and upload the archive via the Deployment manager.
- Deploy the package to the environment youâve created earlier.
- Configure MySQL database via phpMyAdmin (use the credentials youâve got while creating MySQL node by email to sign in).
- Create the new database in the phpMyAdmin dashboard.
- Configure your Node.js server via Configuration File Manager:
- In the /home/jelastic/ROOT/core/server/config/defaults.json file change url and server sections by replacing with the link to your environment and with the IP address of your Node.js server. Replace port 2368 with 8080.
{ âurlâ: ââ, âserverâ: { âhostâ: ââ, âportâ: 8080 } }
- In the /home/jelastic/ROOT/core/server/config/env/config.development.json file replace the following:
âurlâ: âhttp://localhost:2368â, âdatabaseâ: { âclientâ: âsqlite3â, âconnectionâ: { âfilenameâ: âcontent/data/ghost-dev.dbâ }, âdebugâ: false }
with
âurlâ: âhttp://ghost.hidora.comâ, âdatabaseâ: { âclientâ: âmysqlâ, âconnectionâ: { âhostâ : â10.102.10.105â, âuserâ : ârootâ, âpasswordâ : âRRLlxp22173â, âdatabaseâ : âghostâ } }
Where:
âurlâ: âhttp://ghost.hidora.comâ â environment url
âclientâ: âmysqlâ â used database type
âHostâ: â10.102.10.105â â platform internal IP address of database node
âuserâ: ârootâ â the database username from email
âpasswordâ: âRRLlxp22173â â the database password from email
âdatabaseâ: âghostâ â your database name
- In the /home/jelastic/ROOT/core/server/config/env/config.production.json file also replace the next parameters:
âdatabaseâ: { âclientâ: âmysqlâ, âconnectionâ: { âhostâ : â127.0.0.1â, âuserâ : ârootâ, âpasswordâ : ââ, âdatabaseâ : âghostâ } }
with
âdatabaseâ: { âclientâ: âmysqlâ, âconnectionâ: { âhostâ : â10.102.10.105â, âuserâ : ârootâ, âpasswordâ : âRRLlxp22173â, âdatabaseâ : âghostâ } }
9. Connect to your Node.js server via Web SSH and execute the following commands one-by-one in order to setup database migration tool for knex (a query builder for MySQL):
cd ROOT
sudo npm install -g knex-migrator
knex-migrator init
10. Restart the Node.js server to apply the changes youâve made.
Thatâs it! Your Ghost application has been successfully hosted within the Hidora platform. Just click Open in Browser and you can get started.
We hope this tutorial will help to find the best Node.js hosting solution for your application. If your app requires any other specific hosting options and features do not hesitate to contact our support team, weâre always happy to help.
Written by

Matthieu Robin is CEO at Hidora, an experienced strategic leader, a former system administrator who had managed and configured more environments manually than anyone on the planet and after understanding that it could be done in several clicks established Hidora SA. He regularly speaks at conferences and helps companies to optimize business processes using DevOps. Follow him on Twitter @matthieurobin.