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

相关推荐

  • 关于大型网站技术演进的思考(十一)–网站静态化处理—动静分离策略(3)

    原文出处: 夏天的森林   前文里我讲到了网站静态化的关键点是动静分离,动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。由此可见,网站静态化处理的核心就是动静分离和缓存两大方面,上篇我简单讲述了动静…

    Linux干货 2015-03-11
  • inode、软硬链接区分、ln命令

    inode、软硬链接区分、ln命令 一、inode inode记录的是文件的属性及文件实际放在那块数据块中的。inode包含以下数据: 1. 该文件的可被访问的权限(read/write/excute) 2. 该文件的属主、属组(owner、group) 3. 该文件的大小 4. 该文件创建或者状态改变的时间(Ctim…

    Linux干货 2016-08-02
  • 马哥教育网络班21期第6周课程练习

    一、vim编辑器的使用 二、练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@www ~]# cp /etc/rc.d/rc.sysinit /tmp [root@www ~]# l…

    Linux干货 2016-08-15
  • Shell脚本中循环浅析

    在shell脚本中,循环是很重要的一环。循环可以不断的执行某个程序段落,直到用户设置的条件达成为止。在shell中,除了这种依据判断时达成与否的不定循环之外,还有另外一种已经固定要跑多少次的循环,可称之为固定循环。下面,我们主要对for,while,until三种循环做一下介绍。   一、for循环 For循环是给定变量列表的固定次数循环,其执行机…

    Linux干货 2016-08-21
  • Linux运维之路-Linux基础学习三

    先学会用户组和文件的属性,才知道怎么去管理

    Linux干货 2017-11-26
  • linux用户管理

    linux用户:       linux用户大体分为两种:一是:管理员用户;二是普通用户,普通用户又可以分为系统用户和登录用户。因为linux是一个多用户多任务的系统,所以每一个要使用系统资源的用户,都要向管理员申请一个账号,使用这个账号登录到系统。每个用户都拥有一个自己的名字和密码,以登录到用户。 每个用户都有唯一的用户标识(…

    Linux干货 2016-08-04