nginx là gì

NGINX Là Gì? NGINX Server Có Gì Khác So Với Apache Server

NGINX là gì? Nếu bạn cần một giải pháp có thể xử lý một số lượng lớn các kết nối đồng thời, NGINX là lựa chọn tốt nhất. NGINX là một Web Server mã nguồn mở được sử dụng phổ biến trong lĩnh vực công nghệ thông tin hiện nay. Để biết thêm về máy chủ Web NGINX, hãy cùng Máy Chủ Sài Gòn đọc bài viết sau nhé.

NGINX là gì?

định nghĩa nginx là gì

NGINX là một máy chủ web mã nguồn mở cực kỳ mạnh mẽ. Nginx hiệu quả hơn máy chủ Apache vì nó sử dụng kiến trúc đơn luồng, hướng sự kiện. Nó cũng có thể thực hiện các chức năng quan trọng như cân bằng tải, bộ nhớ đệm HTTP và hoạt động như một proxy ngược. Nginx là kiến thức cần thiết cho bất kỳ nhà phát triển web, quản trị viên hệ thống hoặc nhà phát triển chuyên nghiệp nào.

>> Xem thêm: OpenSource hay Mã nguồn mở là gì?

Quá trình hình thành và phát triển của NGINX

NGINX được tạo ra vào năm 2002 bởi Igor Sysoev. NGINX ban đầu được tạo ra để giải quyết vấn đề C10k cũng như đáp ứng nhu cầu của nhiều trang web, bao gồm cả công cụ tìm kiếm và cổng thông tin Rambler. Tìm hiểu về quá trình phát triển của NGINX là gì, ta biết NGINX được công bố rộng rãi vào năm 2004. Sysoev và Maxim Konovalov thành lập NGINX Inc. vào tháng 7 năm 2011 để cung cấp các sản phẩm thương mại và hỗ trợ phần mềm. 

Nginx bắt đầu cung cấp hỗ trợ thương mại vào tháng 2/2012 và trả tiền đăng ký NGINX Plus vào tháng 8/2013. NGINX Controller, một công cụ quản lý API dựa trên API Gateway của họ, NGINX Plus, đã được công bố vào tháng 9/2017. NGINX Inc. đã thông báo về tính khả dụng chung của Nginx Amplify SaaS vào tháng 10/2017, cung cấp khả năng giám sát và phân tích cho NGINX.

>> Xem thêm: API là gì?

Cách thức hoạt động của NGINX là gì?

NGINX hoạt động tương tự như các máy chủ web khác. Khi bạn mở một trang web, trình duyệt của bạn sẽ giao tiếp với máy chủ lưu trữ trang web. Máy chủ sẽ định vị và gửi cho bạn đúng tệp mà trang web yêu cầu. Đây là một trình tự xử lý dữ liệu đơn luồng, có nghĩa là các bước được thực hiện tuần tự. Mỗi yêu cầu sẽ được đưa ra chủ đề riêng của nó.

Mặt khác, NGINX sử dụng kiến trúc không đồng bộ (asynchronous) hướng sự kiện (event driven). Nó cho phép quản lý các luồng tương tự trong một quy trình. Mỗi tiến trình hoạt động sẽ được tạo thành từ các thực thể nhỏ hơn được gọi là Worker Connections, sẽ xử lý tất cả các luồng.

Worker Connections sẽ gửi các yêu cầu đến Worker Process và Worker Process sẽ gửi chúng đến Master Process sau đó Master Process sẽ phản hồi lại các yêu cầu đó. Do đó, một Worker Connections duy nhất có thể xử lý tới 1024 yêu cầu đồng thời. Kết quả là, NGINX có thể xử lý hàng nghìn yêu cầu đồng thời.

Tính năng của NGINX là gì?

tính năng của nginx

Tính năng của máy chủ HTTP NGINX

  • Dù bộ nhớ thấp, nó vẫn có khả năng xử lý hơn 10.000 kết nối đồng thời.
  • Lập chỉ mục tệp và phục vụ tập tin tĩnh.
  • Cải thiện hiệu suất reverse proxy với bộ nhớ đệm, 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 FastCGI, SCGI, uwsgi và máy chủ memcached.
  • Nén gzip tự động tăng tốc độ tải trang trong kiến trúc modular.
  • Mã hóa SSL và TLS được hỗ trợ.
  • Có thể cấu hình linh hoạt và lưu nhật ký truy vấn.
  • Chuyển hướng lỗi 3XX-5XX.
  • Dùng regular expressions để Rewrite URL (URL rewriting).
  • Giới hạn tỷ lệ phản hồi truy vấn.
  • Giới hạn số lượng kết nối hoặc truy vấn đồng thời từ một địa chỉ.
  • Khả năng nhúng mã PERL.
  • Hỗ trợ và tương thích IPv6
  • Hỗ trợ WebSockets
  • Chuyển các tệp FLV và MP4 được hỗ trợ.

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

Phương pháp xác minh:

  • POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
  • IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
  • SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
  • Hỗ trợ STARTTLS, SSL và STLS.

NGINX Server có gì khác so với Apache Server?

nginx server có gì khác so với apache server

Trong số các máy chủ web phổ biến nhất hiện nay, Apache là một máy chủ mã nguồn mở và miễn phí đang cạnh tranh với NGINX. Apache đã xuất hiện từ những năm 1990 và có một lượng lớn người dùng. Vậy sự khác biệt giữa Apache và NGINX là gì?

  • NGINX là một máy chủ web không đồng bộ hiệu suất cao, trong khi Apache là một chương trình máy chủ HTTP mã nguồn mở cho các máy chủ hội thoại qua HTTP.
  • Một cộng đồng lớn người dùng toàn cầu quản lý và duy trì hỗ trợ, gỡ lỗi và phát triển Apache còn việc hỗ trợ và bảo trì NGINX được xử lý bởi một công ty chủ quản riêng biệt.
  • Nhiều kết nối có thể được xử lý bởi NGINX, trong khi một luồng Apache chỉ có thể được liên kết với một kết nối.
  • NGINX có một hạn chế so với Apache là không hỗ trợ .htaccess
  • Ngay cả NGINX và Apache cũng có thể chạy trên nhiều hệ điều hành tương thích với hệ điều hành Unix. Tuy nhiên, hiệu suất của NGINX trên Windows vẫn kém hơn so với các nền tảng khác.
  • Biết NGINX là gì ta cũng biết được NGINX có thể xử lý tới 1.000 kết nối nội dung tĩnh cùng lúc, làm cho nó nhanh gấp đôi Apache và hiệu quả hơn một chút về bộ nhớ. Khi so sánh hiệu suất của chúng khi chạy nội dung động, cả hai đều tạo ra cùng một tốc độ. Tuy nhiên, NGINX là lựa chọn tốt hơn cho những ai có trang web tĩnh.

Cách kiểm tra NGINX của Web

HTTP header cho phép bạn xác định xem trang web của bạn có đang chạy NGINX hay không. Do đó, bạn có thể xem HTTP header bằng cách sử dụng tab mạng trong Chrome Devtools. Nếu bạn không chắc chắn về cách tiếp tục, vui lòng xem phần sau:

Bước 1: Trong Chrome, điều hướng đến trang bạn muốn kiểm tra.

Bước 2: Bây giờ, nhấn F12 hoặc Ctrl + Shift + I.

Bước 3: Cửa sổ Chrome Devtools lúc này sẽ xuất hiện.

Bước 4: Nếu bạn không thấy Network tab, hãy mở rộng nó bằng cách nhấp vào biểu tượng “>>”, sau đó chọn Network.

Ngoài ra, Gtmetrix và Pingdom là hai lựa chọn khác để kiểm tra NGINX của Web. 

Cách cài đặt NGINX là gì?

cách cài đặt nginx

Hiện tại có hai cách để cài đặt NGINX: sử dụng package có sẵn hoặc cài đặt từ source. Mặc dù phương pháp đầu tiên nhanh hơn và dễ dàng hơn, nhưng cài đặt từ nguồn cho phép bạn cài đặt các mô-đun bổ sung giúp tăng sức mạnh của NGINX Web Server. Hơn nữa, nó cho phép người dùng tùy chỉnh để đáp ứng nhu cầu của ứng dụng.

Để cài đặt NGINX bằng gói Debian dựng sẵn, chỉ cần làm theo các bước sau:

“sudo apt-get update 

sudo apt-get install nginx”

Sau khi cài đặt xong, hãy chạy lệnh sau để xem lệnh trên đã được cài đặt NGINX chưa:

“sudo nginx -v

nginx version: nginx/1.18.2”

Sau khi xem cách cài đặt NGINX là gì, bạn nên nhớ máy chủ web mới sẽ được cài đặt trong thư mục /etc/nginx/, thư mục này sẽ chứa nhiều thư mục và tệp con khác. Tuy nhiên, bạn chỉ cần tập trung vào tệp quan trọng nginx.conf và thư mục sites-available.

Cách dùng NGINX làm Load Balancer

Bước 1: Config trên máy 10.10.10.1 giống như dưới đây:

upstream proserver {

server 10.10.10.9:9002;

server 10.10.10.10:9002;

}

Ở đó 2 servers là 10.10.10.9 và 10.10.10.10 đang chạy service ở cổng 9002

cách dùng nginx

Bước 2: tìm hiểu về cách dùng NGINX là gì, chắc hẳn bạn cũng biết trong bước này bạn cần Config để máy 10.101.10.1 đón ở cổng 9000 giống như dưới đây:

server {

proxy_buffering off;

client_max_body_size 5M;

listen 9000;

location / {

proxy_pass http://proserver;

}

}

Bước 3: Start NGINX bằng lệnh: sudo server nginx restart

Bước 4: Tiến hành sửa lại config với tham số weight bằng lệnh sau:

upstream proserver {

server 10.10.10.9:9002 weight=1;

server 10.10.10.10:9002 weight=2;

}

Lời kết

Như vậy, bài viết này đã cung cấp khái niệm về NGINX là gì, tổng quan về cách thức hoạt động và tính năng của NGINX cũng như so sánh chi tiết với NGINX với Apache. Có thể thấy rằng mỗi máy chủ có những ưu điểm và nhược điểm riêng nên tùy thuộc vào mục đích sử dụng, bạn có thể lựa chọn máy chủ Web phù hợp với mình. Bài viết đến đây là hết, cảm ơn các bạn đã dành thời gian để theo dõi. Để đọc thêm những bài viết khác của Máy Chủ Sài Gòn hãy truy cập vào mục Tin tức bạn nhé!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Trang Chủ Danh mục
Tất cả danh mục
Giỏ Hàng