Cấu Hình Máy Chủ Web Nginx
ServBay cung cấp một cách quản lý và cấu hình gói phần mềm máy chủ web Nginx rất tiện lợi. Thông qua giao diện người dùng đồ họa trực quan của ServBay, bạn có thể dễ dàng điều chỉnh các thiết lập cốt lõi của Nginx, phù hợp với nhu cầu của từng dự án phát triển local.
Truy Cập Cấu Hình Nginx
- Mở ứng dụng ServBay.
- Ở thanh điều hướng bên trái, nhấp vào
Máy chủ Web
. - Chọn thẻ
Nginx
.
Bạn sẽ thấy giao diện cấu hình của Nginx, như hình dưới:
Giải Thích Các Tùy Chọn Chính
Dưới đây là chi tiết về các tham số trong giao diện cấu hình Nginx:
Thiết Lập Mạng Cơ Bản
- HTTP Port: Cổng giao thức HTTP mà Nginx lắng nghe, mặc định là
80
. - HTTPS Port: Cổng giao thức HTTPS mà Nginx lắng nghe, mặc định là
443
. - Worker Connections: Số lượng kết nối tối đa mà mỗi tiến trình làm việc (worker process) của Nginx cho phép đồng thời. Giá trị này ảnh hưởng đến khả năng xử lý đồng thời của Nginx.
10240
là mức khá cao, phù hợp với các tình huống truy cập lớn.
Hiệu Suất & Giới Hạn
- Client Max Body Size: Kích thước tối đa phần thân (body) yêu cầu mà client được phép gửi lên. Ví dụ, dùng để giới hạn dung lượng tệp tải lên.
2048m
nghĩa là cho phép tối đa 2GB cho mỗi lần gửi dữ liệu. - KeepAlive Timeout: Thời gian (giây) giữ kết nối Keep-Alive giữa client và server còn hoạt động.
65
giây nghĩa là nếu trong khoảng thời gian này client không gửi yêu cầu mới, server sẽ đóng kết nối. - TCP Nodelay: Cho phép bật/tắt tùy chọn
TCP_NODELAY
. Khi bật (On), sẽ giảm độ trễ của các gói dữ liệu nhỏ, thường khuyến nghị bật trong các ứng dụng có độ trễ mạng cao hoặc cần giao tiếp thời gian thực.
Phiên Bản Giao Thức HTTP
- HTTP/2: Bật hoặc tắt hỗ trợ giao thức HTTP/2. HTTP/2 cải thiện hiệu suất bằng multiplexing, nén header, v.v. Khuyến khích bật.
- HTTP/3: Bật hoặc tắt hỗ trợ giao thức HTTP/3 (QUIC). HTTP/3 là giao thức thế hệ mới dựa trên UDP, cải thiện hiệu năng và độ tin cậy. Nếu phiên bản ServBay của bạn hỗ trợ, có thể bật theo nhu cầu.
Thiết Lập FastCGI (cho xử lý backend như PHP)
- FastCGI Connect Timeout: Thời gian tối đa (giây) Nginx chờ để kết nối đến máy chủ FastCGI (như PHP-FPM).
- FastCGI Send Timeout: Thời gian tối đa (giây) Nginx chờ để gửi yêu cầu tới FastCGI.
- FastCGI Read Timeout: Thời gian tối đa (giây) Nginx chờ để nhận phản hồi từ FastCGI.
Những thông số timeout này rất quan trọng khi xử lý các script PHP thời gian dài, cần điều chỉnh phù hợp với dự án để tránh bị ngắt kết nối quá sớm.
Nén Gzip
- Gzip: Bật/tắt nén Gzip. Khi bật, Nginx sẽ nén dữ liệu trước khi gửi về client, giảm dữ liệu truyền tải và tăng tốc độ tải trang. Rất nên bật.
- Gzip Comp Level: Độ nén của Gzip, từ
1
(nhanh nhất, tỷ lệ nén thấp) đến9
(chậm nhất, tỷ lệ nén cao). Thường chọn1
hoặc2
để tối ưu giữa tốc độ và mức nén. - Gzip Types: Xác định các kiểu nội dung (MIME types) áp dụng nén Gzip. Mặc định bao gồm các dạng text, CSS, JavaScript, XML và RSS phổ biến. Bạn có thể thêm hoặc bớt theo nhu cầu.
Thiết Lập SSL/TLS (cho HTTPS)
- SSL Protocols: Định nghĩa các phiên bản giao thức SSL/TLS được phép dùng.
TLSv1.2 TLSv1.3
là cấu hình bảo mật hiện đại, đã vô hiệu hóa các giao thức cũ, kém an toàn (như SSLv3, TLSv1.0, TLSv1.1). - SSL Prefer Server Ciphers: Khi bật (On), server sẽ ưu tiên lựa chọn bộ thuật toán mã hóa (cipher suites) do server cung cấp thay vì danh sách từ client. Nên bật để đảm bảo dùng các thuật toán bảo mật mạnh nhất.
- SSL Ciphers: Định nghĩa danh sách các cipher suite được phép sử dụng. Sử dụng tập hợp thuật toán hiện đại, mạnh mẽ là yếu tố then chốt bảo vệ an toàn cho HTTPS. ServBay tích hợp sẵn cấu hình tối ưu.
Tùy Chọn Khác
- Server Tokens: Quyết định Nginx có hiển thị thông tin phiên bản trên trang lỗi hoặc trong header
Server
của phản hồi hay không. NếuOn
sẽ hiển thị đầy đủ phiên bản, nếuOff
chỉ hiệnnginx
giúp tăng bảo mật. - Index: Định nghĩa danh sách tên file mặc định mà Nginx tìm kiếm khi truy cập một thư mục. Ví dụ
index.html index.htm index.php
, Nginx sẽ ưu tiên tìmindex.html
, nếu không có sẽ tìm file tiếp theo.
Lưu Và Đặt Lại
- Reset: Nhấn nút này để khôi phục toàn bộ cấu hình Nginx về mặc định của ServBay.
- Save: Nhấn nút này để lưu lại tất cả thay đổi trên cấu hình Nginx. Sau khi lưu, ServBay thường tự áp dụng các thay đổi. Nếu Nginx đang chạy, có thể phải khởi động lại nhanh để cập nhật.
Lưu Ý Quan Trọng
- Việc chỉnh sửa tại đây sẽ thay đổi cấu hình toàn cục của Nginx (các nội dung liên quan trong khối
http
củanginx.conf
). Cấu hình riêng cho từng website (Server Block/Virtual Host) nhưserver_name
,root
,location
... sẽ được thiết lập khi thêm/sửa cácWebsite
. - Nếu thấy thông báo "Service Nginx is not enabled" ở cuối giao diện, nghĩa là dịch vụ Nginx chưa chạy. Bạn vẫn có thể chỉnh sửa và lưu cấu hình, nhưng các thay đổi chỉ có hiệu lực khi Nginx được khởi động lại lần tới. Có thể khởi động Nginx từ màn hình chính của ServBay hoặc menu
Packages
(Gói phần mềm).
Tóm Tắt
ServBay giúp đơn giản hóa việc cấu hình máy chủ web Nginx, cho phép lập trình viên dễ dàng điều chỉnh các thông số quan trọng qua giao diện đồ họa. Việc hiểu và thiết lập đúng các tùy chọn này sẽ giúp bạn tối ưu hóa hiệu suất, bảo mật và khả năng vận hành của Nginx cho quy trình phát triển web local của mình.