Sửa lỗi nginx: [warn] could not build optimal variables_hash

Khi bạn sử dụng nginx làm máy chủ web, bạn có thể gặp lỗi sau trong nhật ký lỗi như ảnh sau. Về lỗi này cách sửa cũng rất đơn giản. Hãy cùng HOSVN tìm hiểu và sửa nhé.

CleanShot 2024 01 26 at 13.05.54

Dưới đây là một số nguyên nhân phổ biến dẫn đến lỗi này.

  1. Nguyên Nhân:
    • Lỗi xuất hiện khi kích thước của bảng băm biến vượt quá giới hạn mà Nginx đã đặt.
  2. Giải Pháp Đề Xuất:
    • Thông báo đề xuất tăng giá trị của variables_hash_max_size hoặc variables_hash_bucket_size.
  3. Biện Pháp Thực Hiện:
    • Sửa đổi tệp cấu hình Nginx bằng cách thêm hoặc sửa các chỉ thị variables_hash_max_size và variables_hash_bucket_size.
    • Giá trị được đề xuất là variables_hash_max_size 1024; và variables_hash_bucket_size 64; theo thông báo.
  4. Lưu Ý Quan Trọng:
    • Giá trị variables_hash_max_size nên là một số mũ của 2 và có thể cần được điều chỉnh tùy thuộc vào môi trường và yêu cầu cụ thể của ứng dụng.
  5. Kiểm Tra Cấu Hình và Khởi Động Lại Nginx:
    • Sau khi thay đổi cấu hình, hãy kiểm tra cú pháp để đảm bảo không có lỗi cú pháp.
    • Khởi động lại dịch vụ Nginx để áp dụng thay đổi.
  6. Kiểm Tra Kết Quả:
    • Sau khi triển khai giải pháp, kiểm tra xem cảnh báo còn xuất hiện hay không. Nếu vấn đề vẫn tiếp tục, có thể cần điều chỉnh giá trị của các tham số để phù hợp với môi trường cụ thể.

Cách khắc phục lỗi

Đầu tiên bạn hãy SSH vào máy chủ Linux. Sau đó tiến hành chỉnh sữa lại file config của nginx.

vi /etc/nginx/nginx.conf

Thêm điều chỉnh 2 thông số bên dưới để trong block http

http {
  # More config...
   variables_hash_max_size 2048;
   variables_hash_bucket_size 1024;
  # More config...
}

CleanShot 2024 01 26 at 13.08.15

Sau khi thêm xong bạn lưu lại và thực hiện kiểm tra cấu hình nginx với lệnh nginx -t. Nếu kết quả trả về là successful thì bạn thực hiện khởi động lại NGINX bằng lệnh sau.

systemctl restart nginx

 CleanShot 2024 01 26 at 13.06.12

Và kết quả NGINX đã hoạt động và không còn cảnh báo lỗi nữa. Như vậy đã hoàn tất bước sửa lỗi này.



Article ID: 1126
Cập nhật gần nhất: 26 Th11, 2024
Lần sửa đổi: 3
VPS (Máy chủ ảo) -> Sửa lỗi nginx: [warn] could not build optimal variables_hash
https://kb.hostvn.net/sa-li-nginx-warn-could-not-build-optimal-variableshash_1126.html