Mắt Bão

MỚI

Tìm kiếm Blog này

Được tạo bởi Blogger.

Nhãn

Navigation

NGINX là gì? Tổng hợp thông tin cần biết về NGINX Server

NGINX là gì?

NGINX là máy chủ proxy ngược mã nguồn mở sử dụng phổ biến giao thức HTTP, HTTPS, SMTP, POP3 và IMAP. NGINX cũng được dùng làm cân bằng tải (load balancer), HTTP cachemáy chủ web (web server). Phương thức hoạt động của NGINX là gì?

NGINX là gì? NGINX được ứng dụng như thế nào?
NGINX là gì? NGINX được ứng dụng như thế nào?

Nginx tập trung phục vụ số lượng kết nối lớn, hiệu suất cao, sử dụng bộ nhớ thấp. NGINX được biết đến bởi sự ổn định cao, nhiều tính năng, cấu hình đơn giản và tiết kiệm tài nguyên.

Lịch sử hình thành và phát triển của NGINX là gì?

NGINX là gì? Bạn có thể dễ dàng nhận biết website có NGINX hay không nhờ vào trình kiểm tra website.
Bạn có thể dễ dàng nhận biết website có NGINX hay không nhờ vào trình kiểm tra website.

  • NGINX ban đầu được phát triển bởi Igor Sysoev vào năm 2002.
  • NGINX được công bố lần đầu vào năm 2004.
  • Vào tháng 7/2011, công ty NGINX Inc được thành lập và có trụ sở tại San Francisco, California, USA.
  • Công ty cung cấp sự hỗ trợ thương mại (có tính phí) vào tháng 2 năm 2012. Tháng 10/2013, NGINX nhận được 10 triệu USD đầu tư từ New Enterprise Associates.
  • NGINX không dựa vào luồng (threads) để xử lý các truy vấn (request). NGINX sử dụng kiến trúc hướng sự kiện (event-driven) không đồng bộ (asynchronous). NGINX có khả năng mở rộng.
  • Ngay cả khi bạn không cần phải xử lý hàng ngàn truy vấn đồng thời, thì bạn vẫn nên sử dụng NGINX do hiệu suất cao và yêu cầu bộ nhớ thấp của NGINX so với Apache.
  • NGINX có thể được sử dụng trên VPS cấu hình thấp nhất cho đến một hệ thống rộng lớn như Cloud Server với nhiều clusters.
  • Hiện nay (tháng 6/2014), NGINX chiếm 14.6% thị phần (tương đương 142 triệu trang web) chương trình máy chủ web trên toàn thế giới (theo số liệu của netcraft) và vẫn đang có mức tăng trưởng cao.
  • NGINX hiện đang được sử dụng bởi các dịch vụ web có lượng truy vấn cực cao như là Netflix, Hulu, Pinterest, CloudFlare, Airbnb, WordPress.com, GitHub, SoundCloud, Zynga, Eventbrite, Zappos, Media Temple, Heroku, RightScale, Engine Yard, MaxCDN, Yandex, Mail.Ru, VKontakte, Rambler …

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

NGINX là gì? NGINX mang lại lợi ích thực tế cực kì lớn.
NGINX mang lại lợi ích thực tế cực kì lớn.

Sau khi biết về NGINX là gì, chúng ta cần biết cách web server hoạt động thế nào.
  • Khi ai đó gửi một yêu cầu để mở một trang web. Trình duyệt sẽ liên lạc với server chứa website đó.
  • Sau đó, server sẽ tìm kiếm đúng file yêu cầu của trang đó và gửi ngược về cho server. Đây là một loại truy vấn đơn giản nhất.
Ví dụ trên được xem như là một single thread – một bộ các bước xử lý dữ liệu được thực thi theo 1 trình tự duy nhất.
  • Web server truyền thống tạo một thread cho mỗi yêu cầu (request).
  • NGINX thì hoạt động theo một cách khác. Nó hoạt động theo kiến trúc bất đồng bộ (asynchronous), hướng sự kiện (event driven). Kiến trúc này có thể hiểu là những threads tương đồng nhau sẽ được quản lý trong một tiến trình (process). Mỗi tiến trình hoạt động chưa các thực thể nhỏ hơn gọi là worker connections. Cả bộ đơn vị này chịu trách nhiệm xử lý các threads.
  • Worker connections sẽ gửi các truy vấn cho một worker process. Worker Process sẽ gửi nó tới Master Process. Cuối cùng sẽ trả kết quả cho những yêu cầu đó.
Một worker connection có thể xử lý đến 1024 yêu cầu tương tự nhau. Vì vậy, NGINX có thể xử lý hàng ngàn yêu cầu mà không gặp rắc rối gì. Đây cũng là lý do vì sao NGINX tỏ ra hiệu quả hơn khi hoạt động trên môi trường thương mại điện tử, trình tìm kiếm, và cloud storage.

Tính năng của máy chủ HTTP NGINX là gì?

Nginx là gì? NGINX giúp việc tích hợp HTTPS bảo mật thông tin website dễ dàng hơn
NGINX giúp việc tích hợp HTTPS bảo mật thông tin website dễ dàng hơn

  • Có khả năng xử lý hơn 10.000 kết nối cùng lúc với bộ nhớ thấp
  • Phục vụ tập tin tĩnh (static files) và lập chỉ mục tập tin
  • Tăng tốc proxy ngược bằng bộ nhớ đệm (cache); cân bằng tải đơn giản và khả năng chịu lỗi
  • Hỗ trợ tăng tốc với bộ nhớ đệm của FastCGI, uwsgi, SCGI, và các máy chủ memcached
  • Kiến trúc modular; tăng tốc độ nạp trang bằng nén gzip tự động
  • Hỗ trợ mã hoá SSL và TLS
  • Cấu hình linh hoạt; lưu lại nhật ký truy vấn
  • Chuyển hướng lỗi 3XX-5XX
  • Rewrite URL (URL rewriting) dùng regular expressions
  • Hạn chế tỷ lệ đáp ứng truy vấn
  • Giới hạn số kết nối đồng thời hoặc truy vấn từ 1 địa chỉ
  • Khả năng nhúng mã PERL
  • Hỗ trợ và tương thích với IPv6
  • Hỗ trợ WebSockets
  • Hỗ trợ truyền tải file FLV và MP4

Tính năng máy chủ Mail Proxy của NGINX là gì?

  • Các phương pháp xác thực :
    • POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
    • IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
    • SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
  • Hỗ trợ SSL, STARTTLS và STLS

NGINX Server vs Apache Server

NGINX và APACHE luôn là 2 đối thủ nặng ký của nhau.
NGINX và APACHE luôn là 2 đối thủ nặng ký của nhau.

Apache Server là gì?

Apache gọi tắt của Apache HTTP Server là một chương trình máy chủ giao tiếp bằng giao thức HTTP và hoạt động trên hầu hết các hệ điều hành. Ví dụ như UnixWindowsLinuxNovell Netware và nhiều hệ điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới www.
Mục đích của Apache là giúp chủ trang website đưa nội dung lên web. Do đó Apache được xếp vào dạng phần mềm “web server”. Đây là một trong số những web server lâu đời và đáng tin cậy nhất với phiên bản đầu tiên đã được ra mắt từ hơn 20 năm trước.

Điểm khác biệt giữa Apache và NGINX là gì?

Bên cạnh các web server phổ biến, Apache là một trong những đối thủ chính của NGINX. Nó đã tồn tại lâu từ thập niên 90 và có cộng đồng người dùng rất lớn. Nếu bạn cần biết loại web server nào phù hợp nhất với nhu cầu của bạn, hãy xem qua bảng so sánh cơ bản giữa NGINX server và Apache server sau.
  • Hệ điều hành hỗ trợ
    Tương thích là một trong số ít các vấn đề bạn nên xem trong khi chọn phần mềm. Cả NGINX và Apache đều có thể chạy trên nhiều hệ điều hành khác nhau của hệ thống Unix. Nhưng không may là, hiệu năng của NGINX trên Windows lại tỏ ra kém hiệu quả hơn khi hoạt động trên các platform khác.
  • Hỗ trợ người dùng
    Người dùng, từ người mới bắt đầu đến chuyên gia, đều cần một nơi tốt, một cộng đồng ổn để cùng nhau hợp tác xử lý vấn đề phát sinh. Mặc dù cả NGINX và Apache đều có hệ thống mailing hỗ trợ và diễn đàn Stack Overflow, nhưng Apache lại thiếu hỗ trợ từ chính công ty của nó, Apache Foundation.
  • Hiệu năng
    NGINX xử lý cùng lúc 1000 kết nối tới nội dung tĩnh nhanh hơn 2 lần so với Apache và dùng ít bộ nhớ hơn. Khi so về hiệu năng trên nội dung động, cả 2 nền tảng cho tốc độ giống nhau. NGINX là lựa chọn tốt hơn cho những ai có website tĩnh nhiều hơn.
Hy vọng sau khi độc giả xem xong bài viết này đã có cái nhìn chi tiết hơn về NGINX là gì? Cũng như lợi ích trong việc tích hợp NGINX vào website của mình. Chúc bạn gặp nhiều may mắn!
Share
Banner

dinhdat

Bình luận:

0 comments: