Cài đặt và cấu hình máy chủ Nginx trên hệ điều hành

Bài viết này sẽ hướng dẫn bạn cách cài đặt và cấu hình máy chủ Nginx trên hệ điều hành của bạn. Nginx là một máy chủ web và máy chủ proxy phổ biến được sử dụng rộng rãi trong lĩnh vực phát triển web. Bạn sẽ được hướng dẫn từ quá trình cài đặt đến cấu hình cơ bản của Nginx trên hệ điều hành mà bạn đang sử dụng.

Giới thiệu về Nginx

Nginx là một Web Server nhẹ, mạnh mẽ và sử dụng kiến trúc đơn luồng, hướng sự kiện vì thế nó sử dụng tài nguyên hợp lý hơn Apache Server. Vì vậy nó thường được sử dụng phổ biến với các nhiệm vụ như là Load Balancing, HTTP caching, hay sử dụng như một Reverse Proxy.

Setup NGINX For Load Balancer - DEV Community

Cài đặt Nginx trên hệ điều hành

Để cài đặt Nginx Web Server sử dụng lệnh sau:

# Trên CentOS / RHEL / Fedora
sudo yum install -y nginx

# Trên Ubuntu / Debian / LinuxMint
sudo apt install -y nginx

Khởi động và cho phép khởi động khi boot hệ điều hành:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Kiểm tra Service đã hoạt động chưa:

sudo systemctl status nginx.service

Mặc định tường lửa trên HDH sẽ chặn cổng 80 của Nginx, để mở cổng chúng ta sử dụng lệnh sau:

# Trên CentOS / RHEL / Fedora

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

# Trên Ubuntu / Debian / LinuxMint
sudo ufw allow 'Nginx Full'

Mở trình duyệt và truy cập với đường dẫn http://<Hostname hoặc IP Address> mà hiển thị trang “Test Page” của Nginx thì chúng ta đã cài đặt thành công.

Cấu hình cơ bản của Nginx

– Danh sách file và thư mục quan trọng:

  • /etc/nginx/nginx.conf: File config chính
  • /etc/nginx/conf.d: Thư mục chưa các file config của riêng bạn
  • /etc/nginx/sites-available: Thư mục chưa các file config VirtualHost, cho phép chúng ta cấu hình riêng biệt cho từng website
  • /etc/nginx/sites-available/default: File config Virtual Hosts mặc định

– Cấu hình Virtual Hosts

– Cấu hình Log:

Thông thường, log của Nginx được lưu ở trong thư mục /var/log/nginx gồm có 2 file là:

  • access.log: Lưu lại thông tin truy cập tới Web Server
  • error.log: Lưu lại thông tin lỗi

– 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ề client.

Để bật gzip trên Nginx chúng ta sửa file config /etc/nginx/nginx.conf

– Cấu hình Reverse Proxy trên Nginx

Cấu hình bảo mật và khả năng mở rộng của Nginx

  • Thiết lập SSL/TLS để bảo mật kết nối và hỗ trợ HTTPS.
  • Xử lý cấu hình tường lửa (firewall) và bảo vệ máy chủ Nginx khỏi các cuộc tấn công.
  • Tích hợp Nginx với các công nghệ bảo mật khác như Let’s Encrypt.

Using Nginx as a Forward Proxy | Baeldung

Bằng cách làm theo hướng dẫn trong bài viết này, bạn sẽ có khả năng cài đặt và cấu hình máy chủ Nginx trên hệ điều hành mà bạn đang sử dụng. Điều này cho phép bạn triển khai ứng dụng web và tận dụng những lợi ích của Nginx như tốc độ xử lý cao, khả năng mở rộng linh hoạt và bảo mật.