NGINX là gì? Lợi ích khi sử dụng NGINX?

NGINX là gì? Hoạt động như thế nào? Có lợi ích gì? Cùng chúng tôi tìm hiểu về phần mềm web server mã nguồn mở này nhé!

NGINX là gì?

NGINX được công bố lần đầu vào tháng 10 năm 2004 bởi nhà sáng lập Igor Sysoev. NGINX được đọc là “engine-ex,” đây là một phần mềm web server mã nguồn mở nổi tiếng. Mới công bố nó dùng để phục vụ website HTTP, nhưng đến nay nó cũng được dùng làm reverse proxy, HTTP load balancer và email proxy như IMAP, POP3, và SMTP.

NGINX là gì? Lợi ích khi sử dụng NGINX? (1)

NGINX sử dụng kiến trúc đơn luồng, hướng sự kiện (event-driven) và không đồng bộ (asynchronous). Tính năng này khiến NGINX server trở nên đáng tin cậy, tốc độ và khả năng mở rộng lớn nhất.

NGINX server hoạt động như thế nào?

Để nằm rõ hơn thông tin tổng quan NGINX là gì, hãy cùng tìm hiểu xem NGINX server hoạt động như thế nào nhé!

Khi ai đó gửi yêu cầu cần mở website, trình duyệt sẽ liên hệ với server của trang web đó.

Tiếp theo, server sẽ tìm kiếm các tệp được yêu cầu cho trang và gửi nó đến trình duyệt. Đây chính là loại yêu cầu truy vấn đơn giản nhất.

Nginx sẽ không hoạt động theo hướng truyền thống là tạo một nguồn duy nhất cho mọi yêu cầu mà Nginx thực hiện với kiến trúc hướng sự kiện không đồng bộ.

Điều này có nghĩa là các luồng được tạo tương tự sẽ quản lý theo một worker process và chứa các đơn vị nhỏ hơn gọi là worker connection.

Toàn bộ các đơn vị này sau đó chịu trách nhiệm xử lý các luồng yêu cầu. Worker connection cung cấp các yêu cầu cho worker process, cũng sẽ gửi nó đến master process. Cuối cùng, master process cung cấp kết quả của những yêu cầu đó.

Điều này có thể hoàn toàn dễ hiểu vì worker connection có thể xử lý đến 1024 yêu cầu tương tự nhau. Do đó, NGINX có thể xử lý hàng vạn yêu cầu nhưng không gặp rắc rối gì.

NGINX là gì? Lợi ích khi sử dụng NGINX? (2)

Lợi ích khi sử dụng NGINX là gì?

Chắn hẳn với 2 phần trên các bạn đã nắm rõ định nghĩa NGINX là gì? phần tiếp theo mà Nhân Hòa muốn giới thiệu đến các bạn là các lợi ích trong quá trình bạn sử dụng NGINX.

File cấu hình mặc định của Nginx là: nginx.conf

Để phục vụ nội dung HTTP hoạt động trên mạng, Nginx có thể được bắt đầu bằng cách sử dụng FastCGI, SCGI cho tập lệnh, server ứng dụng WSGI hoặc mô-đun Phusion Passenger và nó có thể đóng vai trò là bộ cân bằng tải phần mềm.

Vì NGINX được thực hiện theo kiến trúc hướng sự kiện cho nên mô-đun có thể cung cấp hiệu suất dễ dự đoán hơn dưới tải trọng cao.

Các tính năng máy chủ web và HTTP proxy:

  • Có thể xử lý hơn 10000 yêu cầu kết nối đồng bộ với dung lượng bộ nhớ thấp (~2.5MB mỗi 10k kết nối HTTP không hoạt động).
  • Xử lý tệp tin tĩnh static file, index file và tự động lập chỉ mục.
  • Hỗ trợ giao thức HTTP/2 và nâng cấp HTTP/1.1/.
  • Đặt lại và chuyển hướng URL.
  • Hỗ trợ gPRC từ tháng 3 năm 2018 với phiên bản 1.13.10.
  • Thiết lập máy chủ ảo dựa trên địa chỉ IP và tên.
  • Phù hợp với IPv6/
  • WebSockets kể từ phiên bản1.3.13, bao gồm hoạt động như một proxy ngược và thực hiện cân bằng tải cho các ứng dụng WebSocket.
  • Thông qua OpenSSL, hỗ trợ mã hóa TLS/SSL với SNI và OCSP,
  • Hỗ trợ tăng tốc FastCGI, SCGI, uWSGI, và các máy chủ memcached với bộ nhớ đệm.
  • Tăng tốc reverse proxy bằng bộ nhớ đệm (cache), cân bằng tải ( load balancing) đơn giản và khả năng chịu lỗi.
  • Cấu hình hoạt động linh hoạt; lưu lại nhật ký truy vấn.
  • Giới hạn số kết nối đồng thời hoặc truy vấn từ 1 địa chỉ.

Các tính năng máy chủ Mail proxy của Nginx

Yêu cầu xác thực bằng các tập lệnh xác thực hoặc bằng máy chủ HTTP bên ngoài.

  • Hỗ trợ TLS/SSL
  • Hỗ trợ STARTTLS
  • Hỗ trợ SMTP, POP3, và IMAP proxy.

Leave a Reply

Your email address will not be published. Required fields are marked *