🌐 How to Host Multiple React Projects on One VPS Using Subdomains (Nginx + PM2)
Already running one app on your VPS and want to host another under a different subdomain like admin-abhinav.rohatech.site? Whether it's a second React or Node.js app, this guide walks you through the full setup using Nginx and PM2.
🔧 Step 1: Add DNS Record in GoDaddy
- Log in to your GoDaddy account.
- Go to the DNS settings for your domain rohatech.site.
- Click Add Record and add the following:
Type | Name | Value | TTL |
---|---|---|---|
A | admin-abhinav | Your VPS IP address | 1 Hour |
This connects admin-abhinav.rohatech.site to your VPS.
📁 Step 2: Upload or Clone Your Second App
ssh root@your-vps-ip
cd /var/www
git clone https://github.com/your-second-app.git admin-app
cd admin-app
npm install
npm run build
Alternatively, upload it from your local machine using SCP:
scp -r /path/to/your-app root@your-vps-ip:/var/www/admin-app
⚙️ Step 3: Run the Second App on a Different Port
Use PM2 and a different port (e.g., 3002):
npm install -g serve
pm2 start serve --name "admin-app" -- -s build -l 3002
pm2 save
🌐 Step 4: Configure Nginx for the New Subdomain
nano /etc/nginx/conf.d/admin-abhinav.rohatech.site.conf
Paste the following configuration:
server {
listen 80;
server_name admin-abhinav.rohatech.site;
location / {
proxy_pass http://localhost:3002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Then restart Nginx:
nginx -t
systemctl reload nginx
🔒 Step 5: Add SSL with Certbot
certbot --nginx -d admin-abhinav.rohatech.site
To force HTTPS redirection:
server {
listen 80;
server_name admin-abhinav.rohatech.site;
return 301 https://$host$request_uri;
}
✅ Your Second App is Now Live!
You can now access it via:
https://admin-abhinav.rohatech.site
💡 Bonus Tips
- List all apps:
pm2 list
- View logs:
pm2 logs admin-app
- Delete app:
pm2 delete admin-app
- Auto-start on boot:
pm2 startup
pm2 save
This setup lets you host multiple clean, secure apps under different subdomains on a single VPS. 🚀
Comments
Post a Comment