Khi bạn truy cập dịch vụ lưu trữ trực tuyến, có thể bạn sẽ muốn biết cách lưu trữ nhiều trang web trên một máy chủ. Mặc dù điều này có vẻ phức tạp nhưng khi bạn tìm hiểu thêm về chủ đề này, bạn sẽ hiểu rằng bạn có thể thực hiện việc này với sự trợ giúp từ các hướng dẫn kỹ thuật.
Nhiều máy chủ web khác nhau có thể cung cấp cho bạn các dịch vụ miễn phí, nguồn mở và được sử dụng rộng rãi trên toàn thế giới. Tuy nhiên, trước khi giải thích cách lưu trữ nhiều trang web trên một máy chủ, chúng ta nên biết máy chủ web là gì và nó hoạt động như thế nào.
Máy chủ Web là gì?
Máy chủ web lưu trữ và cung cấp nội dung như văn bản, hình ảnh, video và dữ liệu ứng dụng cho một trang web. Nói cách khác, khách hàng yêu cầu những nội dung này có thể sử dụng chúng với sự trợ giúp của máy chủ web. Một trong những ứng dụng khách điển hình nhất là chương trình trình duyệt web yêu cầu dữ liệu từ trang web của bạn khi người dùng nhấp vào liên kết hoặc tải xuống tệp.
Một máy chủ web giao tiếp thông qua Giao thức truyền siêu văn bản (HTTP) bằng trình duyệt web. Hầu hết nội dung của trang web được mã hóa bằng Ngôn ngữ đánh dấu siêu văn bản (HTML). Nội dung tĩnh, như văn bản và hình ảnh hoặc động, chẳng hạn như danh sách các mặt hàng mà khách hàng đã đánh dấu để mua. Hầu hết các máy chủ web đều hỗ trợ kịch bản phía máy chủ ngôn ngữ để mã hóa logic nghiệp vụ vào giao tiếp để cung cấp nội dung động. Thông thường các ngôn ngữ như Active Server Pages (ASP), JavaScript, PHP, Python và Ruby đều được hỗ trợ.
Máy chủ Web hoạt động như thế nào?
Các máy chủ web hoạt động dựa trên một máy khách-máy chủ người mẫu. Trong cấu trúc tiêu chuẩn này, khách hàng yêu cầu một tài nguyên hoặc dịch vụ từ máy chủ.
Máy chủ web thực hiện một số bước để xử lý yêu cầu của máy khách web:
- Khi người dùng muốn tải nội dung vào trang web, trình duyệt web sẽ yêu cầu quyền truy cập (Yêu cầu HTTP) thông qua mạng.
- Trình duyệt web tìm kiếm địa chỉ IP của trang web được yêu cầu. Nó dịch URL của các trang web bằng cách sử dụng Hệ thống tên miền (DNS) hoặc tìm kiếm thông qua bộ đệm của nó. Quá trình này sẽ giúp bạn xác định vị trí máy chủ web; đó là nơi lưu trữ các tập tin của trang web.
- Tại thời điểm này, máy chủ web nhận được yêu cầu HTTP và xử lý nó thông qua máy chủ HTTP.
- Khi máy chủ HTTP của nó chấp nhận yêu cầu, nó sẽ tìm kiếm trong các tệp máy chủ để lấy dữ liệu liên quan.
- Máy chủ web trả lại các tệp trang web cho trình duyệt đã gửi yêu cầu. Sau đó, người dùng nhìn thấy nội dung trang web.
Tuy nhiên, lưu ý rằng nếu máy chủ HTTP không tìm thấy hoặc xử lý các tệp được yêu cầu, bạn sẽ thấy thông báo lỗi trong trình duyệt web. Bây giờ bạn đã quen với các khái niệm chính về máy chủ web, bạn cũng có thể dễ dàng tìm hiểu cách lưu trữ nhiều máy chủ web trên một máy chủ.
Lưu trữ nhiều trang web trên một máy chủ: Apache
Nếu bạn muốn lưu trữ nhiều trang web trên một máy chủ, bạn nên sử dụng các tệp máy chủ ảo của Apache để đề cập đến một trong các miền phải được sử dụng. Một trong những phương pháp được sử dụng để giải quyết các yêu cầu trang web được gọi là Máy chủ ảo dựa trên tên. Khi ai đó xem trang web của bạn, yêu cầu sẽ được chuyển đến máy chủ, xác định tệp của trang web nào sẽ được phân phối dựa trên tên miền. Kỹ thuật này sẽ cho phép bạn lưu trữ nhiều trang web trên một máy chủ có cùng IP. Bài viết hướng dẫn này sẽ giải thích cách thiết lập tệp máy chủ ảo cho từng miền của bạn. Trước khi chúng ta đi vào chi tiết hơn, hãy nhớ rằng bạn nên đăng nhập bằng tài khoản root.
Cũng đọc: “Lưu trữ Linux và Windows: Cái nào tốt hơn cho bạn?”
Bước 1: Tạo thư mục cho từng trang web
Đầu tiên cài đặt Apache2 bằng lệnh này
Đối với hệ thống dựa trên Debian
apt install apache2 -y
Đối với hệ thống cơ sở CentOS
yum install apache2 -y
Bạn phải tạo một thư mục cho mỗi trang web mà bạn sẽ lưu trữ (trong thư mục /var/www). Hãy xem xét domain.com và domain2.com cho tên miền của bạn.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Bước 2: Đặt quyền thư mục
chmod -R 755 /var/www
Bước 3: Thiết lập trang chỉ mục
Để xem trang chủ, bạn nên đảm bảo index.html tập tin được tạo cho mỗi tên miền. Bạn có thể thiết lập một cái gì đó đơn giản như thử nghiệm tên miền.com trong tập tin này.
vim /var/www/domain.com/public_html/index.html
thử nghiệm tên miền.com
Bây giờ bạn phải lưu và thoát khỏi việc sử dụng Bỏ trốn nút và gõ: wq
Bạn có thể sử dụng lệnh bên dưới để lặp lại tất cả các bước này cho tên miền thứ hai của mình.
vim /var/www/domain2.com/public_html/index.html
Bước 4: Sao chép tệp cấu hình cho từng trang web
Bạn phải sao chép tệp cấu hình mặc định cho từng trang web, đảm bảo rằng bạn luôn có bản sao mặc định để tạo trang web trong tương lai.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Bước 5: Chỉnh sửa tệp cấu hình cho từng trang web
Ít nhất bạn sẽ thay đổi và thêm các dòng được đánh dấu trong <Máy chủ ảo *:80> Và Thẻ </VirtualHost>.
Lưu ý rằng Bí danh máy chủ là tên thay thế cho miền của bạn; trong trường hợp này và hầu hết, bạn đặt www trước tên miền để người khác có thể thấy trang web bằng www hoặc không phải www (Tên máy chủ).
vim /etc/apache2/sites-available/domain.com.conf

Một lần nữa Thoát và Lưu bằng cách sử dụng wq. Bạn phải lặp lại quá trình này cho domain2.com.conf tài liệu; hãy chắc chắn cập nhật Tên máy chủ, Bí danh máy chủ, Và Tài liệu gốc cho tên miền thứ hai của bạn.
Cũng đọc: “Apache và NGINX”
Bước 6: Kích hoạt tệp cấu hình của bạn
Máy chủ của bạn được đặt để đọc tệp 000-default.conf theo mặc định. Tuy nhiên, ở bước trước, chúng tôi đã tạo một tệp cấu hình mới cho mỗi miền. Vì vậy, chúng ta sẽ cần tắt tệp mặc định và sử dụng tệp phù hợp với tệp cấu hình mới.
a2dissite 000-default.conf
Bạn có thể ánh xạ máy chủ tới các miền của mình bằng cách bật từng tệp .conf mới tạo.
a2ensite domain.com.conf
a2ensite domain2.com.conf
Bây giờ, hãy khởi động lại Apache để đăng ký các thay đổi được thực hiện cho nó.
systemctl restart apache2
Bước 7: Xác minh cấu hình Apache
Sau khi khởi động Apache, bạn có thể thấy các cấu hình đang hoạt động bằng cách chỉnh sửa tập tin /etc/host trên máy tính của bạn hoặc DNS tên miền của bạn.
Sau khi thiết lập từng khía cạnh, bạn có thể truy cập trang web của mình trong trình duyệt để xem các trang index.html được tạo ở Bước 3.
Cũng đọc: Tại chỗ so với đám mây
Lưu trữ nhiều trang web trên một máy chủ: IIS
Chúng tôi có thể sử dụng máy chủ web IIS (Dịch vụ thông tin Internet) cho hàng chục hoặc thậm chí hàng trăm trang web. Bạn có thể lưu trữ nhiều trang web trên đó, nghe và phản hồi trên cùng một cổng TCP. Tuy nhiên, giao diện của Trình quản lý IIS hiển thị rằng bạn có thể lưu trữ một trang web khác mà không cần ràng buộc nó với một số cổng khác như 8080. Phần này sẽ giải thích cách bạn có thể lưu trữ nhiều trang web trên cùng một máy chủ IIS và liên kết chúng với cùng một cổng và địa chỉ IP hoặc thậm chí với các địa chỉ IP khác nhau.
Làm cách nào để cài đặt IIS trên máy chủ Windows?
Khi bạn cài đặt IIS trên Windows, một Trang web mặc định trống sẽ được tạo và lắng nghe trên cổng HTTP web tiêu chuẩn – TCP 80. Về mặt kỹ thuật, trang web của chúng tôi bị ràng buộc với cổng TCP/80. Chúng tôi phải nhập tên của máy chủ IIS (“http://web-srv1”) hoặc địa chỉ IP của nó (“http://192.168.1.100”) trong trình duyệt của bạn để chúng tôi mở trang web này.
Bước 1: Liên kết trang web IIS
Máy chủ web IIS chạy trên Windows Server có thể giúp bạn lưu trữ nhiều trang web. Tuy nhiên, IIS chỉ phân phối chính xác các yêu cầu HTTP nếu mỗi trang web phải được xác định bằng một giá trị duy nhất. Trang web IIS bao gồm ba thuộc tính tạo nên sự kết hợp duy nhất cho mỗi trang web. Các thuộc tính này được liệt kê ở đây:
- số cổng TCP
- một địa chỉ IP
- tiêu đề máy chủ (tên máy chủ)
Thông tin về các trang web được lưu trữ được lưu trữ trong Ràng buộc máy chủ thuộc tính của IIS Metabase và định dạng của nó giống như sau: IP:Cổng:Tên máy chủ. Vì vậy, nếu bạn muốn lưu trữ nhiều trang web trên một máy chủ (cùng một cổng và địa chỉ IP), bạn phải sử dụng một tiêu đề máy chủ duy nhất.
Bạn có thể thắc mắc, tiêu đề máy chủ là gì? Tiêu đề máy chủ là một phần của yêu cầu HTTP tới máy chủ chỉ định trang web nào được gửi đến. Vì vậy, chúng ta phải đề cập đến tiêu đề máy chủ này ở phía máy chủ web. Lưu ý rằng DNS có bản ghi chính xác khớp với tên máy chủ và địa chỉ IP của máy chủ web IIS.
Bây giờ, giả sử rằng bạn có một trang web đang chạy trên máy chủ IIS và nghe trên cổng 80. Phải làm gì khi chúng ta muốn liên kết trang web thứ hai trên cùng một cổng?
Bước 2: Liên kết trang web IIS thứ hai
Trong Trình quản lý Dịch vụ Thông tin Internet (IIS), Bạn phải tạo một trang web khác bằng cửa sổ Thêm Trang web và gọi nó là TestSite; Trang web này sẽ được đặt tại C:\inetpub\TestSite. Chú ý chưa chỉ định tên máy chủ.
Sau khi sao chép nội dung trang web vào C:\inetpub\TestSite mở Trình quản lý dịch vụ thông tin Internet (IIS) và trong tên máy chủ của máy chủ, hãy thêm trang web để mở trình hướng dẫn cho bạn.


Sau khi nhấp vào Ok, bạn sẽ thấy một thông báo cảnh báo cho bạn biết rằng bạn không thể sử dụng ràng buộc *:80 cho cả hai trang web này.


Sau khi bạn đồng ý với cảnh báo này, bạn sẽ có một trang web khác bị ràng buộc với cổng 80. Vì vậy, bạn không thể khởi động nó nếu không dừng trang web đầu tiên. Bạn có thể hiểu rõ hơn điều này bằng cách chú ý đến hình ảnh sau đây.

Lưu trữ VPS Windows
Hãy xem các gói VPS Windows giá cả phải chăng của chúng tôi, có phần cứng mạnh mẽ, độ trễ tối thiểu và Windows miễn phí mà bạn chọn!
Yêu cầu Windows miễn phí của bạnLưu trữ nhiều trang web trên máy chủ IIS bằng Tiêu đề máy chủ
Bạn phải chọn một tên khác (Tên máy chủ) cho trang web IIS thứ hai để tạo liên kết duy nhất. Để thực hiện việc này, hãy nhấp chuột phải vào Trang web thử nghiệm và chọn Biên tập Ràng buộc. Chọn ràng buộc bạn cần và nhấp vào Biên tập.
Như bạn có thể thấy trong hình ảnh sau, chúng ta nên chỉ định tên máy chủ duy nhất mà người dùng đánh địa chỉ. Trong hướng dẫn này, chúng tôi sử dụng TestSite; vì vậy hãy đặt nó vào trường Tên máy chủ.

Bạn có thể sử dụng dấu nhắc lệnh để cấu hình liên kết trang IIS. Nếu bạn sử dụng IIS 7 hoặc mới hơn, bạn sẽ thấy một cái gì đó như thế này sau khi chạy lệnh để định cấu hình liên kết Trang IIS:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
Tương tự như trang web đầu tiên, bạn cũng có thể bắt đầu trang web thứ hai.

Tại thời điểm này, bạn phải thêm bí danh DNS cho máy chủ (A hoặc CNAME), tham chiếu đến Địa chỉ IP hoặc tên máy chủ của máy chủ web IIS của bạn. Nếu bạn sử dụng miền Active Directory, bạn cần tạo bản ghi DNS trên bộ điều khiển miền. IIS cho phép bạn tạo một CNAME ghi lại tên TestSite trong bảng điều khiển DNS (dnsmgmt.msc) và đặt tên miền của máy chủ IIS của bạn làm máy chủ đích FQDN.

Bạn cũng có thể tạo bản ghi DNS này thông qua PowerShell và lệnh sau:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
Hãy thử mở http://TestSite trong trình duyệt. Nếu mọi thứ được thực hiện chính xác, nó sẽ mở thành công.

Dịch vụ lưu trữ Linux được đơn giản hóa
Bạn muốn có một cách tốt hơn để lưu trữ trang web và ứng dụng web của mình? Phát triển một cái gì đó mới? Đơn giản là không thích Windows? Đó là lý do tại sao chúng tôi có VPS Linux.
Nhận VPS Linux của bạnChạy nhiều trang web có địa chỉ IP khác nhau trên máy chủ IIS
Bây giờ hãy nói về việc chạy hai trang web trên máy chủ web IIS với các địa chỉ IP khác nhau. Trước tiên, bạn phải thêm một giao diện VLAN riêng trên Windows Server hoặc gán một địa chỉ IP (bí danh) bổ sung cho NIC.
Trong hướng dẫn này, máy chủ có địa chỉ IP chính 192.168.13.100 và chúng tôi sẽ thêm bí danh IP 192.168.13.101 vào cùng một bộ điều hợp mạng:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True
Bây giờ bạn phải tạo bản ghi A cho trang web mới của mình trên máy chủ DNS:
Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr
Nó vẫn mở cài đặt Liên kết trang web, liên kết trang web với địa chỉ IP bổ sung của máy chủ của bạn. Bạn có thể xử lý việc liên kết các trang web trên máy chủ IIS bằng PowerShell. Để làm việc này, mô-đun WebAdministration được sử dụng:
Import-Module WebAdministration
Bạn có thể xem thông tin phát về tất cả các trang IIS có sẵn và các ràng buộc của chúng:
Get-IISSite
Hoặc chỉ về một trang web duy nhất:
(Get-Website -Name NewSite).bindings.Collection

Sử dụng lệnh sau để thay đổi liên kết của trang này; lưu ý rằng nó cho phép bạn thay đổi địa chỉ IP, cổng hoặc tên:
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'
Bạn có thể chạy lệnh này để thêm một ràng buộc mới vào trang IIS cụ thể:
New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http
Việc xóa một ràng buộc được thực hiện bằng lệnh sau:
Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"
Vì vậy, như bạn đã thấy ở đây, bạn có thể chạy nhiều trang web trên máy chủ web IIS trên các địa chỉ IP khác nhau cũng như trên cùng một địa chỉ IP và số cổng TCP.
Suy nghĩ cuối cùng: Lưu trữ nhiều trang web trên một máy chủ
Bài viết này chủ yếu tập trung vào các khái niệm cơ bản về máy chủ, giúp bạn tìm hiểu cách lưu trữ nhiều trang web trên một máy chủ. Chúng tôi cũng cung cấp nhiều VPS Linux giải pháp lưu trữ mà bạn có thể sử dụng để chạy các trang web khác nhau trên một máy chủ. Các gói của Cloudzy giúp giảm chi phí khi có nhiều máy chủ nhưng chúng tôi cũng cho phép bạn sử dụng các dịch vụ của chúng tôi để có lợi cho mình. Hơn nữa, bạn có thể dễ dàng nâng cấp tài nguyên máy chủ của mình, bao gồm RAM, bộ lưu trữ, bộ xử lý và băng thông.
Câu hỏi thường gặp
Bạn có thể có nhiều trang web trên một máy chủ lưu trữ web không?
Nếu bạn có một máy chủ lớn với nhiều tài nguyên như đủ dung lượng ổ cứng, RAM và sức mạnh CPU, bạn có thể lưu trữ nhiều trang web bằng cách sử dụng dịch vụ lưu trữ ảo. Bạn có thể lưu trữ số lượng trang web không giới hạn trên máy chủ web của mình.
Làm cách nào chúng tôi có thể chạy hai trang web trên một máy chủ?
Lưu trữ nhiều trang web trên một máy chủ web được gọi là Máy chủ ảo. Ngoài ra, Bạn nên đảm bảo rằng máy chủ đã chọn của mình có đủ tài nguyên để đáp ứng các yêu cầu về lưu lượng và dung lượng đĩa.
Máy chủ VPS dùng để làm gì?
VPS là dịch vụ lưu trữ có thể cung cấp cho bạn các tài nguyên chuyên dụng (riêng tư) trên máy chủ. Hãy chú ý đến thực tế rằng sử dụng VPS là giải pháp an toàn và ổn định hơn so với dịch vụ lưu trữ chia sẻ không cung cấp cho bạn không gian máy chủ chuyên dụng.
Tại sao mọi người sử dụng VPS?
Lưu trữ VPS đã trở thành một lựa chọn rộng rãi vì nó thường có chi phí thấp hơn so với lưu trữ chuyên dụng trong khi cung cấp độ tin cậy, bảo mật và hiệu suất tốt hơn so với lưu trữ chia sẻ.