httpd2.4 应用

练习:  (1)基于主机名实现三个虚拟主机

    (2) 每虚拟主机使用独立的访问日志和错误日志

(3) 第三个虚拟主机的/admin要进行用户访问认证 

(4) 在第二个虚拟主机上提供/status;

(5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径;

(6) 尝试使用混合类型的虚拟主机:

  基于IP,PORT和ServerName

练习2: 使用脚本实现以上功能;

每虚拟使用单独的配置文件;

脚本可接受参数,参数虚拟主机名称;

(1)基于主机名实现三个虚拟主机

基于FQDN的虚拟主机不再需要NameVirtualHost指令,其他并没变化

注意:任意目录下的页面只有显式授权才能被访问

 1,vim /etc/httpd/conf/httpd.conf

   找到中心主机,并将其注释掉

  blob.png  

 2,创建放置3台虚拟主机的目录 

   mkdir -pv /apps/{a.com,b.net,c.org}/htdocs

 3,分别编写三台虚拟主机的首页文件,以为后面验证 

   vim /apps/a.com/htdocs/index.html

    a

   vim /apps/b.net/htdocs/index.html

    b

   vim /apps/c.org/htdocs/index.html

    c

 4,编写基于FQDN的虚拟主机的配置文件

   vim /etc/httpd/conf.d/virtualhost.conf

   blob.png

   

  5,检查语法 httpd -t

      Syntax OK

  6,重载服务 systemctl reload httpd.service 

  7,在真机的host文件添加:

   blob.png

   

   10.1.252.172 www.a.com

   10.1.252.172 www.b.net

   10.1.252.172 www.c.org

  8,在centos7中添加

    vim /etc/hosts

     10.1.252.172 www.a.com

      10.1.252.172 www.b.net

      10.1.252.172 www.c.org

  9,验证

    blob.png

    blob.png

    blob.png

    blob.png

    

(2) 每虚拟主机使用独立的访问日志和错误日志

    编辑自定义的虚拟主机配置文件

    vim /etc/httpd/conf.d/virtualhost.conf

    以下以a为例,在原基础上添加两行。b,c方法同样,记得把b,c的路径变换

   blob.png

     检查语法 httpd -t

     重启服务 systemctl restart httpd.service    blob.png

   

(3) 第三个虚拟主机的/admin要进行用户访问认证 

    将配置文件的c改为

    blob.png

    检查语法 httpd -t

     重启服务 systemctl restart httpd.service    

     blob.png

(4) 在第二个虚拟主机上提供/status;

   blob.png

     检查语法 httpd -t

     重启服务 systemctl restart httpd.service    

     blob.png

(5) 在第三个虚拟主机提供路径别名/bbs,访问其它文件系统路径;

    

(6) 尝试使用混合类型的虚拟主机:

  基于IP,PORT和ServerName

    

示例:不同ip,相同端口。相同ip,不同端口的混合使用

ifconfig eth0:0 10.1.252.171

[root@centos6 conf]# vim /etc/httpd/conf.d/vhosts.conf 

删除Listen 808

<VirtualHost 10.1.252.168:80>

   ServerName  www.a.com

   DocumentRoot "/www/a.com/htdocs"

</VirtualHost>

<VirtualHost 10.1.252.171:80>

   ServerName  www.b.net

   DocumentRoot "/www/b.net/htdocs"

</VirtualHost>

<VirtualHost 10.1.252.168:8080>

   ServerName  www.c.org

   DocumentRoot "/www/c.org/htdocs"

</VirtualHost>

检查语法:httpd -t

重启服务:service httpd restart

查看3个端口是否都在监听:ss -tnl

网站:10.1.125.168      10.1.252.171     10.1.252.168:8080

   

原创文章,作者:wutianyou,如若转载,请注明出处:http://www.178linux.com/49713

(0)
wutianyouwutianyou
上一篇 2016-10-09 09:02
下一篇 2016-10-09 09:02

相关推荐

  • 8月3日作业

    1、三种权限rwx对文件和目录的不同意义     文件:         r:可读         w:可修改内容,不可删除   &nbsp…

    Linux干货 2016-08-05
  • 位置变量;if;for循环

    向脚本传递参数就是用位置参数变量实现 传递给命令的参数称为位置参数  ls  /etc/var Myscript.sh  argu1 argu2 ….${10}  ${11}…   引用方式 :$1就是引用整个脚本位置参数的第一个,第一个会自动保存在$1中  &nb…

    Linux干货 2016-08-15
  • HA专题: 使用pacemaker+corosync实现MySQL高可用

    HA专题: 使用pacemaker+corosync实现MySQL高可用 前言 实验拓扑 实验环境 实验步骤 准备工作 安装HA组件并配置 配置NFS 配置MySQL 配置HA资源 测试 总结 前言 上篇文章我们介绍了使用pacemkaer+corosync实现简单的nginx高可用, 这篇文章我们介绍如何使用pacemaker+corosync实现MySQ…

    Linux干货 2016-04-11
  • 网络配置详解(一)

    Linux网络属性配置      ifcfg命令家族:ifconfig, route, netstat      ifconfig命令:      ifconfig [INTERFACE]      # ifconfig -a 显示所有接口…

    Linux干货 2017-01-02
  • linux系统启动流程

    linux系统启动流程 CentOS(5、6)系统启动流程 具体流程: 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备; 读取并执行第一个启动设备内MBR的boot Loader 依据boot Loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序 硬件驱动成功后,Kernel会主动调用init进程,而init会…

    Linux干货 2016-09-11