</VirtualHost> <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.123.com </VirtualHost> - /usr/local/apache2/bin/apachectl –t - /usr/local/apache2/bin/apachectl graceful ## 默认虚拟主机 - 默认虚拟主机,可以理解成Apache(也就是httpd),一个服务下面跑多了多个网站,跑了多个域名 - 例子,假如在服务器上,它既能访问百度,又能访问谷歌,这是两个不同的网站,但同时都在一台服务器运行着,就用了一个httpd的服务,这个就是一个网站多个域名,每一个域名对着一个虚拟主机 ## 更改hosts - 在windows下去写hosts 1. hostsl路径地址,这个和linux下的hosts类似 1. 打开物理机C盘 2. 然后选择Windows 3. 再选择System32 4. 选择dirvers 5. 选择etc 6. 选择hosts
192.168.202.130 www.abc.com www.123.com
# 192.168.202.130 www.abc.com www.123.com
192.168.202.130 www.abc.com www.123.com
[root@hf-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf
搜索/extra 关键词,这一行就做虚拟主机
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
把#Include conf/extra/httpd-vhosts.conf前面的 #号 去掉 Include conf/extra/httpd-vhosts.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
[root@hf-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //虚拟主机配置文件
在打开配置文件,会发现有两个<VirtualHost *:80> ,每一个<VirtualHost >都是一对出现的,每一个<VirtualHost >都代表着一个主机,一个主机就是一个网站
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com //定义管理员的邮箱——>可删除
DocumentRoot "/usr/local/apache2.4/docs/dummy-host.example.com" //定义网站的根目录在哪里
ServerName dummy-host.example.com //服务器名字
ServerAlias www.dummy-host.example.com //定义别名,别名就是一个网站可以有多个域名访问,比如可以是abc.com访问,也可以是www.abc.com访问,访问的内容是一致的
ErrorLog "logs/dummy-host.example.com-error_log" //错误日志
CustomLog "logs/dummy-host.example.com-access_log" common //访问日志
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/local/apache2.4/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/abc.com"
ServerName abc.com
ServerAlias www.abc.com www.123.com
ErrorLog "logs/abc.com-error_log"
CustomLog "logs/abc.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com //验证
ErrorLog "logs/111.com-error_log"
CustomLog "logs/111.com-access_log" common
</VirtualHost>
然后保存退出
[root@hf-01 ~]# mkdir /data/wwwroot/
[root@hf-01 ~]# mkdir /data/wwwroot/abc.com
[root@hf-01 ~]# mkdir /data/wwwroot/111.com
[root@hf-01 ~]#
[root@hf-01 ~]# vim /data/wwwroot/abc.com/index.php
在文件中写入
<?php
echo "abc.com";
并保存退出
[root@hf-01 ~]# vim /data/wwwroot/111.com/index.php
在文件中写入
<?php
echo "111.com";
并保存退出
[root@hf-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@hf-01 ~]#
[root@hf-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@hf-01 ~]#
[root@hf-01 ~]# curl -x192.168.74.129:80 abc.com
abc.com[root@hf-01 ~]# curl -x192.168.74.129:80 www.abcd.com
abc.com[root@hf-01 ~]# curl -x192.168.74.129:80 www.abcde.com
abc.com[root@hf-01 ~]#
abc.com[root@hf-01 ~]# curl -x192.168.74.129:80 www.example.com
111.com[root@hf-01 ~]#