Cấu Hình VirtualHost Trên Nginx

VirtualHost trong Nginx cho phép một máy chủ Nginx phục vụ nhiều website (domain hoặc subdomain). Việc cấu hình VirtualHost giúp quản lý nhiều website độc lập, dễ bảo trì và mở rộng. Trong bài viết này chúng ta sẽ đến với cách tạo và cấu hình VirtualHost trên Nginx.

Hướng dẫn thực hiện

Thông thường ở trên Ubuntu/Debian ở trong đường dẫn thư mục /etc/nginx/ (còn ở trên Centos/Almalinux sẽ ở trong đường dẫn thư mục /etc/nginx/conf.d) sẽ có 2 folder đó là:

  • sites-available: Folder này chứa file cấu hình VirtualHost
  • sites-enabled: Còn folder này chứa Symlink của các site đang hoạt động

1. Cài đặt Nginx

Các bạn có thể tham khảo bài viết dưới đây để cài đặt Nginx

Hướng Dẫn Cài Đặt Nginx Trên Ubuntu

 

2. Tạo thư mục website

Ví dụ với domain example.com:

vNode Tutorial
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com

Tạo file test:

vNode Tutorial
nano /var/www/example.com/public_html/index.html

Nội dung:

vNode Tutorial
Hello from Example

 

3. Tạo file VirtualHost

Tạo file VHost:

vNode Tutorial
sudo nano /etc/nginx/sites-available/example.com

Nội dung của cấu hình cơ bản:

vNode Tutorial
server {
        listen 80;
        listen [::]:80;

        server_name example.com;

        access_log /var/log/nginx/example.com.access.log;
        error_log /var/log/nginx/example.com.error.log;

        root /var/www/example.com/public_html;
        index index.html index.htm index.nginx-debian.html;

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

Sau đó cần kích hoạt site, ta sẽ tạo 1 liên kết để trỏ về file gốc ở trong thư mục sites-available để Nginx có thể đọc được file trong thư mục sites-enabled.

vNode Tutorial
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

 

4. Kiểm tra và reload lại Nginx

Kiểm tra lại cấu hình:

vNode Tutorial
sudo nginx -t

Nếu như hiển thị OK thì reload Nginx:

vNode Tutorial
sudo systemctl reload nginx

Sau đó truy cập trình duyệt http://example.com để kiểm tra

1.1 19 2025

 

Lưu ý: Nếu như sau khi cài đặt xong khi truy cập vẫn ra trang default của Nginx thì bạn có thể hủy kích hoạt bằng cách xóa liên kết ở trong thư mục sites-enabled bằng lệnh:

vNode Tutorial
sudo rm /etc/nginx/sites-enabled/default

 

Kết luận

Cấu hình VirtualHost trên Nginx là bước cơ bản nhưng rất quan trọng khi vận hành một hoặc nhiều website ở trên server. Chúc các bạn thành công!