Subdomain là một phần mở rộng của tên miền chính, giúp bạn tổ chức và phân chia nội dung trên cùng một máy chủ ảo. Trong bài viết này, mình sẽ làm rõ tại sao cần tạo subdomain trên VPS, hướng dẫn chi tiết các phương pháp tạo và các bước cần làm sau khi tạo subdomain cùng những lưu ý quan trọng khi thao tác.
Những điểm chính
- Tại sao cần tạo subdomain trên VPS: Giúp bạn tổ chức nội dung một cách khoa học (ví dụ: blog.yourdomain.com), tách biệt môi trường phát triển và thử nghiệm, và hỗ trợ SEO bằng cách tạo ra các trang chuyên biệt.
- Tạo subdomain trên VPS với cPanel: Đây là phương pháp đơn giản và nhanh chóng nhất, chỉ cần đăng nhập vào cPanel, tìm mục Subdomains, và điền thông tin cần thiết.
- Tạo subdomain trên VPS thủ công bằng Nginx: Dành cho người quản trị VPS không có control panel, đòi hỏi kiến thức về dòng lệnh. Quy trình bao gồm việc tạo thư mục, tạo file cấu hình Virtual Host, kích hoạt và reload Nginx.
- Các bước cần làm sau khi tạo subdomain: Bước quan trọng nhất là cấu hình Bản ghi DNS loại A (A Record) cho subdomain tại trang quản trị tên miền, trỏ nó về địa chỉ IP của VPS.
- Kiểm tra và khắc phục sự cố: Sau khi tạo, cần kiểm tra subdomain có hoạt động hay không và khắc phục các sự cố thường gặp như sai IP trong bản ghi A, firewall chặn cổng, hoặc lỗi cấu hình Nginx.
- Giải đáp các thắc mắc thường gặp khi tạo subdomain trên VPS.
Tại sao cần tạo subdomain trên VPS?
Việc tận dụng subdomain trên VPS mang lại nhiều lợi ích chiến lược, giúp tối ưu hóa việc quản lý, phát triển và mở rộng các dự án trực tuyến của bạn:
- Tổ chức nội dung: Subdomain cho phép bạn phân chia rõ ràng các khu vực chức năng trên cùng một tên miền chính như
blog.tenmien.com
,shop.tenmien.com
,forum.tenmien.com
, giúp người dùng dễ dàng điều hướng và tăng trải nghiệm trên các phần khác nhau của website. - Tách biệt môi trường: Tạo môi trường thử nghiệm hoặc phát triển trên các subdomain như
dev.duan.com
mà không ảnh hưởng đến website chính đang hoạt động. - Chạy các ứng dụng khác nhau: Bạn có thể lưu trữ các ứng dụng hoặc nền tảng công nghệ khác nhau trên cùng VPS. Ví dụ, trang chính của bạn có thể chạy bằng WordPress, trong khi
app.tenmien.com
chạy một ứng dụng viết bằng Python hoặc NodeJS. - Tiết kiệm chi phí: Sử dụng subdomain rẻ và hiệu quả hơn nhiều so với việc phải mua và quản lý nhiều tên miền khác nhau cho mỗi dịch vụ bạn muốn cung cấp.

Tạo subdomain trên VPS với cPanel
Đây là phương pháp đơn giản và nhanh nhất, phù hợp cho những ai có VPS đã được cài đặt sẵn cPanel (Trình quản lý hosting phổ biến).
Bước 1 – Đăng nhập cPanel: Truy cập vào tài khoản cPanel của bạn, thường có địa chỉ yourdomain.com:2083
.
Bước 2 – Tìm mục Subdomains: Tại giao diện chính, bạn tìm đến nhóm Domains và nhấp vào mục Subdomains.

Bước 3 – Điền thông tin Subdomain:
- Subdomain: Tên bạn muốn đặt cho subdomain, ví dụ như shop, news, dev,…
- Domain: Tên miền chính mà subdomain sẽ thuộc về.
- Document Root: Thư mục chứa mã nguồn của subdomain.

Cuối cùng bạn nhấp vào nút Submit để hoàn tất.
Tạo subdomain trên VPS Ubuntu bằng Nginx
Phương pháp này dành cho những người quản lý VPS không có Control panel, yêu cầu quyền truy cập SSH và một chút kiến thức về dòng lệnh.
Điều kiện cần
- VPS chạy hệ điều hành Ubuntu.
- Đã cài đặt web server Nginx.
- Tên miền chính đã trỏ Bản ghi A về địa chỉ IP của VPS.
Các bước thực hiện
Bước 1: Cài đặt Nginx (Nếu chưa có)
Trước tiên, bạn chạy các lệnh sau để cài đặt Nginx trên VPS:
sudo apt update
sudo apt install nginx
Sau khi cài đặt, bạn khởi động và kiểm tra trạng thái của Nginx bằng các lệnh:
sudo systemctl start nginx
sudo systemctl status nginx
Bước 2: Tạo thư mục cho Subdomain (Document Root)
Bạn chạy lệnh sau để tạo thư mục chứa nội dung của subdomain:
bash
sudo mkdir -p /var/www/blog.yourdomain.com/html
Sau đó, bạn phân quyền sở hữu và quyền truy cập cho thư mục:
bash
sudo chown -R $USER:$USER /var/www/blog.yourdomain.com/html
sudo chmod -R 755 /var/www/blog.yourdomain.com
Bước 3: Tạo file cấu hình Virtual Host (Server Block) cho Subdomain
Bạn tạo một file cấu hình mới cho subdomain trong thư mục sites-available
của Nginx.
sudo nano /etc/nginx/sites-available/blog.yourdomain.com.conf
Sau đó bạn dán nội dung cấu hình sau vào file, đây là một cấu hình cơ bản nhất:
server {
listen 80;
listen [::]:80;
root /var/www/blog.yourdomain.com/html; # Thư mục chứa code của subdomain
index index.html index.htm;
server_name blog.yourdomain.com; # Tên subdomain cần cấu hình
location / {
try_files $uri $uri/ =404;
}
Chỉ thị quan trọng nhất ở đây là server_name
, giúp Nginx biết phải xử lý yêu cầu cho blog.yourdomain.com
bằng file cấu hình này.
Bước 4: Kích hoạt Server Block bằng Symbolic Link
Tiếp theo, bạn tạo một liên kết tượng trưng từ sites-available
sang sites-enabled
để Nginx đọc được file cấu hình mới.
bash
sudo ln -s /etc/nginx/sites-available/blog.yourdomain.com.conf /etc/nginx/sites-enabled/
Bước 5: Kiểm tra cú pháp cấu hình Nginx
Đây là bước không bao giờ được bỏ qua. Trước khi reload Nginx
, bạn chạy lệnh sudo nginx -t
. Nếu kết quả trả về syntax is ok
và test is successful
thì bạn mới có thể yên tâm.
sudo nginx -t
Bước 6: Reload/Restart Nginx
Cuối cùng, bạn áp dụng các thay đổi trên bằng cách tải lại Nginx. Dùng reload
sẽ tốt hơn restart
vì lệnh này không ngắt các kết nối hiện tại.
bash
sudo systemctl reload nginx
Các bước cần làm sau khi tạo subdomain
Dù bạn tạo subdomain bằng cách nào, bước cuối cùng và quan trọng nhất là cấu hình DNS.
Trỏ bản ghi DNS A Record cho subdomain
Đây là bước bắt buộc để subdomain hoạt động, giúp trình duyệt biết máy chủ nào đang chứa website của bạn.
- Đăng nhập vào trang quản trị DNS của nhà cung cấp tên miền (Vietnix, Cloudflare, Namecheap, Mắt Bão,…).
- Tìm khu vực quản lý bản ghi DNS và chọn Thêm bản ghi mới.
- Tạo một A Record mới với các thông tin sau:
- Loại (Type):
A
- Tên (Name/Host): Nhập tên subdomain (Ví dụ:
blog.website.com
). - Giá trị (Value/Address): Nhập địa chỉ IP của VPS.
- TTL (Time To Live): Có thể để giá trị mặc định.
- Loại (Type):

Kiểm tra subdomain hoạt động
Sau khi tạo bản ghi A, đừng vội vàng kiểm tra ngay. DNS cần thời gian để cập nhật, có thể mất từ vài phút đến vài giờ.
Từ kinh nghiệm của mình, thay vì liên tục F5 trình duyệt, mình thường dùng trang whatsmydns.net. Chỉ cần nhập subdomain của bạn (ví dụ blog.yourdomain.com
), chọn record A
và xem các máy chủ DNS trên thế giới đã cập nhật đúng địa chỉ IP VPS chưa. Khi thấy nhiều dấu tích xanh, đó là lúc bạn có thể kiểm tra trên trình duyệt.
Lưu ý khi tạo subdomain và khắc phục sự cố thường gặp
Nếu subdomain không hoạt động, hãy kiểm tra lần lượt các điểm sau:
- Sai IP: Kiểm tra lại địa chỉ IP trong Bản ghi A. Một con số sai cũng đủ làm mọi thứ thất bại.
- Firewall chặn cổng: Đảm bảo Firewall trên VPS (ví dụ:
ufw
) đã cho phép traffic qua cổng 80 (HTTP) và 443 (HTTPS). Dùng lệnhsudo ufw status
để kiểm tra. - Lỗi cấu hình Nginx: Chạy lại
sudo nginx -t
. Nếu có lỗi, lệnh sẽ chỉ rõ dòng và file gây ra vấn đề. Đừng quên xem log lỗi tại/var/log/nginx/error.log
. - Quyền truy cập thư mục: Lỗi
403 Forbidden
thường do Nginx không có quyền đọc thư mụcDocument Root
. Hãy kiểm tra lại bằng lệnhchown
vàchmod
. - Gợi ý bước tiếp theo: Sau khi subdomain hoạt động, việc đầu tiên bạn nên làm là cài đặt chứng chỉ SSL miễn phí từ Let’s Encrypt để kích hoạt HTTPS. Đây là tiêu chuẩn bảo mật bắt buộc hiện nay.

Câu hỏi thường gặp
Số lượng subdomain tôi có thể tạo trên VPS là bao nhiêu?
Thường không giới hạn bởi nhà cung cấp VPS hoặc tên miền. Giới hạn thực tế phụ thuộc vào tài nguyên VPS của bạn và khả năng xử lý của Web Server.
Tôi có thể tạo subdomain cho tên miền miễn phí không?
Điều này phụ thuộc vào nhà cung cấp tên miền miễn phí đó. Một số nhà cung cấp tên miền miễn phí cho phép tạo subdomain, một số khác không.
Việc tạo subdomain có ảnh hưởng đến website chính chạy trên tên miền gốc không?
Về mặt kỹ thuật, subdomain là một địa chỉ độc lập, không ảnh hưởng trực tiếp đến website chính. Tuy nhiên, nếu subdomain tiêu thụ quá nhiều tài nguyên VPS thì có thể ảnh hưởng đến hiệu suất chung.
Tôi có cần mua SSL riêng cho từng subdomain không?
Không nhất thiết. Bạn có thể sử dụng chứng chỉ SSL Wildcard để bảo mật tên miền chính và tất cả các subdomain chỉ với một chứng chỉ duy nhất. Hoặc bạn có thể sử dụng SSL miễn phí như Let’s Encrypt, thường hỗ trợ bảo mật nhiều subdomain trên cùng một chứng chỉ.
Nếu tôi sử dụng control panel khác ngoài cPanel, cách tạo subdomain có tương tự không?
Câu trả lời là có, các control panel khác cũng có giao diện đồ họa cho phép tạo subdomain một cách tương tự, chỉ khác về bố cục và tên gọi của các mục.
Kết luận
Tạo subdomain trên VPS là cách hiệu quả để tổ chức nội dung, tách biệt môi trường và triển khai các dịch vụ chuyên biệt, mang lại nhiều lợi ích cho dự án trực tuyến. Quy trình thực hiện có thể đơn giản với control panel như cPanel hoặc phức tạp hơn khi cấu hình thủ công với Nginx. Việc hiểu rõ các bước cấu hình DNS và những lưu ý quan trọng sẽ giúp bạn tạo subdomain thành công và đảm bảo chúng hoạt động ổn định.