595 - GIỚI THIỆU
Nginx là một chương trình server HTTP, một reverse proxy cũng như IMAP/POP3 proxy server miễn phí, mã nguồn mở, có hiệu năng cao. Nginx (phát âm "engine x") được tác giả Igor Sysoev viết cho rambler.ru, trang web được truy cập nhiều thứ 2 trên nước Nga, đã chạy ổn định trong vòng hơn hai năm rưỡi. Igor cung cấp mã nguồn dưới giấy phép kiểu BSD. Hiện Nginx được sử dụng từ 1% đến 4% số lượng tên miền toàn thế giới (Nguồn 1, 2). 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 chính thức ra đời vào tháng 10/2014. Đây là phần mềm giúp server có tốc độ và khả năng mở rộng lớn nhất, đồng thời, xử lý và thao tác trên hàng nghìn kết nối cùng lúc. Do đó, rất nhiều “ông lớn” công nghệ hiện nay đều lựa chọn NGINX như Google, Adobe, Netflix, WordPress…
NGINX là một phần mềm web server mã nguồn mở đáng tin cậy
Về cơ bản, NGINX cũng hoạt động tương tự như các web server khác. Khi bạn mở một trang web, trình duyệt của bạn sẽ liên hệ với server chứa website đó. Server sẽ tìm kiếm đúng file yêu cầu của website và gửi về cho bạn. Đây là một trình tự xử lý dữ liệu single – thread, nghĩa là các bước được thực hiện theo một trình tự duy nhất. Mỗi yêu cầu sẽ được tạo một thread riêng.
NGINX cũng hoạt động tương tự như các server khác
Tuy nhiên, NGINX hoạt động theo kiến trúc bất đồng bộ (asynchronous) hướng sự kiện (event driven). Nó cho phép các threads tương đồng được quản lý trong một tiến process. Mỗi process hoạt động sẽ bao gồm các thực thể nhỏ hơn, gọi là worker connections dùng để xử lý tất cả threads.
Worker connections sẽ gửi các yêu cầu cho worker process, worker process sẽ gửi nó tới master process, và master process sẽ trả lời các yêu cầu đó. Đó là lý do vì sao một worker connection có thể xử lý đến 1024 yêu cầu tương tự nhau. Nhờ vậy, NGINX có thể xử lý hàng ngàn yêu cầu khác nhau cùng một lúc.
Các tính năng của NGINX :
Máy chủ NGINX có nhiều tính năng và ưu điểm vượt trội trong lập trình
- Có thể 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.
NGINX là máy chủ mới mã nguồn mở mang lại cho website nhiều lợi ích hơn so với các máy chủ khác.