[Nginx là gì ?] Tổng quan về Web Server Nginx

[Nginx là gì ?] Tổng quan về Web Server NginxCuongquach.com | Khi bạn chập chững tìm hiểu việc cấu hình dịch vụ web server trên VPS, Server Linux,.. thì bạn sẽ thấy ngoài Apache ra còn có một lựa chọn mang tên ‘Nginx‘. Vậy Nginx là gì ? Mà ngày nay đang có xu hướng thay thế Apache làm dịch vụ web server cho các ứng dụng web internet có lượng truy cập cao đến vậy. Cùng tìm hiểu với Cuongquach.com về Nginx nhé.

nginx là gì

Có thể bạn quan tâm chủ đề khác
Ngxtop – Monitor dịch vụ log Nginx theo thời gian thực
Hướng dẫn liệt kê danh sách domain vhost trên Nginx
Fix lỗi 413 Request Entity Too Large trên Nginx

NGINX là gì ?

nginx logo
nginx logo

Trang chủhttps://nginx.org/

NGINX được phát âm là “engine-ex”, là một máy chủ dịch vụ web (web server) mã nguồn mở. Nginx khởi đầu thành công với vai trò là máy chủ web, nhưng bây giờ với các tính năng mở rộng Nginx cũng được sử dụng phổ biến như một máy chủ proxy (reverse proxy server), HTTP cache hoặc dùng làm cân bằng tải (load balancer).

Những công ty lớn sử dụng NGINX bao gồm: Autodesk, Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Microsoft, IBM, Google, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter, Apple, Intel và nhiều công ty khác.

NGINX được phát triển bởi Igor Sysoev năm 2002, với phiên bản phát hành công khai đầu tiên vào tháng 10 năm 2004. Igor xem phần mềm này ban đầu như một câu trả lời cho vấn đề C10k (là một vấn đề liên quan đến vấn đề hiệu suất xử lý 10.000 kết nối cùng lúc).

Với mục tiêu của NGINX là tối ưu hóa hiệu xuất, nên nó thường vượt mặt các máy chủ web phổ biến khác trong các bài kiểm tra benchmark. Đặc biệt trong các trường hợp cần phục vụ nội dung tĩnh (file hình ảnh, css, js, text,..) và/hoặc các yêu cầu truy vấn đồng thời số lượng lớn (high concurrent request).

NGINX hoạt động như thế nào?

NGINX được phát triển cho các mục đích tối ưu việc sử dụng (ram) bộ nhớ thấp nhưng phục vụ được nhiều kết nối đồng thời cao hơn. 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.

Một vài tính năng thông thường NGINX bao gồm:

  • Reverse proxy với caching
  • IPv6
  • Cân bằng tải
  • FastCGI hỗ trợ với caching
  • Chuyển hướng truy cập (3xx, 5xx,..)
  • Xử lý file tĩnh, file index và auto-indexing
  • TLS/SSL với SNI
  • Hỗ trợ nhúng Perl, Lua,..
  • Hỗ trợ WebSockets
  • Giới hạn kết nối đồng thời từ 1 địa chỉ ip,..
  • Rewrite URL.

NGINX với Apache

Apache là một máy chủ web mã nguồn mở phổ biến khác. Dựa vào những con số thống kê, Apache hiện là máy chủ web được sử dụng phổ biến nhất, còn NGINX được sử dụng phổ biến nhất khi thống kê ở những trang web có lượng truy cập cao. Khi bạn chia lượng truy cập theo traffic, NGINX sẽ chiếm tỉ lệ % sử dụng ở :

  • 56.1% của 100,000 site phổ biến nhất
  • 63.2% của 10,000 site phổ biến nhất
  • 57% của 1,000 sites phổ biến nhất

nginx stats apache

Mặt khác, Apache chiếm % tỉ lệ sử dụng ở:

  • 27.1% của 100,000 site phổ biến nhất
  • 21.5% của 10,000 site phổ biến nhất
  • 16.2% của 1,000 site phổ biến nhất

Nếu chúng ta nhìn vào từ khóa tìm kiếm Google từ năm 2004 chúng ta có thể thấy rằng Apache đã giảm đều, trong khi NGINX lại tăng trưởng nhẹ.

NGINX được xem là hoạt động tốt hơn khi scale, và không bất ngờ khi những website có lượng truy cập cao lại chọn NGINX thay vì Apache.

Làm thế nào để kiểm tra website đang chạy NGINX ?

Trên hầu hết mọi website, bạn có thể dễ dàng kiểm tra HTTP header của máy chủ để xem rằng nó đang chạy NGINX hoặc là Apache. Bạn có thể thấy HTTP header bằng cách mở network tab trong Chrome Devtools. Hoặc bạn có thể kiểm tra header với công cụ như Pingdom hoặc GTmetrix. Tuy nhiên, HTTP header có thể không luôn luôn tiết lộ máy chủ web ở bên dưới. Ví dụ nếu site WordPress của bạn nằm sau dịch vụ proxy như là Cloudfare, thì HTTP header máy chủ hiện chữ cloudfare.

nginx http header
nginx http header

Cài đặt Nginx Web Server

VIệc cài đặt chương trình web server Nginx khá là đơn giản. Bạn có thể cài qua các repository của OS Linux, biên dịch mã nguồn Nginx,…

+ CentOS

# yum install nginx -y

Xem thêm: Hướng dẫn cài đặt Nginx trên CentOS

+ Ubuntu

# sudo apt-get install nginx -y

Xem thêm: Hướng dẫn cài đặt Nginx trên Ubuntu

+ File cấu hình Nginx

Tuỳ thuộc vào việc bạn cài đặt Nginx từ Repository Nginx/OS hoặc cài qua hình thức biên dịch mã nguồn Nginx ta sẽ có các vị trí file cấu hình Nginx như sau :

  • /etc/nginx/nginx.conf
  • /usr/local/etc/nginx/nginx.conf
  • /usr/local/nginx/conf/nginx.conf

Thao tác lệnh với Nginx Web Server

– Khởi động Nginx (thường thì ta khởi động bằng service script của OS)

# nginx

– Dừng dịch vụ Nginx.

# nginx -s quit

– Kiểm tra cú pháp cấu hình Nginx.

# nginx -t

– Load lại cấu hình Nginx mà không cần khởi động lại dịch vụ Nginx.

# nginx -s reload

– Mở file log nginx trực tiếp.

# nginx -s reopen

Tài liệu về Nginx

Nếu bạn có nhu cầu tham khảo tài liệu về Nginx, hiện chỉ có nhiều đầu sách ebook tiếng anh về dịch vụ web server Nginx thôi. Ví dụ như:

Tổng kết

Vậy là bạn đã biết Web Server Nginx là gì rồi phải không nào ?! Trên Cuongquach.com hiện cũng có nhiều bài viết liên quan đến Nginx, bạn có thể đọc tại đường link sau : LINK

Nguồn: https://cuongquach.com

Previous article[Twitter là gì ?] Twitter hoạt động như thế nào?
Next articleSpyware và Malware khác nhau như thế nào?
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !