Cheatsheet: Đưa app vibe-code lên production: domain, HTTPS và deploy an toàn
Tip: Thứ tự vàng: deploy → domain → HTTPS → tách env → log + uptime → backup + rollback → go-live checklist. Đừng bỏ qua bước nào, mỗi bước đều có thể làm sập app lúc 2 giờ sáng.
Module 1: Đưa app từ local lên internet
1.1 Chọn hosting và deploy bản đầu tiên
Chọn hosting theo loại app:
| Loại app | Gợi ý hosting | Ghi chú |
|---|---|---|
| Static (HTML/CSS/JS, Vite, Next export) | Vercel, Netlify, Cloudflare Pages, GitHub Pages | Free tier rộng, deploy bằng git push |
| Node.js / Express / Next.js (SSR) | Render, Railway, Fly.io, Vercel | Cần build + start command |
| Python (Flask, FastAPI, Django) | Render, Railway, Fly.io | Cần requirements.txt / pyproject.toml |
| Database đi kèm | Managed DB của hosting hoặc Supabase / Neon | Đừng tự cài DB trên VPS nếu mới bắt đầu |
| VPS tự quản (DigitalOcean, Linode) | Khi cần toàn quyền | Tự lo OS, firewall, backup, SSL |
Checklist trước khi deploy lần đầu:
- Code đã push lên GitHub (repo private cũng được)
- Có file
package.jsonvới scriptbuildvàstart - Có
.gitignore(đặc biệt.env,node_modules) - Đã chọn đúng runtime version (Node 20, Python 3.12, ...)
- App đọc
PORTtừ biến môi trường, không hardcode3000
Lệnh kiểm tra app chạy được ở local trước khi deploy:
npm install
npm run build
npm start # phải truy cập được http://localhost:3000
Cấu hình start command thường gặp:
| Nền tảng | Build command | Start command |
|---|---|---|
| Node.js | npm install && npm run build |
npm start |
| Next.js | npm run build |
npm start |
| Python (FastAPI) | pip install -r requirements.txt |
uvicorn main:app --host 0.0.0.0 --port $PORT |
Warning: App phải bind
0.0.0.0, không phải127.0.0.1. Bind localhost thì hosting không truy cập được, đây là lỗi phổ biến nhất của lần deploy đầu.
Sau khi deploy xong, kiểm tra ngay:
curl -I https://<url-tam-cua-hosting>
# Kỳ vọng: HTTP/2 200
This cheatsheet is premium content. Sign in and purchase the course to view the full content. Sign in