Chuẩn bị
Mục tiêu: có một URL trả về “Hello DLEZ” mà không tự cài server. Cần tài khoản Console, quyền tạo project, source trên GitHub hoặc ZIP và kiểm tra plan/số dư trước khi tạo tài nguyên.
Nếu đã có app chạy được, dùng README của app để xác định lệnh build/start và port. Nếu chưa có, tạo thư mục chứa hai file sau rồi chạy npm start tại thư mục đó bằng Node.js:
package.json
{
"name": "hello-dlez",
"version": "1.0.0",
"private": true,
"type": "module",
"scripts": {
"build": "node --check server.js",
"start": "node server.js"
}
}server.js
import { createServer } from "node:http";
const port = Number(process.env.PORT || 3000);
createServer((_request, response) => {
response.writeHead(200, { "Content-Type": "text/plain; charset=utf-8" });
response.end("Hello DLEZ");
}).listen(port, "0.0.0.0", () => console.log("Listening on port", port));Mở http://localhost:3000: phải thấy “Hello DLEZ”. Đưa hai file lên repo hoặc ZIP ở thư mục gốc, không kèm .env, mật khẩu hay node_modules. Đây là ví dụ kiểm tra deploy, chưa có chức năng nghiệp vụ hoặc database.
Deploy từng bước
- Tạo project: mở Projects, đặt tên dễ nhận biết như hello-dlez và mở luồng Flash Deploy.
- Chọn source: kết nối GitHub và chọn repository/branch; hoặc upload ZIP. Kiểm tra đúng source vừa chạy thử.
- Chọn runtime: chọn template Node.js phù hợp từ Console. Đối chiếu cấu hình build với
npm run buildvà start vớinpm startcủa ví dụ; kiểm tra draft/build config trước khi deploy. - Cấu hình: đặt public port 3000. Ví dụ này dùng PORT=3000 và không cần MySQL/Redis; chọn CPU/RAM và xem chi phí hiển thị.
- Deploy: theo dõi build logs; sau đó đọc runtime logs để thấy “Listening on port 3000”. Nếu lỗi, đọc thông báo đầu tiên trước khi thử lại.
- Kiểm tra: mở URL được hiển thị trong project. Phải thấy “Hello DLEZ”; mở lại bằng cửa sổ riêng tư để xác nhận truy cập từ ngoài.
- Thử cập nhật: đổi nội dung phản hồi, cập nhật source GitHub/ZIP và deploy lại. Xác nhận URL trả nội dung mới và release mới xuất hiện trong lịch sử.
Nếu dùng app của bạn
Chỉ thêm biến mà code đọc. Ví dụ trên chỉ dùng PORT; không thêm DATABASE_URL hay REDIS_URL khi app không cần. App Node.js, Next.js hay frontend tĩnh có cách build/start khác nhau; không dùng dev server làm lệnh chạy production.
- Cấu hình biến môi trường và port, CPU/RAM.
- Thêm dữ liệu MySQL hoặc gắn tên miền riêng.
- Nếu URL không chạy, mở hướng dẫn xử lý lỗi.
- Sau khi thử, xem Billing và dọn tài nguyên không dùng sau khi kiểm tra dữ liệu cần giữ.