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
maintrongwrangler.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_modulesvà 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
Nội dung này có hữu ích không?