Interactive Builder

Nginx Reverse Proxy Config Generator

Node.js, Python, PHP သို့မဟုတ် Docker အက်ပ်များအတွက် Production Nginx Config ဖိုင်ကို စက္ကန့်ပိုင်းအတွင်း ထုတ်ပေးပါမည်။

/etc/nginx/sites-available/app.myanmar-dev.com
Terminal Commands:
Interactive Builder

UFW Firewall Rule Builder

ဆာဗာကို Hacker များမှ ကာကွယ်ရန် UFW Firewall စည်းမျဉ်းများကို စိတ်ချလုံခြုံစွာ ထုတ်ပေးမည့် Generator ဖြစ်ပါသည်။

Generated Bash Firewall Script
⚠️
သတိပြုရန်: UFW ကို မဖွင့်မီ မိမိလက်ရှိ SSH Port ကို အရင် allow လုပ်ပြီးဖြစ်ပါစေ။ မဟုတ်ပါက ဆာဗာမှ Lockout ဖြစ်သွားနိုင်ပါသည်။
Interactive Builder

SSH Key & Config Helper

Ed25519 SSH Key Pair ထုတ်ယူနည်းနှင့် Terminal တွင် ssh myvps တစ်ချက်ရိုက်ရုံဖြင့် တိုက်ရိုက် Login ဝင်နိုင်မည့် Config Generator ဖြစ်ပါသည်။

1. Generate Key (စက်ပေါ်တွင် run ရန်)
2. Copy Key to Server
3. Add to ~/.ssh/config
Interactive Builder

Linux Swap File & Memory Tuning Generator

Budget VPS (1GB/2GB RAM) များတွင် MySQL သို့မဟုတ် Node.js အက်ပ်များ Memory ပြည့်ပြီး Out-Of-Memory (OOM Killer) ကြောင့် ရုတ်တရက် crash မဖြစ်အောင် Virtual Memory (Swap) ဖန်တီးပေးမည့် Tool ဖြစ်ပါသည်။

RAM ပမာဏအပေါ် မူတည်၍ သင့်တော်သော Swap size ကို အလိုအလျောက် တွက်ချက်ပေးပါမည်
SSD/NVMe Disk များအတွက် Swappiness ကို 10 (သို့မဟုတ် 20) ထားခြင်းက Disk သက်တမ်းကို ထိန်းသိမ်းပေးပါသည်
💡 အဘယ်ကြောင့် Swap ထားသင့်သနည်း?

Linux Kernel သည် RAM 100% ပြည့်သွားပါက ဆာဗာမရပ်သွားစေရန် RAM အသုံးအများဆုံး application (ဥပမာ mysqld, node) ကို OOM Killer ဖြင့် အတင်းအကျပ် သတ်ပစ်လေ့ရှိပါသည်။ Swap ထည့်ထားပါက ယာယီ memory အဖြစ် disk ကို သုံးနိုင်သဖြင့် crash ဖြစ်ခြင်းမှ ကာကွယ်ပေးပါသည်။

Automated Bash Swap Setup Script
Verify Status Command:
sudo swapon --show && free -h
Stack Builder

Docker Compose Multi-Container Stack Generator

Web Application, Database (PostgreSQL/MySQL), Redis Cache နှင့် Nginx များကို ချိတ်ဆက်ပေးမည့် Production-grade docker-compose.yml ဖိုင်ကို စက္ကန့်ပိုင်းအတွင်း အလိုအလျောက် ထုတ်ယူနိုင်ပါသည်။

Run in Terminal:
Daemon Builder

Linux Systemd Service Unit Generator

Node.js, Python FastAPI/Django, Go binary သို့မဟုတ် Background worker များကို Linux system service အဖြစ် background တွင် အလိုအလျောက် အမြဲတစေ run ထားရန် .service unit config ဖိုင်ကို ထုတ်ပေးပါမည်။

ဖိုင်အမည်: /etc/systemd/system/<name>.service
Root အစား non-root သုံးရန် အကြံပြုပါသည်
ဥပမာ- which node သို့မဟုတ် which python3 ဖြင့် စစ်ဆေးရရှိသော absolute path
/etc/systemd/system/api-server.service
Terminal Deployment Commands:
Automation Builder

Database Automated Backup & Cron Script Generator

PostgreSQL သို့မဟုတ် MySQL/MariaDB database များကို နေ့စဉ် အလိုအလျောက် backup ထုတ်ယူပြီး သတ်မှတ်ရက်ထက် ကျော်လွန်သော backup အဟောင်းများကို auto ရှင်းထုတ်ပေးမည့် Production Bash Script နှင့် Cron Job ကို ထုတ်ပေးပါမည်။

ဆာဗာပေါ်တွင် backup ဖိုင်များ သိမ်းဆည်းမည့် folder လမ်းကြောင်း
/usr/local/bin/backup-db.sh
1. Crontab Schedule Line (sudo crontab -e ထဲ ထည့်ရန်):
2. Install & Test Backup Script:
Diagnostic Runbook

Server Incident & Error Diagnostic Wizard

Production ဝဘ်ဆိုက် ကျသွားပါက သို့မဟုတ် Error တက်ပါက ကြုံတွေ့နေရသော ပြဿနာကို ရွေးချယ်ပြီး အကြောင်းရင်းနှင့် ဖြေရှင်းနည်းများကို စနစ်တကျ ရှာဖွေနိုင်ပါသည်။

Summary

Nginx က web traffic လက်ခံသော်လည်း backend application (Node, Python, PHP) ထံမှ တုံ့ပြန်မှု မရရှိခြင်း

🚨 ဖြစ်ရသည့် အဓိက အကြောင်းရင်းများ (Root Causes):
  • Backend App (Port 3000 သို့မဟုတ် 8000) ရပ်တန့်နေခြင်း (Crashed or Not Running)
  • Nginx proxy_pass port နံပါတ်နှင့် App port မကိုက်ညီခြင်း
  • PM2 သို့မဟုတ် Systemd service ပျက်ကျသွားခြင်း
🔍 Terminal Diagnostic Commands:
# 1. Check if backend process is alive
pm2 status || sudo systemctl status myapp || docker ps

# 2. Check if the port is actively listening locally
sudo ss -tulpn | grep 3000

# 3. Test backend response directly bypassing Nginx
curl -Iv http://127.0.0.1:3000
✅ ဖြေရှင်းနည်း အဆင့်ဆင့် (Step-by-Step Fix):
  1. PM2 ဖြစ်ပါက: `pm2 logs --lines 50` ဖြင့် uncaught error ရှာဖွေပြီး `pm2 restart all` ပြုလုပ်ပါ
  2. Systemd ဖြစ်ပါက: `sudo journalctl -u myapp -f -n 50` ဖြင့် error ကြည့်ပြီး `sudo systemctl restart myapp` လုပ်ပါ
  3. Nginx config `/etc/nginx/sites-available/` ထဲရှိ `proxy_pass http://127.0.0.1:<port>;` မှန်မမှန် စစ်ဆေးပါ