Linux

Linux_220_基于IP的多虚拟机

2022-08-16  本文已影响0人  为宇绸缪

基于IP的多虚拟主机
在一台服务器上,绑定多个IP地址,每个IP地址,部署一个网址,当用户请求不同的IP地址的时候,apache根据用户的请求信息,来响应不同的网址内容

image.png

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
上一篇 下一篇

猜你喜欢

热点阅读