实现虚拟主机有三种方式:基于IP的实现、基于端口的实现、基于FQDN的实现
一、基于IP的实现
1.先创建三个站点:
mkdir /app/site1
mkdir /app/site2
mkdir /app/site3
echo /app/site1/index.html > site1/index.html
echo /app/site2/index.html > site2/index.html
echo /app/site3/index.html > site3/index.html
3.增加三个IP地址:
ip add a 192.168.93.10/24 dev eth1
ip add a 192.168.93.20/24 dev eth1
ip add a 192.168.93.30/24 dev eth1
4.编辑配置文件:
vim /etc/httpd/conf.d/test.conf
5.启动httpd服务:service httpd start
6.测试:(统一说明下,测试都是在centos7上做的,包括以下两个实验。)
curl http://192.168.93.10
curl http://192.168.93.20
curl http://192.168.93.30
注:建立虚拟主机时,主站点可以关闭。每个站点占用一个IP地址,通常使用IP地址访问站点的用户很少;或是配合DNS服务器上使用:
如:vim /etc/hosts
实现通过名字访问站点:如图所示
二、基于端口的实现
vim /etc/httpd/conf.d/test.conf
2.重启网络服务:
service network restart
3.重启httpd服务:
service httpd restart
(注:这里可能会出现httpd服务起不来,查看是不是因为selinux的设置,如果是,进入配置文件修改设置,设置完重启。或者通过命令临时修改:setenforce 0
4.测试:
三、基于FQDN的实现
vim /etc/hosts
2.编辑配置文件:
vim /etc/httpd/conf.d/test.conf
3.启动服务:service httpd restart(或使用命令!ser)
4.测试:
centos7与centos6大致相同,只是必须对目录授权,且不需要NameVirutalHost指令。
注:一般虚拟机不要与main主机混用;因此,要使用虚拟主机,一般先禁用main主机。禁用方法:注释中心主机的DocumentRoot指令即可
以上就是虚拟主机的实现了,欢迎多多指教。