1. Mục tiêu của bài này
Mục tiêu của bài này không phải chỉ để “chạy được Nginx”, mà là:
Cài đặt Nginx theo đúng vai trò Reverse Proxy production.
Cấu hình nền tảng gọn, rõ ràng, dễ mở rộng.
Tránh các cấu hình mặc định không phù hợp môi trường nhiều website.
Chuẩn bị sẵn sàng cho HTTPS, Cloudflare và failover backend.
Sau bài này:
Nginx chạy ổn định trên Debian 12.
Cấu trúc cấu hình đã được chuẩn hóa.
Sẵn sàng cho các bài cấu hình chi tiết tiếp theo.
2. Cài đặt Nginx từ kho chính thức của Debian
2.1. Vì sao dùng Nginx từ repo Debian?
Trong môi trường production:
Ưu tiên ổn định hơn phiên bản mới nhất.
Kho chính thức của Debian 12:
Được vá lỗi bảo mật kịp thời.
Đảm bảo tương thích hệ thống.
Không cần cài Nginx từ source hoặc PPA trừ khi có yêu cầu đặc biệt.
2.2. Cài đặt Nginx
Kiểm tra trạng thái:
Nếu hệ thống hoạt động bình thường, Nginx sẽ:
Tự động khởi động.
Lắng nghe cổng 80.
3. Kiểm tra hoạt động ban đầu
Truy cập từ trình duyệt:
Nếu thấy trang:
→ Nginx đã hoạt động.
4. Chuẩn hóa cấu trúc thư mục cấu hình
4.1. Cấu trúc mặc định của Debian
Debian sử dụng cấu trúc chuẩn:
Nguyên tắc sử dụng trong tài liệu này:
nginx.conf: cấu hình global.sites-available/: mỗi website / app một file.sites-enabled/: symlink các site đang hoạt động.Không lạm dụng
conf.dcho virtual host.
4.2. Vô hiệu hóa site mặc định
Site mặc định dễ gây:
Nhầm lẫn khi cấu hình nhiều domain.
Lộ thông tin không cần thiết.
Thực hiện:
Reload:
5. Chuẩn hóa file nginx.conf cho Reverse Proxy
5.1. Mục tiêu chỉnh sửa nginx.conf
Không viết cấu hình site trong
nginx.conf.Chỉ để cấu hình global, ảnh hưởng toàn hệ thống.
5.2. Ví dụ cấu trúc nginx.conf chuẩn
Mở file:
Phần http {} nên có cấu trúc rõ ràng:
Giải thích ngắn gọn:
worker_processes auto: tận dụng CPU hợp lý.worker_connections: đủ lớn cho proxy.server_tokens off: không lộ phiên bản Nginx.
6. Kiểm tra cấu hình Nginx
Sau mỗi thay đổi:
Nếu OK:
Nguyên tắc:
Không restart nếu không cần thiết.
Reload để tránh ngắt kết nối đang hoạt động.
7. Chuẩn hóa logging cho production
Log mặc định đủ dùng ở giai đoạn đầu:
access.logerror.log
Không nên:
Tắt log sớm.
Ghi log quá chi tiết khi chưa cần.
Khi hệ thống lớn lên, sẽ:
Tối ưu log riêng cho từng site.
Phân tích log để xử lý sự cố.
8. Những sai lầm phổ biến cần tránh
Cấu hình tất cả site trong
nginx.conf.Giữ site
default.Restart Nginx liên tục.
Copy–paste cấu hình không hiểu.
Trộn cấu hình proxy, SSL, app trong một file không kiểm soát.
Những lỗi này khiến hệ thống:
Khó mở rộng,
Khó debug,
Dễ gây downtime.
9. Kết luận
Sau bài này:
Nginx đã được cài đặt đúng chuẩn production.
Cấu trúc cấu hình rõ ràng, dễ quản lý.
Hệ thống sẵn sàng cho:
Cấu hình Reverse Proxy cho website,
HTTPS,
Và quản lý hàng trăm domain.
- Đăng nhập để gửi ý kiến