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

相关推荐

  • shell脚本编程之循环语句

      在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。 一、for命令   格式:for 变量 in 列表;do          循环体       done   for命令会遍历列表中的每一个值,并且在遍历完成…

    Linux干货 2016-01-03
  • linux启动流程+任务计划

    20160907 一、作业 1、每周2, 4, 7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd” 2、每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中 二、博客 1、centos5,6启动流程 开机——POST…

    Linux干货 2016-09-08
  • Linux Bash Shell练习

    Linux Bash Shell练习 1、写一个脚本,完成以下功能: 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串 显示所有以S开头的文件的文件名,并且给其附加一个start字符串 分别统计S开头和K开头的文件各有多少 #!/bin/bash # for&…

    Linux干货 2016-12-17
  • 8.5文本处理工具

    取本机ip地址 利用head命令取行首两行,tail命令取行尾一行, ifconfig |head -2 |tail -1   利用tr -s命令替换空格为“:”,并合并重复的“:”。利用cut -d:-f3命令,保留以“:”为分割符的第三部分   ifconfig |head -2 |tail -1 |tr -s "…

    Linux干货 2016-08-08
  • date 命令练习

    一、课外资料补充: 1.命令格式: date[参数]…[+格式] 2.命令功能: date可以用来显示或设定系统的日期与时间。 3.命令参数: 必要参数: %H小时(以00-23来表示)。 %I小时(以01-12来表示)。 %K小时(以0-23来表示)。 %l小时(以0-12来表示)。 %M分钟(以00-59来表示)。 %P AM或PM…

    Linux干货 2016-08-05
  • N26-博客作业-week15

    1、总结sed和awk的详细用法 sed: 语法结构 sed [OPTION]…’script’ [input-file]…[action] -r:支持扩展正则表达式 -n:不输出模式空间中的内容至屏幕 -e script1 -e script2 -e script3:指定多脚本运行 -f /path/to/script_file:从指定的文件中读取…

    Linux干货 2017-07-14