windows下Apache的虚拟主机配置

1、Apache虚拟主机:

在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种:

1、基于主机名的虚拟主机(一个IP地址,多个网站)

2、基于IP地址的虚拟主机(每个站点拥有一个的独立IP地址)

虽然是两种,但其实仔细比对,就能发现:基于主机名的其实非常像一个特殊的基于IP地址的方式,如何实现虚拟主机,思路是这样的:

2、windows下:

 基于主机名 

设置DNS(windows上的 / hosts文件),好让我们的域名被解析到特定的IP地址,例如 127.0.0.10,当我们访问域名时,实际上是访问到了这个特定的IP地址

--> 这个IP地址指向我们的Apache服务,此时修改我们的httpd.conf文件开启我们 mod_rewrite模块

同时启用我们的虚拟主机配置文件

当然我们也可以不启用这个文件,而将需要配置的虚拟主机信息直接写到httpd.conf中

--> httpd-vhosts.conf 的配置:

文件中配置的写法会有默认的示例,类似于这样:

但是有一些需要注意的地方:(这是我看手册觉得比较重要的,个人意见且不完全整理)

1、<VirtualHost>的使用并不影响Apache的监听地址。你需要使用Listen来确保Apache正在监听正确的地址。

也就是说:这个设置是在Apache地址监听的基础上才有作用的,所以这里的IP要有作用首先需要Listen的正确设置保证

2、基于域名的虚拟主机:

注意:

我在测试的时候发现:当不修改 NameVirtualHost原始的配置:  的时候,基于主机名的虚拟主机的访问总是会访问 <VirtualHost> 的设置,开手册上说  ,所以我修改成了上面这样,

效果:

浏览器中输入:wangxb.com (这里是我的一个thinkPHP的项目)

浏览器输入:webroot.com (这个我绑定到了www的根目录)

基于IP地址的虚拟主机:

上面基本都是基于主机名的虚拟主机的设置,很简单,下面的基于IP的虚拟主机更简单,因为我的感觉是:基于主机名的虚拟主机就是基于IP的虚拟主机的特例,为什么这么说?

答:因为我们可以把基于主机名的看成是基于IP的,只是有两个域名基于同一个IP,也就是说:有两个 <VirtualHost> 以上的设置的IP和端口是相同的,但是其中的ServerName 和DocumentRoot 设置不相同。

好了来看看,基于IP的设置,至于httpd.conf的配置就不需要修改了,主要是修改

 / hosts文件   ,也就是将域名绑定到不同的ip

再来修改 /httpd-vhosts.conf 文件

我们看到两个两个域名两个ip,对应的DocumentRoot 是不一样的。

效果:浏览器中的效果是和上面的效果一样的,这里我们使用F12的 network 来看看

webroot.com

network:

wangxb.com

network

好了,以上就是虚拟主机的设置。这里做个简单的介绍,Apache的中文手册其实已经非常的给力了,只有有一些基础web开发的知识,手册是完全可以看懂的,而且说得非常详细。大家在配置的时候,出现问题可以去好好看看手册

特别强调:

1、以上的每一步有关Apache配置文件的修改必须重启Apache服务

2、当你在修改hosts文件时可能提示你权限不够

3、当你编辑httpd.conf文件启用虚拟主机配置文件时,你可能会遇到这个情况:

让我郁闷了两个小时的问题,莫名其妙的没有权限,想想我什么时候在window会这样啊? 一时我竟不知所措,如果是linux的话,我肯定回去ll -> chmod的啦,但是这是windows啊,怎么会这样,想想刚才还好好的怎么就这样了呢,一切又还原,重启服务,最后发现就是上面的开启虚拟主机配置文件的原因,当我们开启了虚拟主机的配置时,我们一定要正确设定 下的 httpd-vhosts.conf

以上就是window上的Apache的虚拟主机的配置,对于linux下的配置也是相似的,有时间了我会继续写linux上的配置和niginx的配置,哎就这么多吧,要是都写了 估计太长了也没人看,啊哈哈、、、分开篇幅小点,大家看的也有针对性,需要那个看那篇。

来自为知笔记(Wiz)

时间: 2024-10-19 06:49:10

windows下Apache的虚拟主机配置的相关文章

linux下apache https 虚拟主机配置

如果单纯只想在传输数据时加密传输,那么ssl证书是不需要认证的,但是浏览器打开时会有警告信息.假设我们做的不是一个公众产品那么也还好啦. 如下是今天学习时的一个笔记,其实我用的是真实环境. 环境:CentOS 64, 32bit:Apache 2.2.15: 1.检查apache是否安装了mod_ssl.so模块. 检查方法是查看是否在modules(/etc/httpd/modules/)下存在.不存在那么安装(yum -y install mod_ssl). 2.生成证书和密钥 1)生成密钥

apache添加虚拟主机配置+本地hosts绑定域名

1.本地hosts 什么是本地hosts?我们知道访问一个域名,通过dns服务器得到该域名所指向的服务器ip地址,然后通过ip地址和服务器建立连接,完成剩下的事情.那么当开发过程中我们没有域名的时候如何才能模拟一个域名呢?答案就是hosts文件,一般开发环境都是在win下,所以这里就以win为例,玩linux的相信自己都能摸索到. 我们找到c:\windows\system32\drivers\etc\hosts文件,用记事本打开它,在末尾添加一行: 127.0.0.1 www.xxx.com

server下apache2.4.*虚拟主机配置Forbidden You don&#39;t have permission to access / on this server.

前言: 继前面两节笔记之后,在配置一个虚拟主机时,这中间却遇见了一个问题,这里需要描述做一下笔记,刚刚安装的是Ubuntu server,apt-get下来的apache的版本是2.4.7,之前一直用的是apache2.2的,期间遇见过403错误,只是问题处理的方式方法有些不一样,于是这里就一时没有找到头绪.本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com) 403:没有权限访问 不说废话直接找主题: 首先我们来回顾一

Apache 动态虚拟主机配置

经常在开发中为Apache web server添加虚拟主机  方便多个项目的 同时运营,但是每次增加新的项目时 都得增加VirtualHost    部分,时间久了VirtualHost 部分也多了,看着头疼. NameVirtualHost 111.22.33.44 <VirtualHost 111.22.33.44> ServerName www.customer-1.com DocumentRoot /www/hosts/www.customer-1.com/docs ScriptAl

mac下xampp简单虚拟主机配置

多域名,虚拟主机的配置 开启虚拟主机配置选项: 打开httpd.conf文件,找到httpd-vhosts.conf那一行,解除该行注释: 打开httpd-vhosts.conf文件 修改如下 <VirtualHost *:80> ServerName localhost DocumentRoot "/Applications/XAMPP/htdocs" <Directory "/Applications/XAMPP/htdocs"> Opt

apache的虚拟主机配置

一.为什么使用虚拟主机配置? 虚拟主机指的是在单一机器上运行多个网站. 虚拟主机可以"基于IP",即每个 IP 一个站点: 或者"基于域名", 即每个 IP 多个站点.这些站点运行在同一物理服务器上. 二.三种方法配置虚拟主机 基于ip 基于域名 基于端口 此处只详细讲解基于域名的,运用广泛. 首先:在/etc/hosts/文件中加上映射,例如: 然后:创建站点根目录,例如: 之后:在站点根目录下放入以.html为后缀的文件,例如: 加上配置: 组后:测试,如下:

Windows上Apache设置虚拟主机(xampp为例)

每次设置虚拟域名都要到网上搜教程,这次索性记录下来,以后靠自己. 我们知道,本地web开发访问的ip地址一般为127.0.0.1,默认映射为localhost这个域名,一般访问形式为localhost/filename. 现在我们的根目录(xampp为htdocs,wamp和lamp是www)下有多个工程,假设有工程a和工程b ,每次访问都要手动输入a,b目录,目录比较深时则要输入多级目录结构(比如我建立了一个测试工程test,里面又包含其他工程),这样不仅烦而且不美观,所以设置虚拟主机就是开发

Windows下Apache+MySQL+PHP快速配置的几种方法

Apache MySQL PHP Windows WAMP 1.易思EasySiteServer服务器集成环境 v1.0  (推荐) 尔创互联为推广其ESPCMS而开发的一个小东东,很好用.零配置,完全绿色,不写注册表,不安装服务官网链接:http://www.ecisp.cn/html/cn/download/下载地址:http://www.ecisp.cn/download/EasySiteServer.rar 本软件集成了最新版的Apache服务器,Apache/2.0.58 (Win32

关于apache的虚拟主机配置

增加用户账号的验证 touch /data/.htpasswd [[email protected]]# htpasswd  -c  /data/.htpasswd  user1  #新增第一个账号 [[email protected]]# htpasswd   /data/.htpasswd  user2       #新增第二个账号 编辑/usr/local/apache2/conf/extra/httpd-vhosts.conf <VirtualHost *:80> # <Virt