apache2.2 虚拟主机配置

一、改动httpd.conf

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

#LoadModule vhost_alias_module modules/mod_vhost_alias.so
去掉#意思是启用apache的虚拟主机功能。 

#Include conf/extra/httpd-vhosts.conf
去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置

二、改动httpd-vhosts.conf

打开该文件,看到下面类似内容。虚拟主机的配置也是參照下面内容配置。下面对该内容进行解说

NameVirtualHost *:80<VirtualHost *:80>ServerAdmin webmaster@dummy-host.www.phpStudy.netDocumentRoot "C:/Program Files/Apache2/docs/dummy-host.www.phpStudy.net"ServerName dummy-host.www.phpStudy.netServerAlias www.dummy-host.www.phpStudy.netErrorLog "logs/dummy-host.www.phpStudy.net-error.log"CustomLog "logs/dummy-host.www.phpStudy.net-access.log" common
</VirtualHost>
NameVirtualHost *:80

注意1:NameVirtualHost 指定虚拟主机所使用的IP地址或域名,可是最好是IP地址。使用基于域名的虚拟主机时,NameVirtualHost是必要的指令。NameVirtualHost能够定义多个。 
注意2:全部符合NameVirtualHost或<VirtualHost>标签定义的请求,都会被作为虚拟主机处理,而主server将不理会。NameVirtualHost定义了而<VirtualHost>标签未定义的的请求,server会找不到对应的虚拟主机而将无法处理。所以每一个NameVirtualHost定义的參数至少要有一个<VirtualHost>相匹配。
注意3:假设设置NameVirtualHost 或<VirtualHost>为*:80的话,全部针对80port的请求,都会被虚拟主机处理,请求会依据域名指向某个虚拟主机。假设有来自80port的请求,而所请求的域名没有被配置为虚拟主机,那将指向第一个虚拟主机。这样主server将无法收到来自80port的不论什么请求。为此也要为主server配置一个虚拟主机。

ServerAdmin 管理员邮箱

DocumentRoot 站点文件夹 (注意:假设站点文件夹中的路径有空格,请在路径两端加上双引號)

ServerName 要绑定的域名(必填)

ServerAlias 要绑定的虚拟主机的别名。(可选,假设多个域名,中间以空格分隔,假设没有,则去掉该行)

支持*,?两种通配符,比方 *.abc.com,表示随意一个abc.com的二级域名都可訪问。

CustomLog 用户日志文件(可选,假设不须要,则去掉该行)

ErrorLog 错误日志(可选,假设不须要,则去掉该行)


基于IP地址的虚拟主机

<VirtualHost 172.20.30.40>DocumentRoot /www/example1ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.50 192.168.0.10:80>DocumentRoot /www/example2ServerName www.example.org
</VirtualHost>
每一个虚拟主机可定义多个IP,之间用空格隔开

各种虚拟主机的混用

Listen 80
Listen 81NameVirtualHost 172.20.30.40<VirtualHost 172.20.30.40>DocumentRoot /www/example1ServerName www.example.com
</VirtualHost><VirtualHost 172.20.30.40>DocumentRoot /www/example2ServerName www.example.org
</VirtualHost>NameVirtualHost 172.20.30.40:81<VirtualHost 172.20.30.40:81>DocumentRoot /www/example3ServerName www.example3.net
</VirtualHost># IP-based
<VirtualHost 172.20.30.50>DocumentRoot /www/example4ServerName www.example4.edu
</VirtualHost><VirtualHost 172.20.30.60:81 172.20.30.40:81>DocumentRoot /www/example5ServerName www.example5.gov
</VirtualHost>

虚拟主机混用时的问题

一、虚拟主机混用能够这样理解:一行NameVirtualHost指令定义的全部虚拟主机为一组;该组与一个基于IP的虚拟主机平级。即把一行NameVirtualHost定义的整个组看作是一个基于IP的虚拟主机。
二、虚拟主机指定的port必须是Listen定义的。假设虚拟主机没有指定port,则觉得是80port。假设NameVirtualHost * 这样定义,是指全部地址的全部已定义port。
三、更详细的地址定义优先。比方NameVirtualHost指令定义了*:80,而某个基于IP的虚拟主机定义为192.168.0.1:80,那么此时如有对192.168.0.1:80的请求,那请求会被优先指向192.168.0.1:80定义的虚拟主机。所以为了避免混乱,不要定义相互有交叉或包括的地址区间。
四、一个虚拟主机,能够同一时候为基于域名和基于IP的。如上一例中最后一个虚拟主机。这样符合两种定义的请求都会被指同一个虚拟主机。有时要差别内外网对虚拟主机的訪问时能够这样,由于来自内网的请求可能和来自外网的请求可能不一样,可是它们须要指向同一个虚拟主机。

使用"_default_"虚拟主机

这个虚拟主机能够理解成基于IP的虚拟主机

<VirtualHost _default_:*>DocumentRoot /www/default
</VirtualHost>
这个虚拟主机将接管与其他虚拟主机IP和port不匹配的请求。只是如此一来,主server将不会处理不论什么请求。因此把主server配置成一个虚拟主机是必要的。

本地机器代理在其他机器上执行的虚拟主机

<VirtualHost 158.29.33.248>ProxyPreserveHost OnProxyPass /foo/no !ProxyPass /foo http://192.168.111.2ProxyPassReverse /foo http://192.168.111.2ServerName hostname.example.com
</VirtualHost>
一、首先这是一个基于IP的虚拟主机,它接收并处理对IP地址158.29.33.248的请求。
二、ProxyPass /foo http://192.168.111.2 将把对http://158.29.33.248/foo的请求转换为一个代理请求,该请求指向http://192.168.111.2。
三、ProxyPass /foo/no ! 不代理针对/foo/no的请求。这个必须放在正常代理指令之前。
四、ProxyPreserveHost On 意思是传送原始请求的Host信息给被代理的机器。
五、ProxyPassReverse /foo http://192.168.111.2 能够保证请求URL在其他机器上被重定向后,本机处理时也能够保持一致。详细看手冊关于反向代理的部分。
六、基于域名的虚拟主机也是相同的道理。无论是什么类型的虚拟主机,它仅仅是处理归它处理的请求而已。

配置实例

需求1:

这是一个基于IP的虚拟主机使用实例

一个项目数据应用,为了防止因为域名解析问题导致不能正常訪问,因此採用IP的方式訪问接口。比方:http://61.122.3.6:8080/ 这种方式。虚拟主机的配置例如以下:

1、在httpd.conf中Listen 80以下添加一行,内容为:Listen 8080,即监听8080port

2、配置虚拟主机配置

#NameVirtualHost 61.122.3.6:8080 这一行能够不须要。经測试,基于IP地址的虚拟主机可不用设置NameVirtualHost项。
<VirtualHost 61.122.3.6:8080>ServerAdmin webmaster@dummy-host.www.phpStudy.netDocumentRoot "d:/web/openj"
</VirtualHost>


转载于:https://www.cnblogs.com/mengfanrong/p/4288275.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python Cookbook 3rd Edition Documentation

Python Cookbook 3rd Edition Documentation 文章目录第一章&#xff1a;数据结构和算法1.1 解压序列赋值给多个变量问题解决方案讨论1.2 解压可迭代对象赋值给多个变量问题解决方案讨论第一章&#xff1a;数据结构和算法 Python 提供了大量的内置数据结构&#xff0c;包括列表…

《阿丽塔》脑机接口正从科幻走向现实

来源&#xff1a;zhongcap摘要&#xff1a;《流浪地球》和《阿丽塔》前后脚上映&#xff0c;难免不让人比较一番。科幻片的魅力&#xff0c;在于它试验和想象未来的可能性。昨天晚上小编去看了卡梅隆的新作《阿丽塔&#xff1a;战斗天使》。《流浪地球》和《阿丽塔》前后脚上映…

2015年2月12日——不懂点

CNBLOG项目不懂知识点&#xff1a;1. local:[...]的写法 这样声明可使用。 1    xmlns:local"using:CNBlogs" 2 xmlns:ControlHelper"using:CNBlogs.ControlHelper" 2. 书写格式上 - 把所有的繁杂的 style template 等等都放到了具体类似于 .css …

全球首个AI女主播上岗了!太惊艳了!

来源&#xff1a;水木然摘要&#xff1a;前不久&#xff0c;全球首个AI女主播诞生的消息走红网络&#xff01;刚刚&#xff0c;这位AI女主播今天正式上岗了&#xff01;是不是非常惊艳&#xff1f;如果不是专门解释&#xff0c;她极有可能被为是真人&#xff01;这位全球首个AI…

有原创保护能力的公众帐号可申请页面模版功能和图文消息正文插入历史群发链接...

之前微信公众平台仅针对开通了微信支付的公众号支持插入图文消息链接&#xff0c;现在微信团队对有原创保护能力的公众帐号开放页面模版功能、开放图文消息正文插入历史图文链接。&#xff08;怎样申请成为有原创保护能力的公众帐号&#xff1f;也许有人会把页面模版和模板消息…

重磅!华为宣布起诉美国政府

来源&#xff1a;网易智能摘要&#xff1a;今天&#xff0c;华为在深圳总部召开发布会&#xff0c;宣布决定起诉美国政府。01指责美国政府窃取华为服务器华为宣布针对美国《2019财年国防授权法》第889条的合宪性向美国联邦法院提起诉讼&#xff0c;请求法院判定这一针对华为的销…

递归和快速排序

文章目录递归问题描述基线条件和递归条件栈调用栈递归调用栈小结快速排序示例1问题描述欧几里得算法使用D&C解决问题的两个步骤&#xff1a;示例2快速排序工作原理代码小结递归 问题描述 假设你在祖母的阁楼中翻箱倒柜&#xff0c;发现了一个上锁的神秘手提箱。祖母告诉你…

Spire.Pdf 的各种操作总结

Spire.Pdf 的各种操作总结简介 试验新产品总是给我带来许多挑战&#xff0c;当然这也是一个引进创新技术的好方法。在这里我要跟大家分享的是使用Spire.Pdf的过程&#xff0c;它是来自E-iceblue公司的轻便PDF程序库。 设计情节我以前经常没事就搞搞PDF。Spire.Pdf是用C# 写的PD…

从观望到行动:全球工业物联网市场生态全景观察

来源&#xff1a;资本实验室在当前&#xff0c;诸如5G&#xff0c;物联网、边缘计算、人工智能、机器人、区块链、增材制造和虚拟现实/增强现实等技术正在加速融合到工业物联网&#xff08;Industrial Internet of Things&#xff0c;IIoT&#xff09;的肥沃土壤中&#xff0c;…

OC语言知识6

本文目录 一、异步POST请求二、NSURLConnection的其他请求方法上一讲介绍了iOS中的异步GET请求&#xff0c;这讲来看看异步POST请求。 回到顶部一、异步POST请求 假如请求路径是http://192.168.1.102:8080/MJServer/login&#xff0c;请求参数有2个&#xff1a; username &…

散列表(字典)

文章目录问题散列函数应用案例将散列表用于查找防止重复将散列表用作缓存冲突性能装填因子良好的散列函数小结问题 你在一家杂货店上班。有顾客来买东西时&#xff0c;你得在一个本子中查找价格。 如果本子的内容不是按字母顺序排列的&#xff0c;你可能为查找苹果&#xff0…

谁能引领国内人工智能芯片产业突围?

来源&#xff1a;国金证券摘要&#xff1a;我们认为中国在处理器/芯片领域的投资有加速的迹象&#xff0c;AI芯片的创业企业目前已达到40家左右。未来因人工智能边缘运算推理端和云端推理(Inferencing)芯片及设备成本,性能&#xff0c;耗电,效率的考量,以及各种处理器的特性不同…

OC语言知识12

本文目录 一、添加一个简单的图层二、添加一个显示图片的图层三、为什么CALayer中使用CGColorRef和CGImageRef这2种数据类型&#xff0c;而不用UIColor和UIImage&#xff1f;四、UIView和CALayer的选择五、UIView和CALayer的其他关系* 上一讲已经说过&#xff0c;UIView内部默认…

计算机视觉介绍

1.为什么要学习图像处理和计算机视觉 计算机视觉市场需求大&#xff0c;其是人工智能的重要分支。 计算机视觉岗位占所有AI岗位的40%。 但是&#xff0c;中国高校目前尚未设置计算机视觉学科己专业&#xff1b;学习者众多&#xff0c;学习分散&#xff0c;缺少统一教学体系&a…

认识工业互联网

来源&#xff1a;智汇工业摘要&#xff1a;工业互联网是实现智能制造的抓手&#xff0c;推动工业互联网是长期的工作。工业互联网分为广义的工业互联网和狭义的工业互联网。广义的工业互联网就是第四次工业革命的代名词。和德国工业4.0以及中国制造2025类同&#xff0c;都是工业…

模式识别:绪论

模式识别(pattern recognition)&#xff1a;输入原始数据并根据其类别采取相应行为的能力。 具体实例&#xff1a;人脸识别、语音识别、文字识别、指纹识别、DNA序列分析。 要区分不同类别的个体&#xff0c;需要利用其一些物理特性上的差异&#xff0c;成为模式分类的特征。…

A16Z内部万字报告:人类与AI结合的最佳形态

来源&#xff1a;36Kr摘要&#xff1a;人工智能技术正在快速发展&#xff0c;将会给我们什么样的变化&#xff1f;人们应该如何与人工智能相处&#xff1f;近日&#xff0c;A16Z博客上放出了一篇内部报告&#xff0c;介绍了人工智能将会给我们的社会带来的变化&#xff0c;以及…

照明与图像

光通量&#xff1a; 人眼所能感受到的辐射功率&#xff0c;等于单位时间内某一波段的辐射能量和该波段的相对视见率的乘积。单位是lm(流明)1流明 0.00146瓦 辐照度 投射到一平表面上的辐射通量密度。指到达一表面上&#xff0c;单位时间&#xff0c;单位面积上的辐射能。以…

BZOJ3434 [Wc2014]时空穿梭

摔电脑摔电脑&#xff01;JZP业界毒瘤&#xff01; 400题纪念~哇终于上400了的说&#xff01;&#xff01;&#xff01;好不容易欸&#xff01; 题解什么的还是Orz iwtwiioi 我求组合数的方法明明是O(n)的&#xff0c;为什么这么慢&#xff01;&#xff01;&#xff01;令人报警…

图像平滑滤波

卷积与滤波概念 离散卷积 丢两个骰子&#xff0c;求点数加起来为 ttt 的概率是多少&#xff1f; 两个骰子加起来为4的概率&#xff1a; f(1)g(3)f(2)g(2)f(3)g(1)f(1)g(3) f(2)g(2) f(3)g(1)f(1)g(3)f(2)g(2)f(3)g(1) 写成卷积标准形式为&#xff1a; (f∗g)(4)∑i13f(i)g(…