构建虚拟主机~基于域名

孤者浪人 提交于 2019-12-27 15:24:58

构建虚拟主机 ----基于域名

一:构建虚拟主机
1、虚拟Web主机
在同一台服务器中运行多个Web站点,其中每-个站点并不独立占用一台真正的计算机

2、技术特点
虚拟主机是使用特殊的软硬件技术,把一台真实的物理服务器主机分割成多个逻辑存储单元。每个逻辑单元都没有物理实体,但是每一个逻辑单元都能像真实的物理主机一样在网络上工作,具有单独的IP地址(或共享的IP地址)、独立的域名以及完整的Internet服务器功能。 虚拟主机的关键技术在于,即使在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程式,也互不干扰。而各个用户拥有自己的一部分系统资源(IP地址、文档存储空间、内存、CPU等)。各个虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台单独的主机的表现完全相同。所以这种被虚拟化的逻辑主机被形象地称为“虚拟主机”。

3、httpd支持的虚拟主机类型
基于域名的虚拟主机
基于IP地址的虚拟主机
基于端口的虚拟主机

二:基于域名的虚拟主机
1、实验环境
VMware 虚拟机

xshell 6

centos7 虚拟机一台

windows10测试主机一台

2、实验步骤
1、首先安装 bind 、httpd 软件包
[root@localhost ~]# yum install bind httpd -y
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0 # 关闭防火墙

2、进入named服务主配置进行修改
[root@localhost ~]# vim /etc/named.conf

​ /127找到位置

​ listen-on port 53 { any; }; #把原来的127.0.0.1 改成 any#
​ listen-on-v6 port 53 { ::1; };
​ directory “/var/named”;
​ dump-file “/var/named/data/cache_dump.db”;
​ statistics-file “/var/named/data/named_stats.txt”;
​ memstatistics-file “/var/named/data/named_mem_stats.txt”;
​ recursing-file “/var/named/data/named.recursing”;
​ secroots-file “/var/named/data/named.secroots”;
​ allow-query { any; }; #把原来的localhost 改成 any#

[root@localhost ~]# vim /etc/named.rfc1912.zones

找一个对应的模板,复制5行,粘贴10行

zone “accp.com” IN { #在区域配置文件中加入 kgc.com 和 accp.com 两个域名#
type master;
file “accp.com.zone”;
allow-update { none; };
};

zone “kgc.com” IN
file “kgc.com.zone”;
allow-update { none; };
};

[root@localhost named]# cp -p named.localhost kgc.com.zone #复制named.localhost区域到kgc.com.zone 中’
[root@localhost named]# vim kgc.com.zone #进入kgc.com区域配置

[root@localhost named]# cp -p kgc.com.zone accp.com.zone
[root@localhost named]# systemctl start named #开启named服务

可以在windows中验证,测试DNS是否能解析。首先需要先配置dns地址(右击网络–属性),dns地址就是虚拟机的IP地址,然后在命令界面输入 “nslookup www.kgc.com”

3、配置httpd服务
[root@localhost named]# cd /etc/httpd/
[root@localhost httpd]# ls
conf conf.d conf.modules.d logs modules run
[root@localhost conf]# mkdir extra #新建一个目录extra
[root@localhost conf]# cd extra/
[root@localhost extra]# vim vhost.conf 进入vhost.conf #添加配置,创建独立的配置文件
<VirtualHost *:80> httpd的端口号 80
DocumentRoot “/var/www/html/kgc” #站点目录
ServerName www.kgc.com #域名’
ErrorLog “logs/www.kgc.com.error_log” #错误日志
CustomLog “logs/www.kgc.com.access_log” common #访问日志’
<Directory “/var/www/html/”> #设置目录访问权限
Require all granted #设置网页文件允许所有主机访问
<VirtualHost *:80>
DocumentRoot “/var/www/html/accp”
ServerName www.accp.com
ErrorLog “logs/www.accp.com.error_log”
CustomLog “logs/www.accp.com.access_log” common
<Directory “/var/www/html/”>
Require all granted

[root@localhost extra]# cd /var/www/html/ #在/var/www/html目录下创建两个子目录kgc accp
[root@localhost html]# mkdir accp kgc
[root@localhost html]# ls
accp kgc
[root@localhost html]# echo “this is kgc web” > kgc/index.html #编写测试网页的文件
[root@localhost html]# echo “this is accp web” > accp/index.html
[root@localhost html]# cd /etc/httpd/
[root@localhost httpd]# ls
conf conf.d conf.modules.d logs modules run
[root@localhost httpd]# cd conf
[root@localhost conf]# ls
extra httpd.conf magic
[root@localhost conf]# vim httpd.conf
Include conf/extra/vhost.conf #在最后一行添加’ ‘//加载独立的配置文件
[root@localhost conf]# systemctl start httpd #开启httpd服务

在win10的浏览器中输入 www.kgc.com 和 www.accp.com,测试是否可以打开

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!