Linux_220_基于IP的多虚拟机
基于IP的多虚拟主机
在一台服务器上,绑定多个IP地址,每个IP地址,部署一个网址,当用户请求不同的IP地址的时候,apache根据用户的请求信息,来响应不同的网址内容
1、给linux服务器,绑定多个IP
查看ip信息:ifconfig | grep "inet 192"
给服务器添加2个IP地址,这临时添加的
ip address add 192.168.178.160/24 dev ens33
ip address add 192.168.178.161/24 dev ens33
# 再次查看服务器的ip信息
ip address | grep "inet 192"
针对三个不同的ip地址,做一个域名的解析关系,在hosts文件中,添加如下对应的解析关系(注意是在客户端添加的)
192.168.178.120 www.hanju.com
192.168.178.160 www.lol.com
192.168.178.161 www.dnf.com
在客户端本地的hosts文件中,添加如下对应域名-ip的解析关系
macos平台,直接编辑 /etc/hosts即可
windows平台,自行搜索hosts文件绝对路径
C:\Windows\System32\drivers\etc
在linux服务器上,添加多个站点资料
192.168.178.120 /www/hanju/
192.168.178.160 /www/lol/
192.168.178.161 /www/dnf/
# 创建三个站点的目录
mkdir -p /www/{hanju,lol,dnf}
# 分别创建三个站点的首页文件,index.html
vim /www/hanju/index.html
<meta charste=utf8>
韩剧 192.168.178.120
vim /www/lol/index.html
lol 192.168.178.160
vim /www/dnf/index.html
dnf 192.168.178.161
配置apache的主配置文件,定义多个虚拟主机
1、编辑httpd.conf
vim /etc/httpd/conf/httpd.conf
在最后一行加入如下的配置,按大写的G进入最后一行
# VirtualHost 定义虚拟主机的配置参数,以下这个阶段是第一个虚拟主机的配置
<VirtualHost 192.168.178.120>
# 定义网页根目录
DocumentRoot /www/hanju
# 定义虚拟主机匹配的域名
ServerName www.hanju.com
<Directory /www/hanju >
# 允许所有访问的权限
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.178.120>
DocumentRoot "/www/hanju"
ServerName "www.hanju.com"
<Directory "/www/hanju" >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.178.160>
DocumentRoot "/www/lol"
ServerName "www.lol.com"
<Directory "/www/lol" >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.178.161>
DocumentRoot "/www/dnf"
ServerName "www.dnf.com"
<Directory "/www/dnf" >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
重启apache服务httpd,加载配置 systemctl restart httpd
此时模拟用户访问,使用客户端去访问apache服务器,如www.hanju.com(在本地的hosts文件中做了解析) 完整的URL是 http://www.hanju.com:80/index.html 域名解析成ip,然后发送给服务器,机器通过虚拟主机的配置,找到了文件夹
image.png