NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
26/04/2022
Lượt xem

Virtual Hosts là gì? Hướng dẫn tạo nhiều Virtual Host trên Apache nhanh chóng

26/04/2022
9 phút đọc
Lượt xem

Đánh giá

5/5 - (63 bình chọn)

Virtual Host là một khái niệm đã không còn gì xa lạ với lập trình viên khi Public các trang Web của mình lên Internet. Tuy nhiên, có một bộ phận người mới, hoàn toàn chưa hiểu hết về Virtual Host cũng như cách áp dụng vào thực tiễn trên máy chủ Server. Bài viết dưới đây sẽ giải đáp Virtual Host là gì, cùng Vietnix theo dõi nhé.

Virtual Hosts là gì?

Virtual Hostmột dạng lưu trữ mà bạn lưu được nhiều domain khác nhau trên cùng một máy chủ sever. Hiện nay Virtual được xem là một giải pháp tiết kiệm chi phí vì nó cho phép bạn nhúng nhiều domain trên một địa chỉ IP trong một Sever. Server sẽ tự động hiểu tên miền nào đang vận hành bên trong vị trí lưu trữ Server tùy theo cách cài đặt của bạn.

Virtual Hosts là gì?
Virtual Hosts là gì?

Virtual Hosts được xem là một giải pháp tối ưu vừa tiết kiệm chi phí vừa được trải nghiệm tốt khi sử dụng nhiều tên miền chỉ trên một địa chỉ IP của Server. Bên cạnh đó, Virtual Hosting còn mang đến khá nhiều lợi ích trong quá trình sử dụng như:

  • Bạn có thể dễ dàng thao tác vào một thư mục lưu trữ Code nào và không phải copy Code vào htdocs trong giao diện XAMPP.
  • Trong quá trình thiết lập ban đầu, nếu bạn phân vùng lưu trữ Code ở một Folder Code nhất định, thì bạn sẽ không tốn thời gian sao lưu lại dữ liệu trong Folder Code khi cài đặt lại hệ điều hành Window.

Xem thêm: Mua hosting ở đâu giá rẻ? Top 9 hosting tốt nhất, uy tín 2023

Cách thức vận hành của Virtual Host

Có nhiều cách khác nhau để xác định cấu hình của một Virtual Host, nhưng cách được sử dụng thông dụng ngày nay là:

  • IP Based.
  • Port – Based.
  • Name Based.

IP Based

IP-Based Virtual Hosts (xác định website dựa theo IP): Đây là phương pháp đơn giản nhất trong 3 phương pháp, Một IP sử dụng cho 1 Website. Máy chủ web sẽ chịu trách nhiệm ánh xạ IP được yêu cầu có đế đến đúng website mong muốn hay không. Vì thế, mỗi trang web sẽ được định nghĩa bởi 1 IP duy nhất nhằm tránh những vấn đề không đáng có cho trang web liên quan đến địa chỉ IP. Tuy nhiên IP-Based (dùng trên 1 máy chủ) cần thiết lập Virtual Interface trên 1 máy chủ để có thể sử dụng được nhiều IP.

IP based Virtual Hosting

Port Based

Port Based tương đương với IP-Based, nhưng sự khác biệt ở phương thức này là có thể quản lý nhiều trang web dựa theo số Port được định nghĩa cùng với IP hoặc tên miền. Ngoài ra, Port sử dụng tránh lặp lại với Port được mặc định của ứng dụng khác khi đang hoạt động.

Port Based
Port Based

Name Based

Name Based (xác định website dựa theo tên – Domain Name): Nhiều website sử dụng chung 1 IP. Server sẽ đối chiếu http header từ client yêu cầu để ánh xạ đến đúng website được chỉ định theo Domain. Cho nên, Name-Based rất được ưa thích trong việc quản lý nhiều trang web trên cùng 1 máy chủ và trước tình trạng thế giới đang dần cạn kiệt IP Public, đồng thời sử dụng tối đa tài nguyên hiện có. Hạn chế lớn nhất khi bạn dùng IP chung, nếu gặp vấn đề thì tất cả các trang web của bạn đều sẽ bị ảnh hưởng theo.

Name Based
Name Based

Hướng dẫn tạo Virtual Host trên Apache nhanh chóng

Để tạo Virtual Host trên Apache thành công, bạn cần lưu ý một số yêu cầu sau:

Yêu cầu

Bạn cần có hệ điều hành Ubuntu và đã cài đặt Apache.

Nếu ai chưa có Apache, đầu tiên hãy cài đặt với các bước thứ tự như sau:

sudo apt-get update
sudo apt-get install apache2
  1. Test1.com.
  2. Test2.com.

Bước 1: Tạo Cấu trúc Folder

Việc tạo cấu trúc folder dùng để lưu trữ dữ liệu của người dùng, hoặc chứa dữ liệu của người dùng khi truy cập vào trang web.

Cho nên, chúng ta cần tạo thư mục cấu trúc sau thư mục gốc ( /var/wwwdirectory)

sudo mkdir -p /var/www/test1.com/public_html
sudo mkdir -p /var/www/test2.com/public_html

Bước 2: Cấp quyền

Như bạn cũng biết, thư mục cấu trúc mà chúng ta vừa tạo quyền quản trị thuộc tài khoản root. Vì vậy, nếu bạn muốn thay đổi để sửa đổi các tệp trong thư mục web, có thể thực hiện bằng cách sau đây:

sudo chown -R $USER:$YOUR_USER_NAME /var/www/test1.com /public_html
sudo chown -R $USER:$ YOUR_USER_NAME /var/www/test2.com /public_html

Bước 3: Tạo các trang demo cho từng Virual Host

Đầu tiên, cần tạo trang demo cho Test1.com bằng cách mở trình soạn thảo mà chọn và thực hiện một số HTML sau: vi /var/www/test1.com/public_html/index.html.

Sau khi mở, hãy viết một HTLM đơn giản, tiếp theo là lưu tệp và thoát khỏi trình chỉnh sửa.

<html>
<head>
<title>Home Page of Test1.com<title>
</head>
<body>
<h1>Success! The test1 virtual host is working!</h1>
</body>
</html>

Tương tự, bạn có thể dễ dàng tạo HTML cho các trang website khác. Ví dụ: Test2.com/Test3.com.

vi /var/www/test2.com/public_html/index.html
<html>
<head>
<title>Home Page of Test2.com<title>
</head>
<body>
<h1>Success! The test2 virtual host is working!</h1>
</body>
</html>

Bước 4: Tạo tập tin mới cho Virtual Host

Các tệp Virtual host là các tệp chứa thông tin và cấu hình cụ thể cho từng miền, ví dụ: chúng ta có thể có cấu hình Apache toàn cầu và các tùy chọn độc lập cho một miền cụ thể.
Apache bao gồm một tệp Virual host mặc định có tên 000-default.conf mà chúng ta có thể sử dụng.
Đầu tiên , bạn sẽ tạo một bản sao để làm việc với nó và tạo Virual host cho mỗi miền.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sitesavailable/test1.conf

Sau khi thao tác xong, hãy mở lên với trình chỉnh sửa của bạn. Và nó sẽ trông như bên dưới đây:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Tại đây, bạn cần thay đổi email để thay thế bằng địa chỉ email quản trị server.

ServerAdmin admin@test1.com

Tiếp theo là thêm địa chỉ: Servername (Nên dùng tên miền của bạn) và ServerAlias. Kết quả nhận được sẽ là:

ServerName test1.com
ServerAlias www.test2.com

Cuối cùng, vui lòng thay đổi vị trí của Document root cho domain này. Kết quả sẽ là:

DocumentRoot /var/www/test1.com/public_html.

Tương tự, bạn thao tác đúng quy trình như trên cho domain thứ 2.

Bước 5: Kích hoạt file Virual Host mới

Chúng ta vừa tạo các file server ảo của bạn, bây giờ chúng ta phải kích hoạt nó. Thao tác thứ tự theo các lệnh dưới đây:

sudo a2ensite test1.com.conf
sudo a2ensite test2.com.conf

Sau khi hoàn tất, bạn cần khởi động lại Apache.

sudo service apache2 restart

Bước 6: Kiểm tra kết quả

Mở trình duyệt web và kích hoạt tên miền của từng trang web của bạn và kết quả sẽ giống như dưới đây:

Tạo thành công Virtual Host
Tạo thành công Virtual Host

Nếu tạo thành công, thì bạn sẽ có một server duy nhất xử lý hai tên miền riêng biệt. Tại đây, người dùng có thể thao tác tương tự quy trình này theo các bước như trên để tạo thêm các server ảo. Không quy định số lượng phần mềm về số lượng tên miền mà Apache có thể xử lý, vì vậy hãy thoải mái tạo ra càng nhiều càng tốt để server của bạn có thể xử lý.

Ngoài ra, để tối ưu hơn khi sử dụng Virtual Hosts và quản lý nhiều tên miền trên cùng một máy chủ, việc sở hữu các tên miền chất lượng là rất quan trọng. Vietnix cung cấp dịch vụ đăng ký tên miền dễ dàng và bảo mật, giúp bạn chọn lựa từ hàng nghìn đuôi tên miền phổ biến. Việc đăng ký tên miền tại Vietnix không chỉ giúp bạn sở hữu tên miền riêng biệt mà còn đảm bảo quá trình thiết lập Virtual Hosts trên máy chủ của bạn trở nên đơn giản và hiệu quả.

>> Tham khảo thêm: Apache Tomcat là gì? Hướng dẫn cài đặt Apache Tomcat dành cho người mới

Lời kết

Hy vọng với bài viết trên, bạn có thể tạo Virtual Hosts trên Apache để thêm domain vào VPS và chạy nhiều website trên 1 server với số lượng không giới hạn. Nếu có điểm nào thắc mắc hãy liên hệ Vietnix để được hỗ trợ. Chúc các bạn thành công!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG