If you’re building Server-Side Rendering applications with React (next.js) or Vue.js (nuxt.js) you will have to deploy it using some process control tool to keep it running. I have seen that a lot of websites are teaching how to do this with PM2, but I decided to deploy SSR applications using Supervisord. It will work in the same way and it’s a very common tool, so chances are you already have Supervisord in your server. Especially you’ve followed the Deploy for Kids tutorial.
sudo apt-get install supervisor
Now, create a new configuration file for your SSR application:
sudo vi /etc/supervisor/conf.d/my-ssr-app.conf
That’s the content:
[program:myappname] directory=/home/username/yourproject/ command=npm run start user=username autostart=true autorestart=true
Now, you have to tell Supervisord about this new process:
sudo supervisorctl reread sudo supervisorctl update
And if in the future you need to restart just your app, use the name in the conf file:
sudo supervisorctl restart myappname
That’s it. Now you know how to deploy SSR applications using Supervisord.