Cách cấu hình Nginx để tối ưu hóa hiệu suất

Bài này thuộc phần 3 của 7 trong series LEMP cho CentOS 7

Nginx là một web server nhẹ và có hiệu suất tốt hơn Apache 2. 

Tuy nhiên cũng như các phần mềm khác bạn vẫn phải có một vài tùy chỉnh nếu muốn có được hiệu suất tối ưu.

Bài viết hôm nay chúng ta cùng học cách cấu hình Nginx để đạt hiệu suất tối ưu.

Cụ thể chúng ta sẽ sửa lại file cấu hình /etc/nginx/nginx.conf. ​

Trước khi thay đổi bạn hãy sao lưu lại file cho an toàn: ​

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

​Hãy nhớ chạy lệnh sau mỗi khi thay đổi cấu hình Nginx

systemctl restart nginx

chú thích: bài viết tham khảo các bài nàybài này

Worker_processes và worker_connection

Worker_processes là tổng số processes tối đa mà Nginx sử dụng. Thông thường là 1 worker processes trên một lõi CPU. Bạn có thể sử dụng lệnh sau để kiểm tra số lõi: 

grep processor /proc/cpuinfo | wc -l

Lấy con số này sử dụng cho worker processes. 

Worker connections ​cho biết có bao nhiêu người Nginx có thể phục đồng thời. Bạn có thể check giới hạn bộ xử lý bằng câu lệnh sau: 

ulimit -n

Sử dụng con số này cho worker_connections. 

Buffer size

Chèn đoạn này trong cặp http​

client_body_buffer_size 128k; client_max_body_size 10m; client_header_buffer_size 1k; large_client_header_buffers 4 4k; output_buffers 1 32k; postpone_output 1460;

Bật Gzip

Chèn đoạn này trong cặp http​

gzip on; gzip_vary on; gzip_disable "MSIE [1-6]\."; gzip_static on; gzip_min_length 1400; gzip_buffers 32 8k; gzip_http_version 1.0; gzip_comp_level 5; gzip_proxied any; gzip_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;

Chỉ vài bước cầu hình cơ bản như trên sẽ giúp cho Nginx hoạt động với hiệu suất tốt. 

Xem bài trong seriesPhần trước: LEMP cho Centos 7: Thêm website cho NGINXPhần kế tiếp: Hướng dẫn cài đặt WordPress trên CentOS 7