Ngắn gọn về Nginx

Nginx là một loại webserver, các webserver hàng đầu hiện nay như sau

ServerNhà sản xuấtThị phần
ApacheApache34.5%
nginxNGINX, Inc.33.7%
Cloudflare ServerCloudflare, Inc.17.6%
LiteSpeed Web ServerLiteSpeed Technologies8.0%
IISMicrosoft7.2%
GWSGoogle1.2%
Node.jsOpenJS Foundation1.1%

Về thị phần, nginx đứng top 2 và bám sát sao server của Apache.

Đặc điểm

  • Là web server mã nguồn mỡ
  • Kiến trúc đơn luồng hướng sự kiện
  • Ngoài webserver nginx còn có thể đóng vai trò load balancing, http caching, hay reverse proxy.

Cài đặt

  • Có 2 cách: sử dụng package có sẵn hoặc cài từ source
  • Cài từ package nhanh hơn nhưng từ source dễ tùy biến hơn

Cài bằng package trên các OS khác nhau như sau:

Debian

sudo apt-get update
sudo apt-get install nginx
sudo nginx -v
 // => nginx version: nginx/1.18.2

MacOS

brew install nginx

Windows

Đối với Windows chỉ cần vào trang download của NGINX và tải về phiên bản mong muốn (thường là stable)

Cấu hình

Cấu hình ở trong file nginx.conf, mặc định có nội dung như sau: https://gist.github.com/nishantmodak/d08aae033775cb1a0f8a

Các thiết lập quan trọng

  • worker_processes: định nghĩa số worker processes mà NGINX sẽ sử dụng. Bởi vì NGINX là đơn luồng nên nó thường bằng số lõi CPU
  • worker_connection: số lượng tối đa của các kết nối đồng thời cho mỗi worker process, tức là cho biết các worker process của chúng ta có bao nhiêu người có thể được phục vụ đồng thời bởi NGINX.
  • access_log & error_log: các tệp tin mà NGINX sử dụng để log lỗi và số lần truy cập.
  • gzip: là các thiết lập nén GZIP của các NGINX response. Thiết lập nén quan trọng cần chú ý là gzip_comp_level là mức nén nằm trong khoảng 1 đến 10. Thường giá trị này không nên lớn hơn 6 vì sẽ không cải thiện nén nhiều trong khi tiêu tốn nhiều CPU.

NGINX có thể hỗ trợ cùng lúc nhiều website, các cấu hình định nghĩa cho các trang web nằm ở thư mục /etc/nginx/sites-available.

Khởi chạy

Debian

Đối với Debian, sau khi cấu hình xong chạy NGINX bằng lệnh sau:

sudo service nginx start

Mỗi lần thay đổi cấu hình có thể reload lại (zero downtime)

service nginx reload

Kiểm tra lại trạng thái của NGINX

service nginx status

MacOS

sudo brew services start nginx
sudo brew services restart nginx

Windows

Với Windows, sau khi đã download NGINX về, giải nén và chạy, ví dụ:

cd c:\
unzip nginx-1.19.8.zip
cd nginx-1.19.8
start nginx

Sau khi khởi động ta truy cập vào localhost sẽ thấy trang mặc định của NGINX như dưới đây

Chúc mừng, vậy là bạn đã chạy thành công NGINX server!

Leave a comment