Giới thiệu Nginx

Nginx là một máy chủ mã nguồn mở (open source server) được sử dụng rất phổ biến ngày nay để làm web server, cũng như dùng làm cân bằng tải (load balancer), và HTTP cache. Dự án Nginx tập trung vào việc phục vụ số lượng kết nối đồ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.

Nginx engine x
Tác giả Igor Sysoev
Developer Nginx, Inc.
Thời điểm bắt đầu Ngày 6 tháng 8 năm 2002
Ngôn ngữ C
Hệ điều hành hỗ trợ Unix, Windows, Mac OS
Lĩnh vực Web server, reverse/mail proxy server
Giấy phép (License) 2-clause BSD
Website nginx.org

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 có gì tốt ?

Hầu hết các Webserver hiện nay đều xử lý các truy vấn từ máy khách đến máy chủ bằng các thread (bạn cứ hiểu thread là một cỗ máy giúp nó xử lý truy vấn), và mỗi truy vấn khách sẽ được server xử lý bằng một thread riêng biệt cho đến khi nó hoàn thành nhiệm vụ. Do đó, ổ cứng trên server sẽ mất nhiều thời gian hơn để giải phóng các thread đã hoàn thành nhiệm vụ, và việc tạo ra nhiều thread cũng sẽ làm server tiêu hao rất nhiều tài nguyên (CPU, RAM).

NGINX sinh ra là để khắc phục nhược điểm đó, nó không phụ thuộc vào số lượng thread trên server mà bạn sẽ có quyền phân chia tổng số thread trên server ra số lượng worker processes tùy thích và các worker processes này sẽ lặp lại quá trình trong mỗi truy vấn gửi tới server mà không cần máy chủ tạo ra thread riêng.

Các worker cũng không thể tốn nhiều tài nguyên để xử lý và nó cũng không tự chặn lẫn nhau như Apache để giải phóng bộ nhớ vì nó sử dụng kỹ thuật Tải không đồng bộ (Asynchronous). Nghĩa là nó sẽ được xử lý luân phiên nhau theo một chu kỳ.

Xem thêm tại http://www.slashroot.in/how-is-nginx-different-from-apache

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

Nguồn tham khảo

https://www.nginx.com/resources/wiki/

http://blog-xtraffic.pep.vn/nginx-la-gi/

https://thachpham.com/linux-webserver/nginx/lemp-cho-vps-phan-1-cai-dat-nginx-va-php-fpm.html

Viettranx - System Practicer from Skylab.vn

results matching ""

    No results matching ""