三种方式构建虚拟web主机

本文介绍了在Linux环境中创建虚拟主机的三种方法:基于域名、IP地址和端口号。基于域名的方法通过不同域名共享同一IP实现,基于IP地址则需要多个网络接口,而基于端口号则利用不同端口区分不同站点,用户访问时需指定端口号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虚拟主机介绍

在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机。
构建虚拟主机的三种方式:

  • 基于域名
    为每个虚拟主机使用不同的域名,但是其对应的 IP 地址是相同的。
  • 基于IP地址
    为每个虚拟主机使用不同的域名,且各自对应的 IP 地址也不相
    同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛。
  • 基于端口
    这种方式并不使用域名、IP 地址来区分不同的站点内容,而是使用
    了不同的TCP 端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才
    能访问。

基于域名构建虚拟主机

示例:在192.168.10.11主机上构建两个站点
www.aa.com www.bb.com
操作步骤:
本项目中采用hosts映射解析域名,另外也可使用DNS域名解析服务。

mkdir /opt/aa
mkdir /opt/bb
cd /opt/aa
echo "<h1>aa</h1>" > index.html
cd /opt/bb
echo "<h1>bb</h1>" > index.html

vi /etc/httpd.conf

Include conf/extra/httpd-vhosts.conf(删除行首#)

vi /usr/local/httpd/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    ServerAdmin webmaster@aa.com
    DocumentRoot "/opt/aa"
    ServerName www.aa.com
    ErrorLog "logs/aa.com-error_log"
    CustomLog "logs/aa.com-access_log" common
</VirtualHost>
<Directory "/opt/aa">
     Options Indexes MultiViews FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow from all
     Require all granted
</Directory>

vi /etc/hosts

(添加)192.168.10.11    www.aa.com www.bb.com

systemctl restart httpd

使用浏览器浏览www.aa.com、www.bb.com验证结果。

基于IP地址

ifconfig ens33:1 192.168.10.200/24  虚拟ip
ip addr
vi /usr/local/httpd/conf/extra/httpd-vhosts.conf

添加修改ip地址
<VirtualHost 172.16.10.10:80>
    ServerAdmin webmaster@aa.com
    DocumentRoot "/opt/aa"
    ServerName www.aa.com
    ErrorLog "logs/aa.com-error_log"
    CustomLog "logs/aa.com-access_log" common
</VirtualHost>

<VirtualHost 192.168.10.200:80>
    ServerAdmin webmaster@bb.com
    DocumentRoot "/opt/bb"
    ServerName www.bb.com
    ErrorLog "logs/bb.com-error_log"
    CustomLog "logs/bb.com-access_log" common
</VirtualHost>

systemctl restart httpd

使用浏览器浏览172.16.10.10、192.168.10.200验证结果。

基于端口号

修改端口号

vi /usr/local/httpd/conf/extra/httpd-vhosts.conf

<VirtualHost 172.16.10.10:80>
    ServerAdmin webmaster@aa.com
    DocumentRoot "/opt/aa"
    ServerName www.aa.com
    ErrorLog "logs/aa.com-error_log"
    CustomLog "logs/aa.com-access_log" common
</VirtualHost>

<VirtualHost 192.168.10.200:8080>
    ServerAdmin webmaster@bb.com
    DocumentRoot "/opt/bb"
    ServerName www.bb.com
    ErrorLog "logs/bb.com-error_log"
    CustomLog "logs/bb.com-access_log" common
</VirtualHost>

增加监听端口

vi /etc/httpd.conf

Listen 80
Listen 8080

systemctl restart httpd

使用浏览器浏览172.16.10.10:80、192.168.10.200:8080验证结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值