For the complete documentation index, see llms.txt. This page is also available as Markdown.

Hướng dẫn deploy EmDash trên Cloudflare Workers

Trong bài viết trước của Cẩm nang NQDEV, chúng ta đã phân tích vì sao EmDash là một CMS đáng chú ý trong kỷ nguyên mới. Bây giờ, hãy đi vào phần thực tế hơn: deploy EmDash lên Cloudflare Workers – nơi nó phát huy đúng sức mạnh kiến trúc.

Bài viết này sẽ giúp bạn:

  • Hiểu rõ cách EmDash chạy trên Workers

  • Triển khai từng bước từ local → production

  • Tránh các lỗi phổ biến khi deploy


1. Tổng quan kiến trúc deploy EmDash

Trước khi bắt tay vào làm, cần hiểu một điểm quan trọng:

👉 EmDash không chạy như CMS truyền thống (PHP + server)

Thay vào đó:

  • Build bằng Astro

  • Deploy lên Cloudflare Workers

  • Plugin chạy trong Worker isolates (sandbox)

Kiến trúc đơn giản:

User Request → Cloudflare Edge → Worker → Render (Astro) → Response

👉 Điều này giúp:

  • Tốc độ cực nhanh (Edge)

  • Scale gần như không giới hạn

  • Bảo mật tốt hơn


2. Chuẩn bị môi trường

2.1. Yêu cầu cần có

  • Node.js >= 18

  • npm hoặc pnpm

  • Tài khoản Cloudflare

  • Wrangler CLI


2.2. Cài đặt Wrangler

Đăng nhập:

👉 Sau bước này, bạn đã sẵn sàng deploy lên Cloudflare.


3. Clone và chạy EmDash local

3.1. Clone source

3.2. Cài dependencies

3.3. Chạy local

👉 Truy cập:

Kiểm tra:

  • Admin dashboard hoạt động

  • Tạo bài viết thử

  • Navigation mượt


4. Build project cho Cloudflare Workers

4.1. Build production

Sau khi build:

  • Output nằm trong thư mục dist/

  • Astro đã tối ưu cho production


4.2. Cấu hình adapter cho Workers

EmDash sử dụng Astro → cần adapter Cloudflare

Kiểm tra file:

Đảm bảo có:

👉 Đây là bước quan trọng để chạy trên Workers.


5. Cấu hình Wrangler

5.1. Tạo file cấu hình

Hoặc tạo nhanh wrangler.toml:


5.2. Cấu hình bindings (nếu có)

Nếu EmDash dùng:

  • KV

  • R2

  • D1

Bạn cần khai báo:

👉 Đây là nơi plugin sẽ truy cập tài nguyên theo permission.


6. Deploy lên Cloudflare Workers

6.1. Deploy

Sau khi chạy:

  • Cloudflare sẽ build Worker

  • Cấp URL dạng:


6.2. Kiểm tra

  • Truy cập URL

  • Test:

    • Trang blog

    • Admin dashboard

    • Tạo / sửa bài viết

👉 Nếu mọi thứ hoạt động → deploy thành công 🎉


7. Custom domain (tuỳ chọn)

Bạn có thể gắn domain riêng:

Hoặc cấu hình trong Cloudflare Dashboard:

  • Workers → Routes

  • Add domain


8. Những lỗi thường gặp & cách xử lý

❌ Lỗi 404 sau deploy

👉 Nguyên nhân:

  • Sai đường dẫn _worker.js

✔ Fix:

  • Kiểm tra main trong wrangler.toml


❌ Plugin không hoạt động

👉 Nguyên nhân:

  • Chưa khai báo bindings / capabilities

✔ Fix:

  • Kiểm tra manifest plugin

  • Đảm bảo đúng scope


❌ Lỗi environment variables

👉 Fix:


❌ Build lỗi Astro

👉 Fix:

  • Kiểm tra version Node

  • Xoá node_modules và cài lại


9. Tối ưu khi chạy production

Để tận dụng tối đa EmDash:

✅ Sử dụng KV cache

  • Cache nội dung blog

  • Giảm thời gian render

✅ Dùng R2 cho media

  • Lưu ảnh, file upload

  • Giảm chi phí

✅ Phân quyền plugin rõ ràng

  • Không cấp quyền dư thừa

  • Theo nguyên tắc least privilege


10. Kết luận – Deploy chỉ là bước đầu

Triển khai EmDash trên Cloudflare Workers không quá phức tạp, nhưng giá trị thật nằm ở:

👉 kiến trúc Edge + sandbox plugin

Đây là nền tảng để bạn:

  • Xây CMS an toàn hơn

  • Scale dễ dàng hơn

  • Tối ưu trải nghiệm người dùng


Góc nhìn từ Cẩm nang NQDEV

Tại Cẩm nang NQDEV, chúng tôi tin rằng:

Deploy không chỉ là đưa code lên server, mà là lựa chọn kiến trúc phù hợp ngay từ đầu.

EmDash + Cloudflare Workers chính là một ví dụ rõ ràng cho hướng đi:

  • Serverless-first

  • Security-by-design

  • Performance-native

Nếu bạn đang phát triển sản phẩm trên NQDEV Platform, hãy thử triển khai EmDash để cảm nhận sự khác biệt.


📚 Xem thêm các bài viết chuyên sâu tại: 👉 https://blogs.nhquydev.net/

Cập nhật lần cuối