Cấu hình trang trạng thái Nginx – Nginx status page
Nginx status page có thể cung cấp dữ liệu thời gian thực về sức khỏe của Nginx. Nó có thể giúp bạn tinh chỉnh vài cấu hình Nginx. Dữ liệu trạng thái có thể được sử dụng trong cân bằng tải. Cùng Bizfly Cloud tìm hiểu những thông tin về Nginx ngay tại bài viết này nhé.
Điều kiện áp dụng
Nginx phải được compile với module HttpStubStatusModule. Bạn có thể kiểm tra điều đó bằng cách chạy lệnh sau:
nginx -V 2>&1 | grep -o with-http_stub_status_module
Nếu bạn thấy kết quả đầu ra sau, bạn sẽ tiếp tục các thao tác tiếp theo.
with-http_stub_status_module
Nginx Config
Bạn thêm phần sau vào một nginx site, ví dụ example.com, bên trong server {..} block.
location /nginx_status {
stub_status on;
access_log off;
allow 1.1.1.1;
deny all;
}
Hãy chắc chắn bạn thay thế 1.1.1.1 bằng địa chỉ IP của máy. Trang này sẽ chỉ có bạn có quyền truy cập.
Output:
Khi bạn mã hóa và tải lại cấu hình nginx, chỉ cần truy cập: http://example.com/nginx_status
Bạn sẽ thấy kết quả như dưới đây:
Active connections: 43
server accepts handled requests
7368 7368 10993
Reading: 0 Writing: 5 Waiting: 38
Diễn dịch
- Active connections: Số lượng tất cả các kết nối mở. Điều này không có nghĩa là số lượng người dùng. Một người dùng duy nhất, cho một lần xem trang duy nhất có thể mở nhiều kết nối đồng thời với máy chủ của bạn.
- Server accepts handled requests:
Cụm này chứa 3 giá trị:
Đầu tiên là tổng số kết nối được chấp nhận.
Thứ hai là tổng số kết nối được xử lý. Thông thường 2 giá trị đầu tiên giống nhau.
Giá trị thứ ba là số lượng và xử lý các yêu cầu. Giá trị này thường lớn hơn giá trị thứ hai.
Chia giá trị thứ ba bằng giá trị thứ hai sẽ cung cấp cho bạn số lượng yêu cầu cho mỗi kết nối do Nginx xử lý. Trong ví dụ trên, 10993/7368, 1,49 yêu cầu cho mỗi kết nối.
- Reading:
nginx đọc request header.
- Writing:
nginx đọc nội dung yêu cầu, yêu cầu quy trình hoặc viết phản hồi cho khách hàng.
- Waiting:
các kết nối còn hoạt động, thực sự nó đang active – (reading writing). Giá trị này phụ thuộc vào keepalive-timeout. Đừng nhầm lẫn giữa non-zero waiting value cho hiệu suất kém. Nó có thể bị bỏ qua. Mặc dù, bạn có thể buộc zero waiting bằng cách đặt keepalive_timeout 0;
Dịch từ: easyengine.io/tutorials/nginx/status-page/
>> Có thể bạn quan tâm: Sử dụng chương trình lệnh "at", "atq", "atrm", "batch" trên Linux