HTTPD虚拟主机配置
- 关于
HTTPD
的主机类型- 中心主机:
- 虚拟主机:服务器的
IP
地址,端口等信息都是有限的,如果为每一个HTTPD
服务提供独立的公网IP
,很浪费资源;- 基于
IP
的虚拟主机: - 基于端口的虚拟主机:
- 基于域名的虚拟主机:准确的表示是主机名称不同,但是
IP
地址是相同的,为了提供不同的内容,这是通过HTTP
协议的头部信息关于host
的value
来进行区别的;
- 基于
- 对于
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
的目的是将M
和V
的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C
存在的目的则是确保M
和V
的同步,一旦M
改变,V
应该同步更新。 ——>来自于百度百科
HTTPD虚拟主机配置相关推荐
- 配置httpd虚拟主机
轻松配置httpd的虚拟主机 httpd使用VirtualHost指令进行虚拟主机的定义.支持三种虚拟主机:基于ip,基于端口和基于名称.其中基于端口的虚拟主机在httpd的术语上(例如官方手册)也属 ...
- httpd虚拟主机三种模式配置与https配置
httpd 文章目录 httpd 1:配置三种不同风格的虚拟主机 2:https配置 1:配置三种不同风格的虚拟主机 虚拟主机:一个网站就是一个虚拟主机 虚拟主机有三类: 相同IP不同端口 不同IP相 ...
- Linux下Apache虚拟主机配置
说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /us ...
- apache2.2 虚拟主机配置
一.改动httpd.conf 打开appserv的安装文件夹,找到httpd.conf文件,分别去掉以下两行文字前面的#号. #LoadModule vhost_alias_module module ...
- Ubuntu 16.04与Apache虚拟主机配置的步骤详解
这篇文章主要给大家介绍了关于Ubuntu 16.04与Apache虚拟主机配置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ubuntu16.04系统具有一定的参考学习价值,需要的朋友 ...
- apache-详细配置文件介绍+多种方式虚拟主机配置
grep -v "#" /etc/httpd/conf/httpd.conf ServerTokens OS 返回Server :Apache/2.0.41(unix) se ...
- mac中apache服务器及虚拟主机配置
输入 sudo apachectl start,这样Apache就启动了.打开Safari浏览器地址栏输入 "http://localhost",可以看到内容为"It w ...
- Apache的虚拟主机配置
虚拟主机配置一般可以分为: 基于域名 基于端口 基于IP 配置虚拟主机 检查防火墙,端口是否打开apache的配置文件. service iptables status #查看防火墙netstat ...
- 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个虚拟主机配置: /etc/httpd/conf.d/vhosts#.conf 主机名:www# 目录:/data/vhosts/www# ...
最新文章
- [UWP] 用 AudioGraph 来增强 UWP 的音频处理能力——AudioFrameInputNode
- 开始iOS 7中自动布局教程(一)
- 安卓高手之路之图形系统(6)ListView继续
- Mysql 都会遭受哪些方面的攻击?
- @ 在 C# string 中的用法
- x210-II WinCE启动10s,还可继续优化
- java 冒泡排序的三种写法_冒泡排序的三种实现(Java)
- 【进阶】【转】项目经理常用工具
- eclipse 中安装activitil流程插件步骤
- 装饰器python的通俗理解_Python装饰器的通俗理解
- 【Linux 命令】- tail命令
- Vue学习笔记之02-Mustache语法以及一些指令
- Android移动应用基础教程【广播机制】
- 华三交换机链路聚合的几点思考
- Fiddler2汉化版使用说明
- python测验6_测验6: 组合数据类型 (第6周)
- 数组的应用和面向对象的开始6
- 验收测试,软件测试的最后阶段了
- Three.js 开启带动画模型的动画
- 前端开发实战:实现京东购物平台的静态首页