Bạn Tìm Gì Hôm Nay ...?
Tất cả đều có chỉ trong 1 nốt nhạc !
Nếu cần hỗ trợ chi tiết gọi 1900 9477
Nginx caching là quá trình lưu trữ tạm thời các tài nguyên web, chẳng hạn như hình ảnh, tệp CSS, JavaScript và nội dung trang web, để giảm thiểu thời gian tải trang và tối ưu hóa hiệu suất của ứng dụng web. Khi một máy khách yêu cầu tài nguyên từ máy chủ web, NGINX kiểm tra xem liệu tài nguyên đó đã được lưu trong bộ nhớ cache hay chưa. Nếu đã có trong cache và vẫn còn hợp lệ, NGINX sẽ trả về tài nguyên đó trực tiếp từ cache thay vì phải tải lại từ máy chủ gốc, giúp tăng tốc độ tải trang và giảm tải cho máy chủ gốc.
Hầu hết chúng ta đều biết và tận dụng khả năng reverse proxy với hiệu suất cao của NGINX+, tuy nhiên, nhiều người không biết rằng nó cũng có thể tận dụng nó như một tầng bộ nhớ cache với hiệu suất cao. Trong bài viết này, chúng ta sẽ đề cập đến những điểm quan trọng về khả năng này cũng như một số cân nhắc và tùy chọn cấu hình mà bạn có thể chưa dùng đến.
Để tận dụng NGINX như một tầng bộ nhớ cache cho lưu lượng proxy, có một vài thành phần cần được làm rõ trước khi kích hoạt việc caching để đảm bảo trải nghiệm tốt:
Cần phải xác định một vị trí trên ổ cứng để định nghĩa việc caching của NGINX. Điều này nên là một thiết bị lưu trữ hiệu suất cao như một ổ NVME SSD hoặc các thiết bị lưu trữ hỗ trợ flash khác với độ trễ thấp và khả năng truyền tải cao.
Nên sử dụng một định danh duy nhất để xác định thành phần nào có thể được cache. Mặc định, NGINX sẽ sử dụng khóa sau: $scheme $proxy_host $request_uri. Đối với các yêu cầu được xác thực, điều này nên là một cái gì đó cách ly cache theo mô hình từng người dùng. Đối với các yêu cầu khác, điều này nên đủ duy nhất để đảm bảo rằng bạn không bị kết thúc với một bộ nhớ cache “nhiễu động” trong đó một mục được cache thay thế cho một mục khác, chẳng hạn nội dung động có thể thay đổi theo từng yêu cầu.
NGINX sẽ cache sau mỗi yêu cầu (sử dụng), tuy nhiên, điều này có thể dẫn đến việc cache được điền đầy với các mục ít được yêu cầu. Trong hầu hết các môi trường, điều này cần phải được điều chỉnh để phù hợp với bản chất của ứng dụng được proxy.
NGINX sẽ cache cho các yêu cầu HEAD và GET; tuy nhiên, trong một số môi trường, có thể hữu ích để cache cho các phương thức khác như POST.
Trong một số môi trường, việc xác định bao lâu một mục cache sẽ có hiệu lực trước khi NGINX xóa hoặc xác minh lại cache của mình có thể hữu ích để đảm bảo dữ liệu lỗi không được trả về cho các máy khách.
Thường có những điểm cuối được chọn sẽ không bao giờ được cache, chẳng hạn như trang đăng nhập hoặc vị trí có thể xử lý các phản hồi nhạy cảm hoặc dùng một lần. Chúng có thể được bỏ qua theo lựa chọn khi cần.
Dưới đây là ví dụ cấu hình nginx cache đơn giản
Giải thích các đoạn config trong ảnh:
proxy_cache_path /var/cache/ea-nginx/proxy/ecoe levels=1:2 keys_zone=ecoe:10m inactive=60m;
Dòng này định nghĩa nơi lưu trữ cache cho proxy. Cụ thể sử dụng đường dẫn /var/cache/ea-nginx/proxy/ecoe… để lưu cache. Các tùy chọn levels, keys_zone, và inactive cấu hình cách cache được quản lý
location / : Đây là cấu hình cho vị trí mặc định, nơi mà tất cả các yêu cầu đến máy chủ Nginx sẽ được xử lý.
proxy_cache $CPANEL_PROXY_CACHE; Đây là tên của cache mà yêu cầu sẽ được lưu vào
proxy_no_cache $CPANEL_SKIP_PROXY_CACHING; Xác định các yêu cầu không được lưu vào cache
proxy_cache_bypass $CPANEL_SKIP_PROXY_CACHING; Xác định các yêu cầu bỏ qua việc sử dụng cache
proxy_cache_valid 200 301 302 60m; Xác định thời gian mà các phản hồi có mã trạng thái 200, 301, hoặc 302 được coi là hợp lệ trong cache.
proxy_cache_valid 404 1m; Xác định thời gian mà phản hồi có mã trạng thái 404 được coi là hợp lệ trong cache
proxy_cache_use_stale error timeout http_429 http_500 http_502 http_503 http_504; Xác định các tình huống mà Nginx sẽ sử dụng cache cũ mà không phải chờ phản hồi mới từ máy chủ ứng dụng
proxy_cache_background_update on; Cho phép cập nhật nền cache sau khi đã phục vụ phản hồi mới
proxy_cache_revalidate on; Cho phép xác minh lại tính hợp lệ của cache bằng cách kiểm tra máy chủ ứng dụng
proxy_cache_min_uses 1; Xác định số lượng tối thiểu yêu cầu để một phần tử được lưu vào cache
proxy_cache_lock on; Chỉ định liệu việc lưu trữ cache đồng thời có được khóa không
Bài viết này dùng trên môi trường cpanel nên trong khai báo các biến dùng định nghĩa riêng của cpane. Hy vọng qua bài viết bạn sẽ hiểu thêm về config cache nginx . Bạn có thể tham khảo các bài viết khác tại đây
P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng
Hosting Phổ Thông
Hosting Chất Lượng Cao
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/