Nginx là gì?

Nginx là một máy chủ proxy ngược mã nguồn mở (open source reverse proxy server) sử dụng phổ biến giao thức HTTP, HTTPS, SMTP, POP3 và IMAP , cũng như dùng làm cân bằng tải (load balancer), HTTP cache và máy chủ web (web server). Dự án Nginx tập trung vào việc phục vụ số lượng đồng thời lớn (high concurrency), hiệu suất cao và 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.

Thông tin tóm tắt về Nginx

LogoNginx là gì? - nginx - Hosting
Tác giảIgor Sysoev
DeveloperNginx, Inc.
Thời điểm bắt đầungày 6 tháng 8 năm 2002
Tình trạng phát triểnĐang hoạt động
Được viết bằngNgôn ngữ lập trình C
Hệ điều hành hỗ trợĐa nền tảng (Unix, Windows, Mac OS)
Lĩnh vựcWeb server, reverse/mail proxy server
Giấy phép (License)2-clause BSD
Websitenginx.org

Nginx ban đầu được phát triển bởi Igor Sysoev vào năm 2002 và công bố lần đầu vào năm 2004. Vào tháng 7 năm 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ự thương mại (có tính phí) vào tháng 2 năm 2012. Vào tháng 10 năm 2013, Nginx nhận được 10 triệu USD đầu tư từ New Enterprise Associates.

Không giống như các chương trình máy chủ khác, Nginx không dựa vào luồng (threads) để xử lý các truy vấn (request). Thay vào đó, Nginx sử dụng kiến trúc hướng sự kiện (event-driven) không đồng bộ (asynchronous) và 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 (như gói vps thấp nhất của digitalocean và vultr) 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 …

Những tính năng của máy chủ HTTP Nginx

  • 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à 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

Những tính năng máy chủ mail proxy của Nginx

  • 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