Nginx là một thuật ngữ phổ biến trong ngành công nghệ thông tin.
Vậy Nginx là gì? Nginx hoạt động như thế nào? Tất cả sẽ được BKHOST bật mí trong bài viết dưới đây, đồng thời cũng hướng dẫn cách kiểm tra tình trạng của Nginx dễ dàng.
Ok, hãy cùng bắt đầu.
NGINX là gì?
NGINX (phát âm là “engine-x”) là một máy chủ web mã nguồn mở và máy chủ proxy ngược phổ biến. Nó được biết đến với hiệu suất cao, sự ổn định và tiêu thụ tài nguyên thấp. NGINX cũng có thể được sử dụng làm load balancer, bộ đệm HTTP và làm proxy ngược cho các máy chủ TCP và UDP. Nó được sử dụng rộng rãi bởi nhiều trang web lớn và cao truy cập, bao gồm Netflix, Dropbox và WordPress.com
Nginx hoạt động như thế nào?
NGINX hoạt động như một máy chủ web và máy chủ proxy ngược.
- Khi một yêu cầu HTTP đến từ một trình duyệt hoặc một ứng dụng khác, NGINX sẽ nhận diện và xử lý yêu cầu đó.
- Nếu yêu cầu đó là một yêu cầu truy vấn trang web (ví dụ: truy vấn một trang HTML), NGINX sẽ tìm kiếm trong bộ nhớ đệm của nó để xem trang đó có được lưu trữ trong bộ nhớ đệm hay không. Nếu trang đó được lưu trữ, NGINX sẽ trả về nó từ bộ nhớ đệm mà không cần gửi yêu cầu đến máy chủ gốc.
- Nếu trang đó không được lưu trữ trong bộ nhớ đệm hoặc yêu cầu không phải là một yêu cầu truy vấn trang web, NGINX sẽ gửi yêu cầu đó đến máy chủ gốc để nhận kết quả và trả về kết quả đó cho người dùng.
- Ngoài việc làm máy chủ web, NGINX cũng có thể được cấu hình để hoạt động như một máy chủ proxy ngược, nó sẽ nhận yêu cầu từ một ứng dụng hoặc trình duyệtrồi chuyển tiếp yêu cầu đó đến một máy chủ khác hoặc nhiều máy chủ khác nhau trong một hệ thống load balancing. Điều này có thể giúp tăng hiệu suất và sẵn sàng của hệ thống bằng cách chia sẻ tải giữa các máy chủ và giảm sự tắc nghẽn trên một máy chủ cụ thể.
NGINX còn có thể được cấu hình để hoạt động như một bộ điều khiển tải (Load balancer) bằng cách chia sẻ tải giữa các máy chủ thực tế và chuyển tiếp yêu cầu đến máy chủ có tải thấp nhất, giúp tăng sẵn sàng và hiệu suất của hệ thống.
Cách kiểm tra trang web đang chạy Nginx hay không?
Bằng cách khởi chạy tab trong Chrome Devtools hoặc kiểm tra tiêu đề trong một công cụ như Pingdom hoặc GTmetrix.
Có một số trường hợp không thể xác định được Web Server thông qua tiêu đề HTTP trên trang web. Chẳng hạn như một trang web WordPress đứng sau một dịch vụ proxy như Cloudflare, thì tiêu đề HTTP của máy chủ sau đó sẽ là cloudflare.
Cài đặt NGINX trên Windows
BKHOST giới thiệu 2 cách cài đặt NGINX. Cách đầu nhanh và dễ hơn, nhưng cần cài từ source cung cấp khả năng cài đặt thêm cho module để giúp NGINX mạnh hơn. Bạn có thể tùy chỉnh sao để phù hợp với nhu cầu sử dụng.
Để cài đặt một gói Debian dựng sẵn, thứ duy nhất cần làm là:
Sudo apt-get update
Sudo apt-get install nginx
Sau khi quá trình cài đặt kết thúc, bạn có thể kiểm tra mọi thứ có tốt không khi chạy lệnh dưới đây, để hiển thị thông tin bản NGINX được cài đặt là ỔN bằng cách chạy lệnh dưới đây, nó sẽ hiển thị phiên bản NGINX được cài đặt:
Sudo nginx –v
Nginx version: nginx/1.6.2
Webserver mới sẽ được cài đặt tại /etc/nginx/. Tệp tin nginx.conf và thư mục sites-available là những yếu tố chính mà bạn cần đẻ mắt tới.
Cấu hình NGINX
Danh sách file, giải nghĩa thư mục quan trọng
- /etc/nginx/conf.d: Thư mục chứa file config riêng của bạn.
- /etc/nginx/nginx.conf: File config chính
- /etc/nginx/sites-available/default: File config Virtual Hosts mặc định
- /etc/nginx/sites-available: Khu vực chứac file config VirtualHost cho phép bạn cấu hình riêng cho từng web.
Cấu hình Virtual Hosts
Tạo file Virtual Hosts sau khi bạn đã đăng ký domain ở đường dẫn /etc/nginx/sites-available/example.com.conf với nội dung:
{{EJS0}}
Lưu ý: bạn nhớ thay example.com thành địa chỉ tên miền của bạn.
Ý nghĩa của các tham số:
- listen 80: Lắng nghe và nhận các kết nối trên cổng 80 (HTTP Port).
- listen [::]:80: Lắng nghe và nhận các két nối trên địa chỉ Ipv6.
- server_name: Địa chỉ tên miền
- root: Đường dẫn thư mục chứa source code website
- index: File gọi đến đầu tiên
- location: Địa chỉ trả về tài nguyên trên máy chủ, khi có request tới 1 URL
Cấu hình Log
Log của Nginx được lưu ở trong thư mục /var/log/nginx gồm có 2 file là:
- log: Lưu lại thông tin truy cập tới ở web server
- log: Lưu lại thông tin lỗi
Tiến hành thay đường dẫn của 2 file đó, bạn sửa phần tham số error_log và access_log trong file /etc/nginx/nginx.conf:
{{EJS1}}
Bạn cũng có thể thêm 2 tham số vào virtualhost, giúp đặt đường dẫn file log riêng ứng với từng web.
Cấu hình gzip
Gzip là phương pháp nén dữ liệu trả về của server, giúp giảm tải thời gian tải tài nguyền từ server về người dùng.
Để bật gzip trên NGINX chúng ta sửa file config /etc/nginx/nginx.conf
{{EJS2}}
Tổng kết về NGINX
Hy vọng qua bài viết này, bạn đã hiểu hơn về NGINX cũng như biết cách cài đặt NGINX trên Windows. Nếu bạn có bất kỳ thắc mắc nào, hãy để lại comment ở bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
Cảm ơn đã theo dõi bài viết!