5.6 KiB
🚀 RIT Freshers Hub - Complete VPS Operations & Maintenance Guide
A complete, beginner-friendly guide to managing, updating, monitoring, and troubleshooting the RIT Freshers Hub production server on Linux (Ubuntu / Debian).
📍 Server & Architecture Summary
- Server IP:
129.121.126.66 - SSH User:
root - Primary Domain:
rit-services.in - Backend API Domain:
api.rit-services.in - Application Root Path:
/var/www/freshers-hub
🏗️ Microservice Ports & Services
| Service | Technology | Port | Systemd Service Name | Config Path |
|---|---|---|---|---|
| Frontend PWA | React + Vite + Nginx | 80 / 443 |
nginx |
/etc/nginx/sites-available/default |
| Backend API | Spring Boot (Java 17) | 8085 |
springboot.service |
/etc/systemd/system/springboot.service |
| Go Chatbot | Go BM25 Engine | 8081 |
chatbot.service |
/etc/systemd/system/chatbot.service |
| Bots (Telegram/Discord) | Python FastAPI | 8082 |
telegram-bot.service |
/var/www/freshers-hub/telegram-bot/.env |
| Database | PostgreSQL | 5432 |
postgresql |
DB User: postgres, Password: RITHosting123 |
🔑 1. How to Connect to the VPS
Open PowerShell, Command Prompt, or Terminal on your computer and run:
ssh root@129.121.126.66
(Enter your SSH password when prompted)
⚡ 2. Daily Commands (Deploying Updates from GitHub)
Whenever you push new code to GitHub and want to update the live website:
A) Update Everything in 1 Command Block
Copy and paste this into your VPS terminal:
cd /var/www/freshers-hub && \
git pull && \
npm run build && \
(cd chatbot-service && go build -o chatbot-service main.go) && \
systemctl restart springboot chatbot telegram-bot nginx
B) Updating Specific Parts (Step-by-Step)
1. Update Frontend UI & Static Files Only:
cd /var/www/freshers-hub
git pull
npm run build
2. Restart Spring Boot Backend:
systemctl restart springboot
3. Restart Go Chatbot Microservice:
cd /var/www/freshers-hub/chatbot-service
git pull
go build -o chatbot-service main.go
systemctl restart chatbot
4. Restart Telegram & Discord Bot:
cd /var/www/freshers-hub/telegram-bot
git pull
systemctl restart telegram-bot
📊 3. Health & Status Check Commands
Want to check if all services are running healthy? Run these commands:
Check Status of All Services:
systemctl status springboot chatbot telegram-bot nginx postgresql
Check Active Listening Ports:
ss -tulpn | grep -E '8085|8081|8082|80|443|5432'
(You should see Java on 8085, Go on 8081, Python on 8082, Nginx on 80/443, PostgreSQL on 5432).
📜 4. Viewing Live System Logs (Debugging Errors)
If a feature is failing or you want to see live incoming requests:
1. View Spring Boot Backend Logs:
journalctl -u springboot -n 50 --no-pager
To follow logs live in real-time: journalctl -u springboot -f
2. View Go Chatbot Logs:
journalctl -u chatbot -n 50 --no-pager
3. View Telegram & Discord Bot Logs:
journalctl -u telegram-bot -n 50 --no-pager
4. View Nginx Web Server Access & Error Logs:
# Recent web traffic requests:
tail -n 30 /var/log/nginx/access.log
# Recent web server errors:
tail -n 30 /var/log/nginx/error.log
🛠️ 5. Common Troubleshooting & Emergency Fixes
🚨 Problem 1: "502 Bad Gateway" on Website
- Cause: The Spring Boot backend or Go chatbot is stopped.
- Fix: Restart all services:
systemctl restart springboot chatbot nginx
🚨 Problem 2: Nginx Configuration Test Fails
- Check for Nginx syntax errors:
sudo nginx -t - If it says syntax is OK, reload Nginx:
sudo systemctl reload nginx
🚨 Problem 3: Check & Renew SSL Certificates (HTTPS)
- Check all SSL certificates & expiry dates:
sudo certbot certificates - Force renew SSL certificates (if needed):
sudo certbot renew --force-renewal sudo systemctl reload nginx
🚨 Problem 4: PostgreSQL Database Connection Error
- Check PostgreSQL status:
systemctl status postgresql - Test Database Password manually:
PGPASSWORD='RITHosting123' psql -U postgres -h localhost -d freshers_hub_db -c '\dt'
🚨 Problem 5: Full Server Reboot (Emergency Reset)
If the server becomes completely unresponsive or memory is full:
sudo reboot
Wait 60 seconds, reconnect via SSH, and check services:
systemctl status springboot chatbot telegram-bot nginx postgresql
💾 6. Database Backup & Restore
Backup PostgreSQL Database to a .sql File:
PGPASSWORD='RITHosting123' pg_dump -U postgres -h localhost freshers_hub_db > /root/backup_freshers_hub_$(date +%F).sql
Restore Database from a .sql Backup File:
PGPASSWORD='RITHosting123' psql -U postgres -h localhost freshers_hub_db < /root/backup_freshers_hub_2026-08-04.sql
🛡️ 7. Systemd Service File Reference Paths
For reference, all auto-start systemd service configuration files are stored at:
- Spring Boot Backend:
/etc/systemd/system/springboot.service - Go Chatbot Engine:
/etc/systemd/system/chatbot.service - Telegram & Discord Bot:
/etc/systemd/system/telegram-bot.service - Nginx Web Server Config:
/etc/nginx/sites-available/default
🏆 You're all set!
Save this document for your team to easily maintain, update, and manage the server with zero prior Linux experience.