© 2026 Hashnode
Context We were running a Node.js backend using PM2 on a Linux server. Application details: Process manager: PM2 Mode: fork User: root Deployment: Manual setup on VM No containerization No autoscaling The service was running fine in steady st...

Introduction: When you deploy a Node.js application to production, you face several challenges: Port Access: Node.js apps run on high ports (3000, 3001, etc.) that require special permissions. HTTP/HTTPS use ports 80 and 443, which only the root use...

This article is a personal reference guide for configuring Nginx as a reverse proxy in front of a Node.js application managed by PM2 on Ubuntu. It focuses on what actually matters in production. 🧠 Why Nginx? Nginx sits between the internet and your...
