Cách định cấu hình nhiều tên máy chủ trong NGINX

Bạn có biết bạn có thể định cấu hình nhiều miền trong một phiên bản NGINX không? Để làm được điều đó, chúng ta phải định cấu hình nhiều máy chủ ảo trong NGINX. Vì vậy, hãy xem cách định cấu hình nhiều tên máy chủ trong NGINX. Nếu bạn lưu trữ nhiều trang web trong NGINX theo cách này, bạn có thể tiết kiệm chi phí máy chủ.

Cách định cấu hình nhiều tên máy chủ trong NGINX

Dưới đây là các bước để định cấu hình nhiều tên máy chủ trong NGINX. Chúng tôi sẽ tạo 2 tệp cấu hình NGINX, một tệp cho mỗi miền.

Tạo thư mục gốc web cho tên miền đầu tiên

Tạo một thư mục cho tên miền số 1 của bạn, nơi bạn có thể lưu trữ các tệp của nó

sudo mkdir -p /var/www/domain-one.com/html

Tạo file cấu hình cho website #1 tại /etc/nginx/sites-available

sudo vi /etc/nginx/sites-available/domain-one.conf

Thêm cấu hình máy chủ cho tên miền đầu tiên

Thêm khối máy chủ sau vào tệp cấu hình của bạn

server { listen 80; listen [::]:80; server_name domain-one.com www.domain-one.com; root /var/www/domain-one.com/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } }

Chúng ta hãy nhìn vào cấu hình trên. 3 dòng đầu tiên yêu cầu NGINX lắng nghe tất cả các yêu cầu khớp với domain-one.com qua cổng 80.

Lệnh gốc chỉ định vị trí gốc của trang web của bạn. Sau đó, chúng tôi chỉ định tệp html nào sẽ được tải cho trang chủ trang web của bạn (trang chỉ mục) bằng cách sử dụng chỉ thị chỉ mục .

Cuối cùng chúng tôi yêu cầu NGINX xử lý tất cả các yêu cầu dưới dạng tệp; dưới dạng một thư mục nếu điều đó là không thể và nếu cả hai đều không thể thực hiện được thì hãy đưa ra lỗi 404 .

Kiểm tra cấu hình NGINX và khởi động lại máy chủ NGINX

Chạy lệnh sau để kiểm tra lỗi cấu hình NGINX.

sudo nginx -t -c /etc/nginx/sites-available/domain-one.conf

Tiếp theo, chúng ta tạo một liên kết tượng trưng của tệp cấu hình

sudo ln -s /etc/nginx/sites-available/domain-one.conf /etc/nginx/sites-enabled/domain-one.conf

Cuối cùng, chúng tôi khởi động lại máy chủ NGINX

sudo systemctl tải lại nginx

Tiếp theo, chúng tôi lặp lại tất cả các bước trên cho tên miền thứ hai để định cấu hình nhiều tên máy chủ trong NGINX.

Tạo thư mục gốc web cho tên miền thứ hai

Tạo một thư mục cho tên miền số 2 của bạn, nơi bạn có thể lưu trữ các tệp của nó

sudo nginx -t -c /etc/nginx/sites-available/domain-two.conf

Tạo file cấu hình cho website #2 tại /etc/nginx/sites-available

sudo vi /etc/nginx/sites-available/domain-two.conf

Thêm cấu hình máy chủ cho tên miền thứ hai

Thêm khối máy chủ sau vào tệp cấu hình của bạn

server {
     listen 80;
     listen [::]:80;
     server_name domain-two.com www.domain-two.com;

     root /var/www/domain-two.com/html;

     index index.html index.htm;

     location / {
          try_files $uri $uri/ =404;
     }
}

Kiểm tra cấu hình NGINX và khởi động lại máy chủ NGINX

Chạy lệnh sau để kiểm tra lỗi cấu hình NGINX.

sudo nginx -t -c /etc/nginx/sites-available/domain-two.conf

Tiếp theo, chúng ta tạo một liên kết tượng trưng của tệp cấu hình

sudo ln -s /etc/nginx/sites-available/domain-two.conf /etc/nginx/sites-enabled/domain-two.conf

Cuối cùng, chúng tôi khởi động lại máy chủ NGINX để định cấu hình nhiều tên máy chủ trong NGINX.

sudo systemctl reload nginx

Ngoài ra, bạn cũng có thể thêm 2 khối máy chủ vào tệp cấu hình mặc định của NGINX tại /etc/nginx/nginx.conf nếu bạn muốn định cấu hình nhiều tên máy chủ trong NGINX. Tuy nhiên, nên tạo các bản sao riêng biệt để bảo mật và quản lý tốt hơn nếu bạn muốn lưu trữ nhiều trang web trên NGINX.

Bây giờ NGINX sẽ lắng nghe các yêu cầu hướng đến cả tên máy chủ (domain-one.com và domain.two.com). Mở trình duyệt web và truy cập tên miền của bạn để đảm bảo rằng chúng đang tải đúng cách. Đó là nó! Bạn có thể sử dụng các bước tương tự để định cấu hình nhiều tên miền phụ trên một máy chủ NGINX.