NGINX: Hướng Dẫn Sử Dụng Dynamic Modules
Last updated
Last updated
Dynamic Modules cho phép bạn thêm các module vào NGINX mà không cần phải biên dịch lại toàn bộ phần mềm. Tính năng này giúp NGINX linh hoạt hơn, dễ dàng mở rộng với các chức năng bổ sung chỉ khi cần thiết.
Dynamic Modules là các module được tải vào lúc runtime thay vì tích hợp sẵn vào NGINX khi biên dịch. Điều này mang lại các lợi ích:
Dễ dàng thêm/bớt module: Chỉ cần chỉnh sửa cấu hình, không cần biên dịch lại NGINX.
Giảm tải: Tải các module cần thiết để tối ưu hóa tài nguyên.
Để kiểm tra phiên bản NGINX hiện tại có hỗ trợ dynamic modules hay không, sử dụng lệnh:
Tìm các module có dạng --with-compat
hoặc các module có hỗ trợ dynamic
. Ví dụ:
Dynamic Modules thường có phần mở rộng .so
. Bạn có thể tải module trong cấu hình NGINX bằng cách sử dụng chỉ thị load_module
.
Thêm module vào file nginx.conf
hoặc file cấu hình tùy chỉnh:
Sau khi chỉnh sửa, kiểm tra cấu hình:
Dùng Module Có Sẵn:
Các bản phân phối NGINX chính thức (hoặc NGINX Plus) thường bao gồm các module động sẵn.
Kiểm tra thư mục /etc/nginx/modules/
hoặc /usr/share/nginx/modules/
để tìm file .so
.
Biên Dịch Module Riêng: Nếu module bạn cần không có sẵn, bạn cần biên dịch nó:
File .so
sẽ được tạo trong thư mục objs/
.
Sao chép file .so
vào thư mục module NGINX:
Chỉnh sửa file cấu hình nginx.conf
:
ngx_http_geoip_module
Phân tích địa chỉ IP để xác định vị trí địa lý.
ngx_http_image_filter_module
Chuyển đổi và tối ưu hình ảnh.
ngx_http_headers_more_module
Thêm, chỉnh sửa, hoặc xóa HTTP headers.
ngx_http_lua_module
Mở rộng NGINX với Lua scripting.
ngx_http_ssl_module
Hỗ trợ HTTPS.
Lỗi Module Không Tìm Thấy: Kiểm tra đường dẫn module trong chỉ thị load_module
.
Lỗi Phiên Bản Không Tương Thích: Dynamic Modules cần được biên dịch với tùy chọn --with-compat
để đảm bảo tương thích với NGINX hiện tại.
Kiểm Tra Log Lỗi: Log lỗi của NGINX nằm ở /var/log/nginx/error.log
. Kiểm tra thông báo cụ thể để xử lý.
Dưới đây là ví dụ cấu hình hoàn chỉnh với module ngx_http_geoip_module
:
Dynamic Modules là cách hiệu quả để mở rộng NGINX mà không phải biên dịch lại toàn bộ hệ thống. Với các bước trên, bạn có thể dễ dàng tải và sử dụng các module động trong NGINX để thêm các tính năng mạnh mẽ và linh hoạt vào cấu hình hiện có.