NGINX là gì? Cách cài đặt thế nào? So sánh Nginx với Apache

Ngày đăng: 13/08/2024
Lượt xem: 246
Theo dõi: youtube tiktok
Chia sẻ:
Đánh giá: 4.5/5 - (1 bình chọn)

Đối với một web developer, system administrator hay là devops, NGINX là một thứ không thể thiếu trong quá trình làm việc. Vậy NGINX là gì? Lịch sử phát triển của nó như thế nào? Các chức năng nổi bật của nó là gì? NGINX khác gì với Apache và cài đặt NGINX như thế nào? Tất cả sẽ được HostingViet trả lời trong bài viết này.

NGINX là gì
NGINX là gì? Cách cài đặt thế nào? So sánh Nginx với Apache

NGINX là gì?

NGINX là một loại web server mã nguồn mở. Với kiến trúc event-driven (hướng sự kiện) phi đồng bộ (asynchronous), NGINX đã nhanh chóng chứng tỏ hiệu quả vượt trội so với Apache. Hơn nữa, nhờ vào khả năng của máy chủ http, nginx cũng có thể hoạt động như một reverse proxy, load balancer, mail proxy và HTTP cache.


NGINX là web server mã nguồn mở

NGINX là web server mã nguồn mở

Lịch sử phát triển của Nginx

NGINX được phát triển bởi Igor Sysoev - một kỹ sư phần mềm người Nga. Phiên bản đầu tiên của NGINX ra mắt vào năm 2004. Ban đầu, NGINX được tạo ra nhằm giải quyết vấn đề "C10k problem". Qua các năm, NGINX đã không ngừng phát triển và cải tiến, trở thành một trong những phần mềm máy chủ web phổ biến nhất trên thế giới.

Hướng dẫn các bước để cài đặt NGINX

Để cài đặt NGINX, bạn có thể thực hiện theo 2 cách, có thể cài đặt từ source hoặc dùng gói (package) dựng sẵn.

Cahcs cài đặt theo gói sẽ nhanh hơn, nhưng cài đặt từ source thì bạn sẽ có thể cài đặt thêm những module khác giúp NGINX mạnh hơn và có thể tùy chỉnh sao cho phù hợp với nhu cầu của ứng dụng.

Để cài đặt một gói Debian dựng sẵn, bạn chỉ cần làm duy nhất 1 điều là:

sudo apt-get update

sudo apt-get install nginx

Sau khi kết thúc quá trình cài, nếu muốn kiểm tra xem mọi thứ ok chưa, bạn có thể check bằng cách chạy lệnh dưới đây để hiển thị phiên bản NGINX vừa được cài đặt.

sudo nginx -v

nginx version: nginx/1.18.2

Web server mới sẽ được cài đặt tại /etc/nginx/ . Trong thư mục này, bạn sẽ thấy nhiều thư mục và tập tin, bạn cần chú ý tới tệp tin nginx.conf và thư mục sites-available.

Các chức năng nổi bật của máy chủ Nginx

Dưới đây là các tính năng nổi bật của máy chủ http Nginx:

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

Các tính năng nổi bật của máy chủ mail proxy của Nginx:

Những phương pháp xác thực:

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

Cách hoạt động của Nginx

Cơ bản thì Nginx hoạt động tương tự như các web server khác, chỉ duy nhất có sựa khác biệt ở chỗ nó hoạt động theo dạng kiến trúc bất đồng bộ, theo hướng sự kiện để nhằm dùng ít bộ nhớ và tăng khả năng chạy đồng thời. 

  • Cụ thể, Nginx quản lý các threads tương đồng với nhau trong cùng một tiến trình - process, mỗi process sẽ gồm nhiều thực thể nhỏ hơn, Worker Connections sẽ có nhiệm vụ xử lý tất cả các threads đó.
  • Các Worker Connections sẽ là bộ phận gửi yêu cầu cho Worker Process, Worker Process lại gửi cho Master Proxess, lúc này Master Proxess sẽ đáp ứng những yêu cầu về cho người dùng, vì vậy Worker Connections có thể xử lý được hàng ngàn yêu cầu tương tự nhau và nhờ vậy, Nginx cũng có thể xử lý cùng lúc hàng ngàn yêu cầu khác nhau.

So sánh Nginx với Apache

Chúng ta đã biết NGINX là gì rồi, cả Nginx và Apache là 2 loại máy chủ web phổ biến nhất hiện nay, mỗi loại đều có các ưu - nhược điểm riêng. Dưới đây là một số điểm so sánh chính giữa 2 loại máy chủ này:


so sánh Nginx và Apache

Nginx và Apache là 2 loại web server phổ biến nhất hiện nay, mỗi loại đều có các ưu - nhược điểm riêng

Điểm giống nhau giữa Nginx và Apache

Giữa Nginx và Apache giống nhau ở những điểm sau:

  • Đều có thể chạy được trên nhiều hệ điều hành của hệ thống UNIX.
  • Có thể bảo mật tốt cho mã nguồn.
  • Có diễn đàn Stack Overflow và hệ thống Mailing hỗ trợ.
  • Thời gian chạy trong môi trường PHP của 2 server này khá giống nhau.
  • 2 Server có hiệu năng trên nội dung động tương tự như nhau.
  • Nginx kết nối với PHP có thể xử lý đồng thời giống như Apache ghép nối với các Module PHP-FPM.
  • Đều có một cộng đồng dùng lớn

Điểm khác nhau giữa Nginx và Apache

Về các điểm khác nhau, tôi sẽ liệt kê ra dưới dạng bảng để bạn có thể nhìn dễ dàng so sánh hơn:

Tiêu chí

Nginx

Apache

Hệ điều hành hỗ trợ

Chạy trên một số Unix hiện đại. Đồng thời, nó cũng có hỗ trợ một số tính năng cho Windows, nhưng hiệu suất hoạt động không mạnh như Apache

Chạy được trên tất cả các loại hệ thống Unix-like và hỗ trợ đầy đủ cho hệ điều hành Windows.

Hỗ trợ người dùng

Chạy trên tất cả những loại hệ thống Unix-like và hỗ trợ đầy đủ cho Windows.

Thiếu sự hỗ trợ từ phía công ty Apache

Nội dung tĩnh

Có thể xử lý tới 1000 kết nối với nội dung tĩnh nhanh gấp 2,5 lần máy chủ Apache. Tốn ít bộ nhớ hơn.

Xử lý được ít kết nối cùng lúc, tốc độ chậm hơn NGINX

Khả năng tương thích

Mới bắt đầu hỗ trợ Dynamic Module từ năm 2016

Đã được cung cấp Dynamic Module trước NGINX

 

Có thể thấy, Nginx sẽ phù hợp với các website có lưu lượng truy cập cao, nhiều nội dung tĩnh, cần có hiệu suất tối ưu và thường được dùng làm reverse proxy hoặc load balancer. Còn Apache sẽ phù hợp với các ứng dụng yêu cầu cao về tính tùy biến và khả năng xử lý nội dung động, đặc biệt khi cần hỗ trợ nhiều loại ngôn ngữ và module khác nhau.

Trên đây HostingViet đã giải đáp cho bạn biết “NGINX là gì?” và một số các thông tin liên quan tới web server này. Hy vọng qua bài viết này bạn sẽ hiểu rõ về loại máy chủ này. Nếu còn gì thắc mắc, có thể liên hệ với chúng tôi qua hotline (024) 2222 2223 để được chúng tôi giải đáp nhé.

Bình luận
  • Báo xấu
    Phản hồi
    {comment_author}
    {comment_content}
Bài viết liên quan
 
Top 10 VPS Free tốt nhất, miễn phí và đáng dùng 2026
2025/11/17

Top 10 VPS Free tốt nhất, miễn phí và đáng dùng 2026

VPS Free là gì? VPS Free là máy chủ ảo được cung cấp miễn phí theo một điều kiện nhất định. Có nhà cung cấp cho d&u...
Tác giả:
Đọc thêm
 
VPS Windows là gì? Bảng giá và cách chọn cấu hình tối ưu
2025/07/08

VPS Windows là gì? Bảng giá và cách chọn cấu hình tối ưu

VPS Windows là gì? VPS Windows là máy chủ ảo riêng chạy trên hệ điều hành Windows hoặc Windows Server. VPS được tạo r...
Tác giả:
Đọc thêm
 
Service Host Là Gì? Cách Tắt Service Host Local System Win 10
2023/02/06

Service Host Là Gì? Cách Tắt Service Host Local System Win 10

Service Host là gì? Service Host, thường hiển thị trong hệ thống dưới tên svchost.exe, là một tiến trình hệ thống của Microsoft Wi...
Tác giả:
Đọc thêm
 
Tracert là gì? Cách dùng lệnh tracert để kiểm tra đường truyền, phát hiện lỗi mạng
2023/02/06

Tracert là gì? Cách dùng lệnh tracert để kiểm tra đường truyền, phát hiện lỗi mạng

Tracert Là Gì? Tracert là lệnh kiểm tra đường đi của gói tin từ thiết bị nguồn đến máy chủ đích trên hệ điều h&agrav...
Tác giả:
Đọc thêm
 
Cách đổi mật khẩu VPS Linux, Windows đơn giản an toàn từ A-Z
2023/02/06

Cách đổi mật khẩu VPS Linux, Windows đơn giản an toàn từ A-Z

Vì sao cần biết cách đổi mật khẩu VPS? Mật khẩu VPS là lớp bảo vệ đầu tiên của máy chủ VPS là viết tắt của Virtual Private...
Tác giả:
Đọc thêm
 
Hệ điều hành Windows là gì? Ưu nhược điểm và cách sử dụng hiệu quả
2023/02/06

Hệ điều hành Windows là gì? Ưu nhược điểm và cách sử dụng hiệu quả

  Hệ điều hành Windows là gì? Hệ điều hành Windows là nền tảng phần mềm do Microsoft phát triển, đóng vai t...
Tác giả:
Đọc thêm