Node.js applications can be hosted in many places, depending on your needs. This is a list of all the various options you can use
The following is an exhaustive list of options you can explore when you want to deploy your application and make it publicly accessible.
I will list from the simplest constraints to more complex and powerful options.
- The simplest option: local tunnel
- Zero configuration deployment
- Serverless
- Pass
- Virtual private server
- Bare metal
The simplest option: local tunnel
Even if you have a dynamic IP or are under NAT, you can use a local tunnel to deploy applications from your computer and process requests.
This option is suitable for some quick tests, demo products or sharing applications with a very small number of people.
A very good tool available on all platforms isEngrock.
To use it, you can typengrok PORT
And the PORT you want is exposed on the Internet. You will get a ngrok.io domain, but with a paid subscription, you can get a custom URL and more security options (remember, you are opening your computer to the public Internet).
Another service you can use ishttps://github.com/localtunnel/localtunnel
Zero configuration deployment
glitch
glitchIt's a playground, a way to make your apps build faster than ever, and view them in real time on your own glitch.com subdomain. You currently cannot have a custom domain, and there are somelimitIn place, but making prototypes is really great. It looks interesting (it’s a plus sign), and it’s not a stupid environment-you can use all the features of Node.js,CDN, Used for secure storage of credentials, GitHub import/export, etc.
Provided by the company behind FogBugz and Trello (and the co-founders of Stack Overflow).
I often use it for demonstration purposes.
Code pen
Code penIt is an amazing platform and community. You can create projects with multiple files and deploy them with custom domains.
Serverless
One way to publish an application without having to manage the server at all isServerless. Serverless is when you publish your application asFeatures, And they respond on network endpoints (also called FAAS-Function as a Service).
The very popular solution is
They all provide an abstraction layer that can be used to publish on AWS Lambda and other FAAS solutions based on Azure or Google Cloud products.
Pass
PAAS stands for Platform as a Service. These platforms eliminate many of the things you should worry about when deploying applications.
Now times
Zeit is now calledWiesel
Zeit is an interesting choice. You just enternow
In your terminal, it is responsible for deploying your application. There is a free version that has limitations, while the paid version is more powerful. You forgot that there is a server here, you just deployed the application.
Nanobox
Hrucu
Heroku is an amazing platform.
This is a great articleStart using Node.js on Heroku.
Microsoft Azure
Azure is a Microsoft Cloud product.
Understand howCreate a Node.js web application in Azure.
Google Cloud Platform
Google Cloud is an amazing structure for your application.
They have a goodNode.js documentation section
Virtual private server
In this section, you will find the usual suspicious objects, sorted from higher user-friendliness to lower user-friendliness:
- Digital ocean
- Lynold
- Amazon Web Services, Especially I mentioned Amazon Elastic Beanstalk, because it abstracts a bit of the complexity of AWS.
Since they provide an empty Linux computer on which to work, there is no specific tutorial for them.
There are more options in the VPS category, these are just the options I use and I would recommend you to use them.
Bare metal
Another solution is to get a bare metal server, install a Linux distribution, connect it to the Internet (or rent one every month, just like you can useVultr bare metalservice)
Download mine for freeNode.js manual
More node tutorials:
- Introduction to npm package manager
- Introduction to Node.js
- HTTP request using Axios
- Where to host Node.js applications
- Use Node.js to interact with Google Analytics API
- npx node package runner
- package.json guide
- Where does npm install packages?
- How to update Node.js
- How to use or execute packages installed with npm
- package-lock.json file
- Semantic version control using npm
- Should you submit the node_modules folder to Git?
- Update all Node dependencies to the latest version
- Use Node.js to parse JSON
- Find the installed version of the npm package
- Node.js flow
- Install an older version of the npm package
- Get the current folder in Node
- How to record objects in Node
- Use export to expose functions from Node files
- Difference between node and browser
- Use Node to make HTTP POST requests
- Use Node to get HTTP request body data
- Node buffer
- A brief history of Node.js
- How to install Node.js
- How much JavaScript do you need to know to use Node?
- How to use Node.js REPL
- Node, accepts parameters from the command line
- Use Node to output to the command line
- Accept input from the command line in Node
- Use `npm uninstall` to uninstall the npm package.
- npm global or local package
- npm dependencies and devDependencies
- Node.js event loop
- Understanding process.nextTick()
- Understanding setImmediate()
- Node event emitter
- Set up an HTTP server
- Use Node to make HTTP requests
- Node fs module
- HTTP request in Node using Axios
- Use Node to read files
- Node file path
- Write file with Node
- Node file statistics
- Use file descriptors in Node
- Use folders in Node
- Node path module
- Node http module
- Combine WebSockets with Node.js
- Basic knowledge of using MySQL and Node
- Error handling in Node.js
- Pug Guide
- How to read environment variables from Node.js
- How to exit from Node.js program
- Node os module
- Node event module
- Node, the difference between development and production
- How to check if a file exists in Node.js
- How to create an empty file in Node.js
- How to delete files using Node.js
- How to get the last update date of a file using Node.js
- How to determine whether the date is today in JavaScript
- How to write a JSON object to a file in Node.js
- Why use Node.js in the next project?
- Run web server from any folder
- How to use MongoDB with Node.js
- Use Chrome DevTools to debug Node.js applications
- What is pnpm?
- Node.js runtime v8 options list
- How to solve the "missing write access permission" error when using npm
- How to enable ES modules in Node.js
- How to use Node.js to generate child processes
- How to get the parsed body and the original body at the same time in Express
- How to handle file upload in Node.js
- What is the peer dependency in the node module?
- How to write a CSV file using Node.js
- How to use Node.js to read CSV files
- Node core module
- Use Node.js to increase the number of multiple folders at once
- How to print canvas to data URL
- How to create and save images using Node.js and Canvas
- How to download images using Node.js
- How to batch rename files in Node.js
- How to get the names of all files in a folder in Node
- How to use promise and wait function based on Node.js callback
- How to test NPM packages locally
- How to check the current Node.js version at runtime
- How to use Sequelize to interact with PostgreSQL
- Use Node.js to serve HTML pages
- How to solve the error that util.pump in Node.js is not a function