构建虚拟主机——基于域名,端口,IP

虚拟web主机

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

httpd支持的虚拟主机类型

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

案例一——基于域名

  • 构建2个虚拟web站点

    www.accp.com  ip地址为本机地址
    www.kgc.com    ip地址为本机地址
  • 在浏览器中访问这两个域名时,分别显示不同的内容

    实验环境

    一台Linux主机做服务器
    一台win7主机做测试

1,安装http和dns服务

    [[email protected] ~]# yum install httpd bind -y  //安装http,dns服务

2,配置dns主配置文件

    [[email protected] ~]# vim /etc/named.conf   ##主配置文件

    options {
                    listen-on port 53 { 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; };      ##允许所有

3,配置区域配置文件(etc/named.rfc1912.zones)

[[email protected] ~]# vim /etc/named.rfc1912.zones  ##配置区域配置文件
zone "localhost" IN {             ##复制两个模板到下面
                type master;
                file "named.localhost";
                allow-update { none; };
};

zone "accp.com" IN {            ##修改localhost为accp.com
                type master;
                file "accp.com.zone";    ##创建区域数据配置文件
                allow-update { none; };
};

zone "kgc.com" IN {              ##修改localhost为kgc.com
                type master;
                file "kgc.com.zone";      ##创建区域数据配置文件
                allow-update { none; };
};

4,编辑区域数据配置文件(accp.com.zone kgc.com.zone)

[[email protected] ~]# cd /var/named/     ##切换到/var/named目录下
[[email protected] named]# cp -p named.localhost accp.com.zone
##复制模板为accp.com.zone
[[email protected] named]# vim accp.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.13.133   ##删除ipv6 添加域名解析地址为本机
[[email protected] named]# cp -p accp.com.zone  kgc.com.zone
##编辑kgc的区域数据配置文件,内容不需要更改

5,关闭防火墙并开启服务

[[email protected] named]# systemctl start named   ##开启dns服务
[[email protected] named]# systemctl stop firewalld.service    ##关闭防火墙
[[email protected] named]# setenforce 0   ##关闭增强功能

6,进入win7测试主机中,修改DNS解析服务器,查看是否可以解析


7,在Linux中创建一个http扩展配置文件

[[email protected] named]# cd /etc/httpd/conf   ##切换到http配置目录中
[[email protected] named]# mkdir extra     ##创建扩展配置文件目录
[[email protected] named]# cd extra
[[email protected] named]# vim vhost.conf   ##编辑扩展配置文件

    <VirtualHost *:80>     ##标签 *所有ip 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                           ##允许所有人可以访问
    </Directory>
</VirtualHost>
##上面的logs是软连接/var/log/httpd     ##下面的只要修改accp为kgc即可
    <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>

8,到网页站点中,创建accp和kgc的网页主页内容文件

[[email protected] extra]# cd /var/www/html/   ##切换到网页站点中
[[email protected] html]# mkdir accp kgc        ##创建两个网站的站点目录
[[email protected] html]# cd accp/
[[email protected] accp]# vim index.html        ##编辑accp网页内容
<h1>this is a accp web</h1>

[[email protected] html]# cd kgc/
[[email protected] accp]# vim index.html        ##编辑kgc网页内容
<h1>this is a kgc web</h1>

9,将http扩展配置文件加载到主配置文件中,并开启http服务

[[email protected] www]# cd /etc/httpd/conf    ##切换到http的配置文件目录
[[email protected] conf]# vim httpd.conf     ##编辑主配置文件
Include conf/extra/vhost.conf                  ##在末行加入扩展配置文件目录
[[email protected] conf]# systemctl start httpd     ##启动http服务

10,使用域名进行页面访问


案例二——基于端口

1,配置扩展配置文件内容

[[email protected] extra]# vim 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>        ##端口号改成8080
        Documentroot "/var/www/html/kgc02/"       ##目录更改为02
        ServerName www.kgc.com
        Errorlog "logs/www.kgc02.com.error_log"           ##日志文件更改为02
        Customlog "logs/www.kgc02.com.access_log" common
        <Directory "/var/www/html/">
            Require all granted
        </Directory>
    </VirtualHost>

2,编辑网站目录和网站内容

[[email protected] extra]# cd /var/www/html/
[[email protected] html]# mkdir kgc02
[[email protected] html]# vim index.html     ##编辑kgc02网页的内容
<h1>this is a kgc02 web</h1>

3,配置http主配置文件,修改监听端口,并重启网络服务

[[email protected] html]# vim /etc/httpd/conf/httpd.conf     ##修改配置文件
Listen 192.168.13.133:80               ##修改ipv4监听端口
Listen 192.168.13.133:8080
#Listen 80      ##将ipv6端口注释
[[email protected] html]# systemctl restart httpd.service  ##重启网络服务
[[email protected] html]# netstat -ntap   ##查看监听端口开启状态
tcp        0      0 192.168.13.133:8080     0.0.0.0:*               LISTEN      4093/httpd
tcp        0      0 192.168.13.133:80       0.0.0.0:*               LISTEN      4093/httpd   

4,测试网页


案例三——基于IP

在Linux上添加一块网卡做不同IP

1,配置扩展配置文件内容

[[email protected] extra]# vim vhost.conf
     <VirtualHost 192.168.13.133:80>        ##修改ip地址
         Documentroot "/var/www/html/accp/"     ##域名此处没有用处删除
         Errorlog "logs/www.accp.com.error_log"
         Customlog "logs/www.accp.com.access_log" common
         <Directory "/var/www/html/">
             Require all granted
         </Directory>
     </VirtualHost>

    <VirtualHost 192.168.13.132:80>      ##修改ip地址
        Documentroot "/var/www/html/accp02/"  ##修改目录accp02和日志
        Errorlog "logs/www.accp02.com.error_log"
        Customlog "logs/www.accp02.com.access_log" common
        <Directory "/var/www/html/">
            Require all granted
        </Directory>
    </VirtualHost>

2,编辑网站目录和网站内容

[[email protected] extra]# cd /var/www/html/
[[email protected] html]# mkdir accp02   ##创建132ip地址的目录站点内容
[[email protected] html]# cd accp02/
[[email protected] accp02]# echo "<h1>this is 132 web</h1>" > index.html
[[email protected] accp02]# cd ../
[[email protected] html]# cd accp     ##修改133ip地址网页内容
[[email protected] accp]# vim index.html
<h1>this is 133 web</h1>

3,配置http主配置文件,修改监听端口,并重启网络服务

[[email protected] html]# vim /etc/httpd/conf/httpd.conf     ##修改配置文件
Listen 192.168.13.133:80    ##添加两个ip的端口监听
Listen 192.168.13.132:80
#Listen 192.168.13.133:8080   ##注释8080端口的
#Listen 80                    ##将ipv6端口注释
[[email protected] conf]# systemctl restart httpd.service  ##重启网络服务

4,测试网页


扩展:不同ip不同域名访问

1,配置扩展配置文件内容

[[email protected] extra]# vim vhost.conf
    <VirtualHost 192.168.13.133: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
    </Directory>
</VirtualHost>

<VirtualHost 192.168.13.132:80>
    Documentroot "/var/www/html/accp02/"
    ServerName www.naccp.com    ##添加另一个域名
    Errorlog "logs/www.accp02.com.error_log"
    Customlog "logs/www.accp02.com.access_log" common
    <Directory "/var/www/html/">
        Require all granted
    </Directory>
</VirtualHost>

2,在dns区域配置文件中添加新的域名解析

[[email protected] /]# vim /etc/named.rfc1912.zones
zone "accp.com" IN {
    type master;
    file "accp.com.zone";
    allow-update { none; };
};

zone "naccp.com" IN {
                type master;
                file "naccp.com.zone";
                allow-update { none; };
};

3,配置区域数据配置文件

[[email protected] named]# cd /var/named/
[[email protected] named]# cp -p accp.com.zone naccp.com.zone ##复制
[root[email protected] named]# vim naccp.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.13.132   ##此处的naccp要修改132ip地址

4,重启dns和http服务,并测试

[[email protected] named]# systemctl restart named  ##重启DNS
[[email protected] named]# systemctl restart httpd.service  ##重启网络


谢谢阅读!!!

原文地址:https://blog.51cto.com/14080162/2444685

时间: 2024-07-29 21:35:52

构建虚拟主机——基于域名,端口,IP的相关文章

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

虚拟Web主机 1.在同一台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机2.httpd支持的虚拟主机类型●基于域名的虚拟主机(常用.企业用)●基于IP地址的虚拟主机(一台主机上至少2个IP,不实用)●基于端口的虚拟主机 三种类型 : 不同IP.不同的端口.不同的域名 实验配置 开启一台Linux.一台win7主机1.设置dns主配置文件2.设置dns区域配置文件3.设置dns区域数据配置文件(1)给kgc.com.zone配置数据内容(2)给kgc02.com.zo

Nginx虚拟主机 (基于域名 基于端口 基于ip)

Nginx虚拟主机 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 一,安装DNS域名解析服务器 1,安装bind服务器 [[email protected] ~]# yum install bind -y 2,修改主配置文件(named.conf) [[email protected] ~]# vim /etc/named.conf options { listen-on port 53 { any; }; ##监听所有 listen-on-v6 port 53 { ::1;

企业常用Centos 7.4 --虚拟主机基于域名,端口,IP,Apache访问控制

构建虚拟主机 一共支持三种虚拟主机类型企业常用的是第一种基于域名的虚拟主机基于IP地址的虚拟主机,一台物理主机上需要两个网卡基于端口的虚拟主机 构建虚拟主机之基于域名 环境需求:一台linux作为DNS和web服务器,一台WIN10客户端作为测试 在我们的Linux先装两个 软件包 [[email protected] ~]# yum install bind httpd -y 已安装: bind.x86_64 32:9.11.4-9.P2.el7 httpd.x86_64 0:2.4.6-90

nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机

在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多个虚拟主机只需要添加server即可例如 server{ listen 80; server_name www.lqinghua.com   //基于域名的虚拟主机 location / { root def; index index.html; } } server{ listen 8080;  

搭建nginx虚拟主机——基于域名、端口和IP

Nginx支持的虚拟主机有三种 1.基于域名的虚拟主机2.基于IP的虚拟主机3.基于端口的虚拟主机且每一种虚拟主机均可通过"server{}" 配置段实现各自的功能 一.基于域名搭建 1.编译安装Nginx服务2.远程获取Windows上的源码包,并挂载到Linux上 [[email protected] ~]# smbclient -L //192.168.235.1 Enter SAMBA\root's password: Sharename Type Comment ------

Nginx配置——虚拟主机基于IP,域名,端口(实战!)

Nginx虚拟主机 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 一,安装DNS域名解析服务器 1,安装bind服务器 [[email protected] ~]# yum install bind -y 2,修改主配置文件(named.conf) [[email protected] ~]# vim /etc/named.conf options { listen-on port 53 { any; }; ##监听所有 listen-on-v6 port 53 { ::1;

linux构建虚拟主机

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

基于域名构建虚拟主机

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

构建虚拟主机之基于域名

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