Sorry if this is a basic question, I am still wrapping my head around nodejs deployments. I have an app written on nodejs which I want to deploy to production. So far for
You can use pm2 combined with ExpressJs to deploy on remote server. Basically pm2 makes your code run forever in background task with cluster mode.
Basically you need to put your files into remote server and create a .json or yaml file for pm2 to understand what will be the process.
Then you should install libs and modules through npm install
. After this you need to install pm2 on your remote server using npm i -g pm2
.
After all of them, you can use pm2's basic cli commands to deploy. pm2 start process.yml --env=production
is a basic example for deployment. You can use pm2 stop process.yml
for stopping the task. You can also use pm2 monit
for system monitoring. If you want to see the logs, you can run pm2 logs
. If you want to restart or update: pm2 reload all
or pm2 update
helps.
For remote server, you can use clouds for best performance. You can look the pricing of AWS, Azure, GCloud, Heroku or DigitalOcean. They are providing free tiers and you can search for them.