CentOS 7中构建虚拟主机(实验篇)

虛拟Web主机

  • 在同一台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机

httpd支持的虚拟主机类型

  • 基于域名的虚拟主机
  • 基于IP地址的虚拟主机
  • 基于端口的虚拟主机

搭建实验

基于域名的虚拟主机

[[email protected] ~]# yum install bind httpd -y        //在服务器上安装DNS与HTTP服务
[[email protected] ~]# cd /etc/                         //进入etc目录
[[email protected] etc]# vim named.conf                 //进入编辑DNS服务主配置文件
...//省略部分内容...
options {
        listen-on port 53 { any; };                    //将监听IP地址更改为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; };                      //主机名更改为any,允许所有主机通过解析
...//省略部分内容...
:wq                                                        //保存退出
[[email protected] etc]# vim named.rfc1912.zones        //进入编辑区域配置文件
...//省略部分内容...
zone "kgc.com" IN {                                  //更改域名
        type master;
        file "kgc.com.zone";                         //更改数据文件名称
        allow-update { none; };
};

zone "aaa.com" IN {                                 //更改域名
        type master;
        file "aaa.com.zone";                      //更改数据文件名称
        allow-update { none; };
};
...//省略部分内容...
[[email protected] etc]# cd /var/named/               //进入区域数据文件存放目录
[[email protected] named]# cp -p named.localhost kgc.com.zone   //复制区域数据文件模板
[[email protected] named]# vim kgc.com.zone             //进入编辑模板
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.144.133                        //删掉最后一行,更改为此行
:wq                                                 //保存退出
[[email protected] named]# cp -p kgc.com.zone aaa.com.zone  //复制刚更改的数据文件,命名为aaa.com.zone,不需要更改内容
[[email protected] named]# systemctl start named             //启动DNS服务
[[email protected] named]# systemctl stop firewalld.service   //关闭防火墙
[[email protected] named]# setenforce 0                        //关闭增强性安全功能
[[email protected] html]# cd /etc/httpd/conf/     //进入http服务配置文件目录
[[email protected] conf]# mkdir extra             //创建文件夹
[[email protected] conf]# ls                      //查看目录
extra  httpd.conf  magic
[[email protected] extra]# vim vhost.conf         //编辑子配置文件
<VirtualHost *:80>
  DocumentRoot "/var/www/html/aaa/"
  ServerName www.aaa.com
  ErrorLog "logs/www.aaa.com.error_log"
  CustomLog "logs/www.aaa.com.access_log" common
  <Directory "/var/www/html">
    Require all granted                                   //编辑虚拟主机配置条目
  </Directory>
</VirtualHost>

<VirtualHost *: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
  </Directory>
</VirtualHost>
~
:wq                                                 //保存退出
[[email protected] extra]# cd /var/www/html/        //进入http服务网页站点
[[email protected] html]# mkdir aaa kgc              //创建目录文件
[[email protected] html]# cd aaa/                   //进入目录
[[email protected] aaa]# vim index.html            //编辑默认主页
<h1>this is aaa web</h1>                        //编写内容
~
:wq                                              //保存退出
[[email protected] aaa]# ls                     //查看目录
index.html
[[email protected] aaa]# cd ../kgc/                //返回上一层并进入kgc目录
[[email protected] kgc]# vim index.html          //编辑默认网页
<h1>this is kgc web</h1>                    //编辑内容
~
:wq                                          //保存退出
[[email protected] kgc]# ls                    //查看目录
index.html
[[email protected] kgc]# vim /etc/httpd/conf/httpd.conf    //进入编辑http服务主配置文件
...//省略部分内容...
# prevent Apache from glomming onto all bound IP addresses.
#
Listen 192.168.144.137:80                                   //打开ipv4监听地址,并更改为本机IP地址
#Listen 80                                     //关闭ipv6的监听地址
...//省略部分内容...
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
Include conf/extra/vhost.conf                             //在最后一行添加包含子配置文件目录条目
:wq                                                    //保存退出
[[email protected] kgc]# systemctl start httpd              //开启http服务
[[email protected] kgc]# netstat -ntap | grep 80            //查看80端口是否开启
tcp6       0      0 :::80                  :::*               LISTEN      2450/httpd 

打开一台win10客户机,更改DNS服务器地址,打开网页,测试基于不同域名构建虚拟主机是否成功

基于端口建立虚拟主机

此处实验就直接在上面的实验中更改配置,不重新操作

[[email protected] named]# vim /etc/httpd/conf/extra/vhost.conf
...//省略部分内容...
<VirtualHost *: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
  </Directory>
</VirtualHost>

<VirtualHost *:8080>
  DocumentRoot "/var/www/html/kgc02/"
  ServerName www.kgc.com
  ErrorLog "logs/www.kgc02.com.error_log"
  CustomLog "logs/www.kgc02.com.access_log" common
  <Directory "/var/www/html">   //复制上面的配置文件条目,并更改监听端口为8080,并将站点目录、日志文件名更改为kgc02
    Require all granted
  </Directory>
</VirtualHost>
:wq                       //保存退出
[[email protected] named]# cd /var/www/html/
[[email protected] html]# mkdir kgc02
[[email protected] html]# cd kgc02/
[[email protected] kgc02]# vim index.html
<h1>this is kgc02 web</h1>
~
:wq
[[email protected] kgc02]# vim /etc/httpd/conf/httpd.conf
...//省略部分内容...
# prevent Apache from glomming onto all bound IP addresses.
#
Listen 192.168.144.137:80
Listen 192.168.144.137:8080
#Listen 80
...//省略部分内容...
:wq
[[email protected] kgc02]# systemctl restart httpd

在win10客户端验证基于端口的虚拟主机配置

基于IP地址建立虚拟主机

在这里先给Linux服务器虚拟机添加一张网卡,获取另一个IP地址

在虚拟机中获取IP地址

[[email protected] ~]# ifconfig          //查看网卡信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.144.137  netmask 255.255.255.0  broadcast 192.168.144.255
        inet6 fe80::a85a:c203:e2e:3f3c  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::ad78:663f:1f02:22e4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:72:65:cb  txqueuelen 1000  (Ethernet)
        RX packets 14117  bytes 10290025 (9.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6337  bytes 767788 (749.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.144.143  netmask 255.255.255.0  broadcast 192.168.144.255  //成功获取IP地址
        inet6 fe80::d65e:47b1:916d:de6c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:72:65:d5  txqueuelen 1000  (Ethernet)
        RX packets 115  bytes 20495 (20.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 79  bytes 17837 (17.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
...//省略部分内容...
[[email protected] ~]# vim /etc/httpd/conf/extra/vhost.conf          //进入编辑http服务子配置文件
<VirtualHost 192.168.144.137:80>         //更改为固定IP地址
  DocumentRoot "/var/www/html/aaa/"
  ServerName www.aaa.com
  ErrorLog "logs/www.aaa.com.error_log"
  CustomLog "logs/www.aaa.com.access_log" common
  <Directory "/var/www/html">
    Require all granted
  </Directory>
</VirtualHost>

<VirtualHost 192.168.144.143:80>           //复制上面配置条,更改IP地址
  DocumentRoot "/var/www/html/aaa02/"      //更改站点文件
  ServerName www.naaa.com                  //更改域名
  ErrorLog "logs/www.aaa02.com.error_log"  //更改错误日志文件名
  CustomLog "logs/www.aaa02.com.access_log" common   //更改日志文件名
  <Directory "/var/www/html">
    Require all granted
  </Directory>
</VirtualHost>
:wq                                       //保存退出
[[email protected] ~]# vim /etc/named.rfc1912.zones   //编辑DNS区域配置文件
...//省略部分内容...
zone "aaa.com" IN {
        type master;
        file "aaa.com.zone";
        allow-update { none; };
};

zone "naaa.com" IN {
        type master;             //添加新的区域配置文件
        file "naaa.com.zone";
        allow-update { none; };
};
...//省略部分内容...
:wq                               //保存退出
[[email protected] ~]# cd /var/named/     //进入区域数据文件存放目录
[[email protected] named]# cp -p aaa.com.zone naaa.com.zone     //复制区域数据文件
[[email protected] named]# vim naaa.com.zone         //进入编辑新的区域数据文件
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.144.143                //更改IP地址
~
:wq                            //保存退出
[[email protected] named]# cd /var/www/html/     //进入http服务站点
[[email protected] html]# mkdir aaa02     //创建新的站点目录
[[email protected] html]# cd aaa02/       //进入目录
[[email protected] aaa02]# vim index.html      //编辑默认主页文件
<h1>this is 143 aaa02 web</h1>            //编辑网页内容
:wq                                    //保存退出
[[email protected] aaa02]# vim /etc/httpd/conf/httpd.conf   //编辑http服务主配置文件
...//省略部分内容...
# prevent Apache from glomming onto all bound IP addresses.
#
Listen 192.168.144.137:80
Listen 192.168.144.143:80                       //编辑监听新的IP地址
#Listen 80
...//省略部分内容...
:wq                                          //保存退出
[[email protected] aaa02]# systemctl restart httpd           //重启http服务
[[email protected] aaa02]# systemctl restart named           //重启DNS服务

在win10客户机中验证基于IP地址建立的虚拟主机

配置成功

原文地址:https://blog.51cto.com/14473285/2446637

时间: 2024-08-30 00:36:43

CentOS 7中构建虚拟主机(实验篇)的相关文章

构建虚拟主机之基于域名

什么是虚拟web主机?在同一台服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机.httpd支持的虚拟主机类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 构建基于域名的虚拟主机一.构建DNS服务器1.安装bind.hettpd包2.修改配置文件3.测试DNS是否能进行域名解析客户机上一定要修改配置自定义DNS服务器使用"nslookup"命令查看二.构建虚拟主机1.在/etc/httpd/conf下创建扩展配置文件 <VirtualHos

如何使用sourceCRT连接vmware中的虚拟主机?

如何使用sourceCRT连接vmware中的虚拟主机? 在进入主题之前,我们要先了解一些概念. 一些你应该知道的简单的概念 内网地址 我们首先要了解一下所谓的内网地址,以下面三种形式开头的被称为内网地址: 10.x.x.x 172.16.x.x到172.31.x.x 192.168.x.x 所以的内网地址就是说这些地址只在局域网内使用,在公网上,你是不能够使用这些地址的.当然还有一个127.0.0.1是本机的回路地址,这个地址只能你本机使用,使用这个地址发送数据,数据只会在你的本机转而不会跑到

server2016下搭建web服务器&amp;三种虚拟主机实验文档

安装web服务器 首先打开server2016的服务器管理器,点击添加角色和功能如图所示: 开始之前默认下一步如图所示: 安装类型默认下一步选择基于角色或基于功能的安装如图所示: 服务器选择默认下一步如图所示: 服务器角色选择web服务器(IIS)如图所示: 功能选项一般默认即可哦如图所示: 确认下无误后点击安装如图所示: 安装完成点击关闭如图所示: 以上web服务器安装完成我们在Windows管理工具里打开如图所示: 点击打开后点到网站会有一个站点在这里我们可以进行操作更改,点击这里的web网

基于域名构建虚拟主机

构建虚拟主机 虚拟Web主机: 1.在同一-台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机 httpd支持的虚拟主机类型: 1.基于域名的虚拟主机(企业常用)2.基于IP地址的虚拟主机3.基于端口的虚拟主机 大型公司实例项目:两台物理主机(A/B)两台主机中分别有两个虚拟站点主机A和B中都有accp网站和kgc网站网站内容完全相同,对外提供业务时,既用到了合理分配,也起到了双机热备学习一台主机架构两个网站 构建虚拟主机一 基于域名 应用示例: 1.构建2个虚拟Web

linux构建虚拟主机

概念 虚拟web主机 在同一台物理服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机. httpd支持的三种虚拟主机类型 基于域名的虚拟主机基于IP地址的虚拟主机基于端口的虚拟主机 基于域名构建虚拟主机 安装dns和http服务 更改dns配置文件 在测试机上添加dns服务器地址192.168.149.129 开启服务,关闭防火墙,测试是否能解析成功 在httpd服务的配置文件中添加一个子配置文件目录extra,并在目录内添加虚拟主机配置文件 创建站点 将主配置文件申明子配置

在Apache中开启虚拟主机

最近在自学LAMP,在Apache中尝试着开启虚拟主机的时候,遇到了挺多麻烦的,这里也顺便总结一下,在Apache中开启虚拟主机的时候,主要有下面几个步骤: 1.新建一个文件夹作为虚拟主机,用来存储网站资源例如我是在Apache目录下新建了一个 htdocs_v 文件夹,里头新建了一个php文件,内容如下: <?php echo 'this is the first virtual host'; ?> 2.在配置文件中开启虚拟主机:打开Apache/conf/httpd.conf文件,修改如下

php中配置虚拟主机

在httpd.conf 文件中启用 httpd-vhosts.conf就是把#注销掉# Virtual hosts ,虚拟主机Include conf/extra/httpd-vhosts.conf 假设我们的虚拟主机在 f:/myweb 盘 [该站点,事先有]设置http-vhosts.conf文件#配置我们自己的虚拟主机<VirtualHost127.0.0.1:80> DocumentRoot "d:/myblog" #这里配置欢迎首页面 DirectoryIndex

Apache22中配置虚拟主机(Apache VirtualHost)

Apache VirtualHost的作用就是可以让一个apache为多个域名服务,相当于一个服务器挂了N多个网站,举个例子: 我的apache服务器,ip为x.x.x.x,我有两个域名www.tootoogo.org和lp.tootoogo.org,设置这两个域名都指向x.x.x.x,在apache服务器上设置virtual host后,apache服务器可以实现同时为这两个域名服务,使得这两个域名分别指向不同的网页,于是我的一个服务器上就同时有了两个网站. Apache VirtualHos

Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9315560/1901284 0.说明 使用Nginx可以配置基于域名的虚拟主机.基于端口的虚拟主机和基于端口的虚拟主机,比较常用的是基于域名的虚拟主机,这里要做的配置是基于域名的虚拟主机,并且是配置多个基于域名的虚拟主机. 关于Nginx配置文件的说明可以参考官方文档,同时也可以参考老男孩老师的书