二章——Web网站服务(二)2.2(应用——linux高级管理)

本文详细介绍了如何在Linux系统中构建虚拟Web主机,包括基于域名、IP地址和端口的三种类型。通过具体案例展示了配置DNS、创建网页文档、添加虚拟主机支持等步骤,帮助读者掌握虚拟Web主机的搭建技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三期总目录链接

目录

一、构建虚拟Web主机

案例1: 构建www.a1.com 和www.a1.com 这种基于域名的虚拟主机

案例2:构建基于地址的虚拟主机 (192.168.1.2 和 192.168.1.12)

案例3: 添加基于端口的虚拟主机  (基于端口80 和端口8080 的虚拟主机)

复习作业


一、构建虚拟Web主机

定义: 在同一台服务器上运行多个Web站点,每个站点不独立占用整个服务器

优点:充分利用服务器硬件资源,降低网站构建及运行成本

三种类型的主机:

1、基于域名的虚拟主机  (网站使用不同的域名,相同的IP地址,需要DNS 服务器支持,最广泛、最普遍的虚拟主机)

2、基于IP地址    (使用不同的域名对应不同的IP,需要服务器配备多个网卡接口,应用不广泛)

3、基于端口的    (不使用域名,使用相同的IP地址不同的TCP端口号,用户访问时必须指定网站的端口号)

案例1: 构建www.a1.com 和www.a1.com 这种基于域名的虚拟主机

步骤:1、搭建DNS 服务,能够解析 www.a2.com 和 www.a2.com   (这两个域名所解析出来的地址是一样的,并且都是该网站服务器的地址)

添加两个域名a1.com和a2.com  保存退出

在 /var/named   cp  named.localhost   a1   复制文件

如果后期启动不成功可以试的把这个a1.com后面的点删除  同a2

解析成功

      2、为两个网站准备网页文档

 mkdir /usr/local/httpd/htdocs/a1   (创建baidu 的网站根目录)

 mkdir /usr/local/httpd/htdocs/a2     (创建sina 的网站根目录)

echo "<h1>Welcome To baidu8888</h1>" > /usr/local/httpd/htdocs/a1/index.html   (创建a1 的页面)

echo "<h1>Welcome To sina6666</h1>" > /usr/local/httpd/htdocs/a2/index.html   (创建a2 的页面)

查看是否写入

     3、添加虚拟主机支持

1)、在主配置文件中要添加虚拟主机支持

vim /usr/local/httpd/conf/httpd.conf  

找到:

# Virtual hosts

Include conf/extra/httpd-vhosts.conf  (将Include 前默认存在的“#” 去掉,表示加载独立的配置文件)

保存退出

2)、修改独立的配置文件

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

修改: <VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com        (网站管理员邮箱名称,实验环境可以随便改)

    DocumentRoot "/usr/local/httpd/htdocs/a1"         (第一个网站的根目录,前面的创建的是什么,这里就写什么)

    ServerName www.a1.com                              (网站的域名)

    ServerAlias www.dummy-host.example.com                 (网站别名,可省略)

    ErrorLog "logs/www.a1.com-error_log"                 (错误日志的名字)

    CustomLog "logs/www.a1.com-access_log" common          (成功日志的名字)

<Directory "/usr/local/httpd/htdocs">

  Require   all granted                                        (授权所有用户都能访问网站)

</Directory>

</VirtualHost>

(以上是第一个网站的配置)

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host2.example.com                 (第二个网站的管理员邮箱)

    DocumentRoot "/usr/local/httpd/htdocs/sina"                    (第二个网站的根目录)

    ServerName www.sina.com                                         (网站的域名)

    ErrorLog "logs/www.sina.com-error_log"                           (错误日志名字)

    CustomLog "logs/www.baidu.com-access_log" common                  (成功日志名字)

<Directory "/usr/local/httpd/htdocs">

  Require   all granted                                               (目录的授权配置)

</Directory>

</VirtualHost>

保存退出

重启httpd 服务

验证访问(用不同域名访问)

案例2:构建基于地址的虚拟主机 (192.168.1.2 和 192.168.1.12)

1、给网卡添加地址 192.168.1.12

vim /etc/sysconfig/network-scripts/ifcfg-ens33     (打开网卡配置文件)

添加:

IPADDR2=192.168.100.188

PREFIX=24

保存退出

重启网卡服务 : systemctl restart network

2、编译安装好 Apache  服务  (略)

3、准备两个网站的根目录和网页

mkdir /usr/local/httpd/htdocs/a1   (创建baidu 的网站根目录)

 mkdir /usr/local/httpd/htdocs/a2     (创建sina 的网站根目录)

echo "<h1>Welcome To a18888</h1>" > /usr/local/httpd/htdocs/a2/index.html   (创建a1 的页面)

echo "<h1>Welcome To a26666</h1>" > /usr/local/httpd/htdocs/a1/index.html  (创建a2的页面)

4、添加虚拟主机支持

1)、在主配置文件中要添加虚拟主机支持

vim /usr/local/httpd/conf/httpd.conf  

找到:

# Virtual hosts

Include conf/extra/httpd-vhosts.conf  (将Include 前默认存在的“#” 去掉,表示加载独立的配置文件)

添加:

Listen 192.168.100.108:80

Listen 192.168.100.188:80

保存退出

2)、修改独立的配置文件

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

<VirtualHost    192.168.1.2:80>             (第一个网站对应的IP)

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/usr/local/httpd/htdocs/a1"        (第一个网站对应的根目录)

    ServerName dummy-host.example.com

    ServerAlias www.dummy-host.example.com

    ErrorLog "logs/baidu-error_log"

    CustomLog "logs/baidu-access_log" common

</VirtualHost>

<VirtualHost     192.168.1.12:80>               (第二个网站对应的IP)

    ServerAdmin   webmaster@dummy-host2.example.com

    DocumentRoot   "/usr/local/httpd/htdocs/a2"       (第二个网站对应的目录)

    ServerName dummy-host2.example.com

    ErrorLog "logs/sina-error_log"

    CustomLog "logs/sina-access_log" common

</VirtualHost>

保存退出

如果已经有域名那就注释掉  加个#

3)、重启Apache  服务

systemctl   restart  httpd

4)、访问:   http://192.168.100.108   和  http://192.168.100.188   进行验证 (成功)

案例3: 添加基于端口的虚拟主机  (基于端口80 和端口8080 的虚拟主机)

1、安装好Apache  服务器 (略)

2、修改主配置文件添加对8080 端口的支持

vim /usr/local/httpd/conf/httpd.conf

Listen 80    (原有的)

Listen 8080  (新加的)

保存退出

3、修改独立的配置文件

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>                                                                 (80 端口对应的网站)

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/usr/local/httpd/htdocs/baidu"                  (网站根目录)

    ServerName dummy-host.example.com

    ServerAlias www.dummy-host.example.com

    ErrorLog "logs/baidu-error_log"

    CustomLog "logs/baidu-access_log" common

</VirtualHost>

<VirtualHost *:8080>                                                                       (8080 端口对应的网站)

    ServerAdmin webmaster@dummy-host2.example.com

    DocumentRoot "/usr/local/httpd/htdocs/sina"                              (网站根目录)

    ServerName dummy-host2.example.com

    ErrorLog "logs/sina-error_log"

    CustomLog "logs/sina-access_log" common

</VirtualHost>

保存退出

重启 apache  服务  

4、验证:   分别访问  http://192.168.100.108  和  http://192.168.100.108:8080   验证成功

复习作业

1. Require all denied配置语句表示什么含义?

允许所有客户机访问

2. httpd服务器支持哪两种认证方式?其区别是什么?

如果是实现摘要认证需要在编译安装时添加 “--enable-auth-digest" 选项(不是所有的浏览器都支持摘要认证)

基本认证: 是httpd 服务器的基本功能

3. 简述为网站目录设置用户授权的基本过程

1、创建用户认证数据文件

2、添加用户授权配置 (注意: 需要修改主配置文件中的特定区域)

4. httpd主配置文件中Require valid-user配置项的作用是什么?

默认所有的合法的授权账户都可访问

5. 简述httpd服务支持的三种虚拟主机类型及其特点

1、基于域名的虚拟主机  (网站使用不同的域名,相同的IP地址,需要DNS 服务器支持,最广泛、最普遍的虚拟主机)

2、基于IP地址    (使用不同的域名对应不同的IP,需要服务器配备多个网卡接口,应用不广泛)

3、基于端口的    (不使用域名,使用相同的IP地址不同的TCP端口号,用户访问时必须指定网站的端口号)

6. 在httpd服务器若要启用基于域名的虚拟Web主机,通常需要配置哪几个方面的内容?

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

修改<VirtualHost *:80>

    DocumentRoot "/usr/local/httpd/htdocs/baidu"         (第一个网站的根目录,前面的创建的是什么,这里就写什么)

    ServerName www.baidu.com                              (网站的域名)

    ErrorLog "logs/www.baidu.com-error_log"                 (错误日志的名字)

    CustomLog "logs/www.baidu.com-access_log" common          (成功日志的名字)

<Directory "/usr/local/httpd/htdocs">

  Require   all granted                                        (授权所有用户都能访问网站)

</Directory>

</VirtualHost>

7. httpd主配置文件中Include配置项的作用是什么?

尽可能减少对主配置文件的修改,使配置过程更加模块化

8. 简述为构建基于域名的虚拟Web主机的基本过程

1、为虚拟主机提供域名解析dns

2、为虚拟主机准备网页文档

3、添加虚拟主机配置

4、在客户机访问虚拟Web主机

9. 配置基于IP地址的虚拟Web主机时,在每个虚拟Web主机的什么配置项中指定各自域名所对应的IP地址?

vim /usr/local/httpd/conf/httpd.conf

添加:

Listen 192.168.100.108:80

Listen 192.168.100.188:80

10. 配置基于端口的虚拟Web主机时,通过什么配置项来指定多个要监听的TCP端口号?

vim /usr/local/httpd/conf/httpd.conf

Listen 80    (原有的)

Listen 8080  (新加的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘浪初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值