Ví dụ bên dưới là case thực tế. Tùy vào nhu cầu của bạn để điều chỉnh.
Khi số lượng website tăng lên, vấn đề không còn nằm ở việc “viết đúng cấu hình”, mà là làm sao để quản trị được toàn bộ hệ thống một cách rõ ràng, an toàn và dễ mở rộng.
Nếu tất cả các file cấu hình đều nằm chung trong một thư mục sites-available mà không có phân loại, việc bảo trì sẽ nhanh chóng trở thành ác mộng:
Khó xác định vai trò từng site
Dễ include nhầm cấu hình
Khó kiểm soát bảo mật và hiệu năng
Cấu trúc sites-available trong hình minh họa là một ví dụ điển hình cho cách tổ chức theo nhóm chức năng, rất đáng áp dụng trong các hệ thống nhiều website.
1. Nguyên tắc cốt lõi: phân loại theo chức năng, không theo tên miền
Thay vì đặt tất cả site ngang hàng, cấu trúc này chia website theo vai trò vận hành:
Mỗi thư mục đại diện cho một nhóm website có cùng đặc điểm kỹ thuật, không phụ thuộc:
Tên miền
Khách hàng
Dự án ngắn hạn
2. Phân tích từng nhóm trong sites-available
2.1. AppQms – Ứng dụng nghiệp vụ nội bộ
Đây là nơi chứa:
Ứng dụng quản lý chất lượng (QMS)
Dashboard
Hệ thống tác nghiệp
Đặc điểm:
Có đăng nhập
Có phân quyền
Yêu cầu bảo mật cao
Không public toàn bộ Internet
➡️ Nhóm này thường:
Dùng snippets
webappÁp dụng rate-limit
Logging chi tiết
2.2. AppXml – Dịch vụ tích hợp, trao đổi dữ liệu
Dành cho:
API XML / JSON
Kết nối hệ thống bên ngoài
Tích hợp phần mềm HIS, LIS, EMR, QMS
Đặc điểm:
Không phục vụ người dùng trực tiếp
Nhạy cảm với timeout
Cần kiểm soát truy cập IP
➡️ Nên:
Tách riêng hoàn toàn
Không dùng cấu hình website thông thường
2.3. External – Website/Service công khai
Bao gồm:
Website public
Landing page
Cổng thông tin
Đặc điểm:
Truy cập Internet
Lưu lượng lớn
Ưu tiên cache, hiệu năng
➡️ Dùng cấu hình thiên về:
Static cache
Security headers cơ bản
Logging gọn
2.4. Maintenance – Chế độ bảo trì
Nhóm này không phải website thực, mà dùng để:
Bật trang bảo trì
Chuyển hướng toàn bộ hệ thống khi nâng cấp
Xử lý sự cố khẩn cấp
Ưu điểm khi tách riêng:
Bật/tắt nhanh
Không sửa từng site
Tránh lỗi cấu hình hàng loạt
2.5. WebArt – Website nội dung, truyền thông
Bao gồm:
Tin tức
Bài viết
Cổng truyền thông
Đặc điểm:
Ít logic động
Nhiều file tĩnh
SEO quan trọng
➡️ Tối ưu cho:
Cache
Gzip/Brotli
Logging truy cập
2.6. WebGov – Website hành chính, quản trị
Dành cho:
Cổng hành chính
Website quản lý nội bộ
Thông tin điều hành
Đặc điểm:
Yêu cầu tuân thủ
Cấu hình bảo mật chặt
Truy vết log rõ ràng
➡️ Không nên trộn với website truyền thông.
2.7. WebHos – Website bệnh viện / cơ sở y tế
Đặc thù:
Kết hợp truyền thông + nghiệp vụ
Có tích hợp hệ thống y tế
Yêu cầu ổn định cao
➡️ Thường cần:
Snippets riêng
Chính sách timeout khác
Bảo mật nâng cao
2.8. WebMed – Website chuyên ngành y
Ví dụ:
Cổng kiến thức y học
Website chuyên khoa
Thư viện y khoa
Đặc điểm:
Chủ yếu nội dung
Lưu lượng ổn định
Ít chức năng nhạy cảm
2.9. WebOther – Nhóm linh hoạt
Dành cho:
Website thử nghiệm
Dự án ngắn hạn
Các site chưa phân loại rõ
➡️ Tránh đưa vào nhóm chính khi chưa ổn định.
3. Lợi ích của cách tổ chức này
3.1. Quản trị dễ dàng
Chỉ cần nhìn thư mục là biết:
Website thuộc nhóm nào
Có nên áp dụng cấu hình gì
3.2. Giảm rủi ro cấu hình nhầm
Không include nhầm snippet
Không áp dụng rate-limit cho site không cần
Không mở public dịch vụ nội bộ
3.3. Dễ tự động hóa và chuẩn hóa
Viết script tạo site theo nhóm
Áp dụng CI/CD cho từng nhóm
Phù hợp quản trị quy mô lớn
4. Gợi ý cấu trúc bên trong mỗi nhóm
Tên file:
Có quy ước
Có tiền tố
Dễ grep, dễ tìm
5. Kết luận
Cách tổ chức sites-available theo nhóm chức năng như hình minh họa là:
Thực tế
Bền vững
Phù hợp hệ thống nhiều website
Đặc biệt phù hợp cho:
Bệnh viện
Doanh nghiệp lớn
Hệ thống tích hợp nhiều dịch vụ
👉 Quản trị tốt bắt đầu từ cấu trúc tốt.
Nếu cấu trúc rõ ràng, cấu hình phức tạp đến đâu cũng kiểm soát được.
- Đăng nhập để gửi ý kiến