第二步:配置主机的hosts文件,便于测试
[root@Apache ~]# echo "192.168.1.11 test1.com" >> /etc/hosts [root@Apache ~]# echo "192.168.1.12 test2.com" >> /etc/hosts [root@Apache ~]# echo "192.168.1.13 test3.com" >> /etc/hosts [root@Apache ~]# tail -3 /etc/hosts 192.168.1.11 test1.com 192.168.1.12 test2.com 192.168.1.13 test3.com第三步:建立虚拟主机存放网页的根目录,并创建首页文件index.html
[root@Apache ~]# cd /www [root@Apache ~]# mkdir 11 [root@Apache ~]# mkdir 12 [root@Apache ~]# mkdir 13 [root@Apache ~]# echo "192.168.1.11" > 11/index.html [root@Apache ~]# echo "192.168.1.12" > 12/index.html [root@Apache ~]# echo "192.168.1.13" > 13/index.html第四步:修改httpd.conf在文件末尾加入以下配置
[root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf --文件末尾加入以下配置 Listen 192.168.1.11:80 Listen 192.168.1.12:80 Listen 192.168.1.13:80 Include conf/vhost/*.conf # 文件包含vhost目录下所有以.conf结尾的文件第五步:编辑每个ip的配置文件
[root@Apache ~]# mkdir /usr/local/apache2/conf/vhost [root@Apache ~]# cd /usr/local/apache2/conf/vhost [root@Apache ~]# vim test11.conf --一定要以.conf为后缀,这是第一台机器 <VirtualHost 192.168.1.11:80> ServerName test11.com DocumentRoot /www/11 <Directory "/www/11/"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost>参数介绍:
虚拟主机配置格式:
<VirtualHost 主机ip:端口>
配置内容
</VirtualHost>
指定虚拟主机使用的域名
ServerName 域名
指定虚拟主机的主目录
DocumentRoot 目录
虚拟目录的格式:
<Directory 目录的路径>
目录相关的配置参数和指令
</Directory>
Options Indexes FollowSymLinks --找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外
是否允许.htaccess文件覆盖httpd.conf文件中关于虚拟主机目录的配置。
AllowOverride None # 不使用
AllowOverride all # 使用
允许、拒绝所有访问指令
Require all granted # 允许
Require all denied # 拒绝
第六步:启动服务并测试
[root@Apache ~]# /usr/local/apache2/bin/apachectl -t --检查配置文件是否正确 Syntax OK [root@Apache ~]# /usr/local/apache2/bin/apachectl restart --重新启动Apache 检查虚拟主机是否运行 [root@Apache ~]# curl 192.168.1.11 192.168.1.11 [root@Apache ~]# curl 192.168.1.12 192.168.1.12 [root@Apache ~]# curl 192.168.1.13 192.168.1.13 2. Apache基于端口的虚拟主机配置第一步:使用ifconfig设置1个虚拟ip
[root@Apache ~]# ifconfig ens33:4 192.168.1.14/24第二步:配置主机的hosts文件,便于测试
[root@Apache ~]# echo "192.168.1.14 test4.com" >> /etc/hosts