Linux,WWW服务器配置——虚拟主机
Apache服务器可利用虚拟主机功能在一台服务器上设置多个Web站点,Apache支持两种类型的虚拟主机:基于IP地址的虚拟主机和基于域名的虚拟主机。基于IP地址的各虚拟主机使用同一IP地址的不同端口,或者是使用不同的IP地址。用户可直接使用IP地址来访问此类虚拟主机。
利用相同IP地址的不同端口设置虚拟主机
-
直接编辑httpd.conf,建议先找到对应关键词所在位置之后再配置,便于管理与维护。
Listen 8000 Listen 8888
<VirtualHost 192.168.64.130:8000> DocumentRoot /var/www/vhost1 </VirtualHost> <VirtualHost 192.168.64.130:8888> DocumentRoot /var/www/vhost2 </VirtualHost>
-
在/var/www目录分别建立vhost1和vhost2目录(和配置文件里写的Document路径对应),并创建对应的html文件。
-
测试:
- 测试前先重启服务
service httpd restart
- 如果出现本地DNS failure可以忽略,如果出现端口错误而httpd起不来,参考:https://blog.csdn.net/maoxiang/article/details/5720464 如果只是测试的话建议关闭SELinux。
- 测试前先重启服务
利用不同IP地址设置虚拟主机
-
设置两个虚拟主机用子网卡来划分 (不懂看这里)https://www.cnblogs.com/JohnABC/p/5951340.html ,分别用192.168.64.131和192.168.64.132两个IP地址。
我这里命令行配置有问题,就用图形化界面了,记得要激活。
-
编辑httpd.conf文件:
<VirtualHost 192.168.64.131> DocumentRoot /var/www/vhost1 </VirtualHost> <VirtualHost 192.168.64.132> DocumentRoot /var/www/vhost2 </VirtualHost>
-
测试:
虚拟主机(基于不同域名,IP相同)
配置基于域名的虚拟主机时,必须向DNS服务器注册域名,否则无法访问到虚拟主机。(DNS服务器配置:https://blog.csdn.net/qq_42776455/article/details/83546333 )
DNS服务器正常工作。
-
dns配置:正向解析数据文件添加记录(A记录或者CNAME都可以):
-
dns配置:反向解析数据文件添加记录(针对A记录)
-
编辑httpd.conf文件:
NameVirtualHost 192.168.64.130 <VirtualHost 192.168.64.130> ServerName www.demo.com DocumentRoot /var/www/html </VirtualHost> <VirtualHost 192.168.64.130> ServerName vhost1.demo.com DocumentRoot /var/www/vhost1 </VirtualHost> <VirtualHost 192.168.64.130> ServerName vhost2.demo.com DocumentRoot /var/www/vhost2 </VirtualHost>
-
测试:
到此三种不同的添加虚拟主机的方式已经做完了,先来用Linux配置个简单的静态网站吧。