Apache基于域名访问虚拟WEB主机
虚拟Web主机指的是在同一台服务器中运行多个Web站点.其中的每个站点实际上并不独立占
用整个服务器,因此被称为“虚拟”Web主机。通过虚拟Web主机服务可以充分利用服务器的硬件
资源,从而大大降低网站构建及运行成本。
使用httpd可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大
量的Web 站点。httpd支持的虚拟主机类型包括以下三种。
基于域名:为每个虚拟主机使用不同的域名,但是其对应的P地址是相同的,例如,www.bdqan1 , com和 www , bdqn2.com站点的P地址都是173.17.17.11,这是使用最为普遍的虚拟Web主机类型。
基于P地址:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同,这种方式需要为服务器配备络 接多个网口,因此应用并不是非常广泛。
基于端口:这种方式并不使用域名.Р地址来区分不同的站点内容,而是使用了不同的TCP端口号,因
此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。
实验需求
站点www .bdan. com 的网页文档存放在服务器的/var/ www/html/bdqndoc目录下。
站点www .jbit . com 的网页文档存放在服务器的/var/www/html / jbitdoc目录下。
构建基于域名的虚拟主机服务器,用于支撑以上两个Web 站点。
其中 www .jbit .com站点只对公司内部员工开放alan,agou,访问时需进行用户认证。
一、源代码安装
可以参考: https://blog.csdn.net/weixin_46298214/article/details/108766318
二、配置域名解析
1、安装DNS域名
[root@centos01 ~]# yum -y install bind bind-chroot bind-utlis
2、配置主文件内容
[root@centos01 ~]# vim /etc/named.conf
检查是否正确
[root@centos01 ~]# named-checkconf /etc/named.conf
3.配置域名解析数据库
[root@centos01 ~]# vim /var/named/bdqn.com.zone
检查配置是否错误
[root@centos01 ~]# named-checkzone bdqn.com. /var/named/bdqn.com.zone
复制bdqn.com.zone到 /var/named/下并改名为jdit.com.zone
修改bdqn为jbit
[root@centos01 ~]# cp /var/named/bdqn.com.zone /var/named/jbit.com.zone
5、启动DNS域名服务 并设置为开机自启
[root@centos01 ~]# systemctl start named
[root@centos01 ~]# systemctl enable named
6、修改网卡DNS
[root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
重启网卡
[root@centos01 ~]# systemctl restart network
三、配置虚拟主机
1、创建网页文档根目录
[root@centos01 ~]# mkdir -p /var/www/html/
[root@centos01 ~]# mkdir /var/www/html/bdqndoc
[root@centos01 ~]# mkdir /var/www/html/jbitdoc
创建测试内容
[root@centos01 ~]# echo “www.bdqn.com” > /var/www/html/bdqndoc/index.html
[root@centos01 ~]# echo “www.jbit.com” > /var/www/html/jbitdoc/index.html
2、创建本地验证用户
[root@centos01 ~]# htpasswd -c /usr/local/httpd/.user alan
[root@centos01 ~]# htpasswd /usr/local/httpd/.user agou
3、修改httpd主文件内容
启用虚拟主机
4、修改虚拟主机配置
[root@centos01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
复制内容到虚拟主机配置
<Directory "/var/www/html/bdqmdoc/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/html/jbitdoc/">
AuthName jbit
AuthType basic
AuthUserFile /usr/local/httpd/.usre
require valid-user
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
修改配置
启动服务
[root@centos01 ~]# systemctl start httpd
测试
访问:http://www.bdqn.com/
用alan访问:http://www.jbit.com/
用agou访问:http://www.jbit.com/