• 关于HTTPD的主机类型

    • 中心主机:
    • 虚拟主机:服务器的IP地址,端口等信息都是有限的,如果为每一个HTTPD服务提供独立的公网IP,很浪费资源;
      • 基于IP的虚拟主机:
      • 基于端口的虚拟主机:
      • 基于域名的虚拟主机:准确的表示是主机名称不同,但是IP地址是相同的,为了提供不同的内容,这是通过HTTP协议的头部信息关于hostvalue来进行区别的;
  • 对于HTTPD2.2来说必须使用指令NameVirtualHost来启用虚拟主机;
  • 独立的虚拟主机需要包含的资源:
    • DocumentRoot:
    • IP/Port/Hostname:
    • ServerName:
    • <Directory>独立的访问权限控制,各个目录不同应该独立的封装每一个目录;
    • Alias:路径别名;
    • ServerAlias:主机别名;
    • Error logs:日志定义;
    • Location:对于RUL的具体访问方式属性;
    • ScriptAlias表示用于执行CGI脚本的别名;
  • 虚拟主机的定义同样时使用容器来进行定义的,使用虚拟主机必须首先取消中心主机,注释中心主机的DocumentRoot就可以;
<virtualHost Host><VirtualHost>
  • host的语法说明:

    • 基于IP:IP+端口,IP1:80,IP2:80
    • 基于端口:IP:80,IP:8080;
    • 基于主机名称:*:80;
  • 首先实现基于IP地址的虚拟主机

  • 首先需要注释DocumentRoot
# vim /etc/httpd/conf/httpd.conf
292 # DocumentRoot "/var/www/html"
  • 添加虚拟主机的配置
# cd /etc/httpd/conf/
# vim ../conf.d/virtual.conf
添加:
<VirtualHost 172.25.23.2:80>ServerName bbs.linux.comDocumentRoot "/www/bbs/"
</VirtualHost><VirtualHost 172.25.23.3:80>ServerName mail.linux.comDocumentRoot "/www/mail/"
</VirtualHost>
  • 然后按照上面的配置创建对应的目录和文件
#  mkdir -pv /www/bbs/
添加:
<h2>bbs.virtaul.com</h2>
#  mkdir -pv /www/mail/
添加:
<h2>mail.virtual.ip.com</h2>
# ip addr add 172.25.23.2/24 dev eth0
# /etc/init.d/httpd restart
  • 还需要更改本地的解析,用于提供对于上面不同Serverame的解析
[root@my Desktop]#  vim /etc/hosts  //浏览器所在的主机
172.25.23.2 server2.com server2 bbs.linux.com
172.25.23.3 server3.com server3 mail.linux.com  
  • 基于IP的虚拟主机,应该是不用更改解析的,因为只要通过IP可以直接进行访问就可以了,更改是为了方便使用域名来进行访问,所以添加解析在这里是没有必要的;
  • 接下来通过主机名称访问上面的虚拟IP主机

  • 配置基于Port的虚拟主机
  • virtual.conf里面添加
添加或者更改:
<VirtualHost 172.25.23.2:80>ServerName bbs.linux.comDocumentRoot "/www/bbs/"
</VirtualHost><VirtualHost 172.25.23.2:8080>ServerName news.linux.comDocumentRoot "/www/news/"
</VirtualHost>
  • 配置文件中这两项就是基于Port的虚拟主机
  • 接下来还需要更改配置监听端口8080
[root@server3 conf.d]# vim ../conf/httpd.conf
Listen 8080
  • 然后同样需要重新启动服务,或者重新加载配置文件reload服务
[root@server3 conf.d]# /etc/init.d/httpd reload
Reloading httpd: 
  • 直接通过不同的端口来访问主机

  • 接下来配置基于主机名的虚拟主机
  • 首先更改配置文件如下
[root@server3 conf.d]# vim virtual.conf
需要启用指令NameVirtualHost 172.25.23.3:80
<VirtualHost 172.25.23.3:80>ServerName mail.linux.comDocumentRoot "/www/mail/"
</VirtualHost><VirtualHost 172.25.23.3:80>ServerName dns.linux.comDocumentRoot "/www/dns/"
</VirtualHost>
  • 重新加载配置文件
[root@server3 conf.d]# /etc/init.d/httpd reload
Reloading httpd: 
  • 在浏览器所在的主机上面添加解析
[root@my Desktop]# vim /etc/hosts
172.25.23.3 server3.com server3 mail.linux.com dns.linux.com                    
  • 然后通过域名来访问主机


* 对于虚拟主机的访问控制支持和中心主机的大部分控制条件

  • 补充一点知识MVC:

    • 脚本解释器执行的结果需要交给各种标记语言来进行美化,为了将这两部分内容分开,
      MVC的机制在百度百科的定义如下:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中;
这一段的解释更加容易理解:
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将MV的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保MV的同步,一旦M改变,V应该同步更新。 ——>来自于百度百科

HTTPD虚拟主机配置相关推荐

  1. 配置httpd虚拟主机

    轻松配置httpd的虚拟主机 httpd使用VirtualHost指令进行虚拟主机的定义.支持三种虚拟主机:基于ip,基于端口和基于名称.其中基于端口的虚拟主机在httpd的术语上(例如官方手册)也属 ...

  2. httpd虚拟主机三种模式配置与https配置

    httpd 文章目录 httpd 1:配置三种不同风格的虚拟主机 2:https配置 1:配置三种不同风格的虚拟主机 虚拟主机:一个网站就是一个虚拟主机 虚拟主机有三类: 相同IP不同端口 不同IP相 ...

  3. Linux下Apache虚拟主机配置

    说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /us ...

  4. apache2.2 虚拟主机配置

    一.改动httpd.conf 打开appserv的安装文件夹,找到httpd.conf文件,分别去掉以下两行文字前面的#号. #LoadModule vhost_alias_module module ...

  5. Ubuntu 16.04与Apache虚拟主机配置的步骤详解

    这篇文章主要给大家介绍了关于Ubuntu 16.04与Apache虚拟主机配置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ubuntu16.04系统具有一定的参考学习价值,需要的朋友 ...

  6. apache-详细配置文件介绍+多种方式虚拟主机配置

    grep -v "#" /etc/httpd/conf/httpd.conf ServerTokens OS    返回Server :Apache/2.0.41(unix) se ...

  7. mac中apache服务器及虚拟主机配置

    输入 sudo apachectl start,这样Apache就启动了.打开Safari浏览器地址栏输入 "http://localhost",可以看到内容为"It w ...

  8. Apache的虚拟主机配置

    虚拟主机配置一般可以分为: 基于域名 基于端口 基于IP   配置虚拟主机 检查防火墙,端口是否打开apache的配置文件. service iptables status #查看防火墙netstat ...

  9. windows下Apache虚拟主机配置

    找到host文件:C:\Windows\System32\drivers\etc\hosts 在hosts这么增加: 127.0.0.1 666.666.com 127.0.0.1 777.777.c ...

  10. 批量生成10个虚拟主机配置

    写一个脚本,批量生成10个虚拟主机配置:      /etc/httpd/conf.d/vhosts#.conf       主机名:www#       目录:/data/vhosts/www#   ...

最新文章

  1. [UWP] 用 AudioGraph 来增强 UWP 的音频处理能力——AudioFrameInputNode
  2. 开始iOS 7中自动布局教程(一)
  3. 安卓高手之路之图形系统(6)ListView继续
  4. Mysql 都会遭受哪些方面的攻击?
  5. @ 在 C# string 中的用法
  6. x210-II WinCE启动10s,还可继续优化
  7. java 冒泡排序的三种写法_冒泡排序的三种实现(Java)
  8. 【进阶】【转】项目经理常用工具
  9. eclipse 中安装activitil流程插件步骤
  10. 装饰器python的通俗理解_Python装饰器的通俗理解
  11. 【Linux 命令】- tail命令
  12. Vue学习笔记之02-Mustache语法以及一些指令
  13. Android移动应用基础教程【广播机制】
  14. 华三交换机链路聚合的几点思考
  15. Fiddler2汉化版使用说明
  16. python测验6_测验6: 组合数据类型 (第6周)
  17. 数组的应用和面向对象的开始6
  18. 验收测试,软件测试的最后阶段了
  19. Three.js 开启带动画模型的动画
  20. 前端开发实战:实现京东购物平台的静态首页

热门文章

  1. 如何使用计算机来线性拟合,Excel2019使用教程:绘制线性回归图
  2. 安徽大学本科毕业论文中英文题目修改指南
  3. 图文解析大二层网络及VxLAN技术
  4. 一种由视频和音频共同驱动的说话人脸合成方法简介
  5. Oracle数据库中文排序问题记录
  6. 在商业化道路上,小冰还要再多走几步
  7. 多渠道归因分析(Attribution):python实现Shapley Value(四)
  8. 全球与中国接线端子连接器市场现状及未来发展趋势
  9. 程序员灯谜,你能猜出几个?
  10. 软件质量属性:可用性