/ 中存储网

本地Apache服务器配置多网站域名测试环境

2014-04-11 09:18:01 来源:IT技术网
1、修改域名访问方式:

运行:C:WINDOWSsystem32driversetc

打开:hosts文件

添加域名指向。

2、修改httpd.conf.

配置生效前提,必须修改跟目录为:

<Directory />

Options FollowSymLinks

AllowOverride None

### Order deny,allow

### Deny from all

Order allow,deny

Allow from all

Satisfy all

</Directory>

否则会出现无权访问问题。

3、虚拟主机的配置

(1)基于IP地址的虚拟主机配置

Listen 80

<VirtualHost 172.20.30.40>

DocumentRoot /www/example1

ServerName www.example1.com

</VirtualHost>

<VirtualHost 172.20.30.50>

DocumentRoot /www/example2

ServerName www.example2.org

</VirtualHost>

(2) 基于IP和多端口的虚拟主机配置

Listen 172.20.30.40:80

Listen 172.20.30.40:8080

Listen 172.20.30.50:80

Listen 172.20.30.50:8080

<VirtualHost 172.20.30.40:80>

DocumentRoot /www/example1-80

ServerName www.example1.com

</VirtualHost>

<VirtualHost 172.20.30.40:8080>

DocumentRoot /www/example1-8080

ServerName www.example1.com

</VirtualHost>

<VirtualHost 172.20.30.50:80>

DocumentRoot /www/example2-80

ServerName www.example1.org

</VirtualHost>

<VirtualHost 172.20.30.50:8080>

DocumentRoot /www/example2-8080

ServerName www.example2.org

</VirtualHost>

(3)单个IP地址的服务器上基于域名的虚拟主机配置:

# Ensure that Apache listens on port 80

Listen 80

# Listen for virtual host requests on all IP addresses

NameVirtualHost *:80

<VirtualHost *:80>

DocumentRoot /www/example1

ServerName www.example1.com

ServerAlias example1.com. *.example1.com

# Other directives here

</VirtualHost>

<VirtualHost *:80>

DocumentRoot /www/example2

ServerName www.example2.org

# Other directives here

</VirtualHost>

(4)在多个IP地址的服务器上配置基于域名的虚拟主机:

Listen 80

# This is the "main" server running on 172.20.30.40

ServerName server.domain.com

DocumentRoot /www/mainserver

# This is the other address

NameVirtualHost 172.20.30.50

<VirtualHost 172.20.30.50>

DocumentRoot /www/example1

ServerName www.example1.com

# Other directives here …

</VirtualHost>

IXDBA.NET社区论坛

<VirtualHost 172.20.30.50>

DocumentRoot /www/example2

ServerName www.example2.org

# Other directives here …

</VirtualHost>

(5)在不同的端口上运行不同的站点(基于多端口的服务器上配置基于域名的虚拟主机):

Listen 80

Listen 8080

NameVirtualHost 172.20.30.40:80

NameVirtualHost 172.20.30.40:8080

<VirtualHost 172.20.30.40:80>

ServerName www.example1.com

DocumentRoot /www/domain-80

</VirtualHost>

<VirtualHost 172.20.30.40:8080>

ServerName www.example1.com

DocumentRoot /www/domain-8080

</VirtualHost>

<VirtualHost 172.20.30.40:80>

ServerName www.example2.org

DocumentRoot /www/otherdomain-80

</VirtualHost>

<VirtualHost 172.20.30.40:8080>

ServerName www.example2.org

DocumentRoot /www/otherdomain-8080

</VirtualHost>

(6)基于域名和基于IP的混合虚拟主机的配置:

Listen 80

NameVirtualHost 172.20.30.40

<VirtualHost 172.20.30.40>

DocumentRoot /www/example1

ServerName www.example1.com

</VirtualHost>

<VirtualHost 172.20.30.40>

DocumentRoot /www/example2

ServerName www.example2.org

</VirtualHost>

<VirtualHost 172.20.30.40>

DocumentRoot /www/example3

ServerName www.example3.net

</VirtualHost>

==========================================================================

简单的说,打开httpd.conf 在最后加入如下内容:

<VirtualHost 127.0.0.2:80>

DocumentRoot d:/AppServ/www2

ServerName 127.0.0.2:80

</VirtualHost>

<Directory "d:/AppServ/www2">

Options Indexes FollowSymLinks Multiviews

AllowOverride All

Order Allow,Deny

Allow from all

</Directory> "d:/AppServ/www2" 为你的站点存放目录:重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.2,和127.0.0.3进入不同的站点了。

下面为详细说明分析:

在我们安装APACHE的时候一般默认的apache的配置是只有一个网站,这样切换起来很不方便。其实这个问题很好解决,就是把本机的 apache配置成为虚拟服务器。但是,网上大多数教程的是教用 apache如何配置基于域名的虚拟主机的,而在本机调试网站的时候,一般都是用本地ip(127.0.0.1 或 localhost)直接访问,没有用到域名。所以得把apache配置成为基于ip地址的虚拟主机。

首先,我们都知道,所有以127打头的ip地址都应该指向本机,并不只有127.0.0.1,这点大家可以试试。

这样一来,也就是说本机有足够多的ip地址供你来开设虚拟主机了。

废话少说,进入正式的配置工作,下面是apache的httpd.conf里相关配置部分( httpd.conf 位于 Apache2.2conf ):

1、Listen部分,必须直接指定端口,不指定ip地址,配置应写为:

Listen 80

2、不用像基于域名的虚拟主机那样写“NameVirtualHost”。

3、虚拟主机配置段:在httpd.conf 最后加上

<VirtualHost 127.0.0.2:80>

DocumentRoot d:/AppServ/www2

ServerName 127.0.0.2:80

</VirtualHost>

<VirtualHost 127.0.0.3:80>

DocumentRoot d:/AppServ/www3

ServerName 127.0.0.3:80

</VirtualHost>...

4、然后相应的配置好各个目录属性,下面是一个目录属性的典型配置:

<Directory "d:/AppServ/www2">

Options Indexes FollowSymLinks Multiviews

AllowOverride All

Order Allow,Deny

Allow from all

</Directory>

<Directory "d:/AppServ/www3">

Options Indexes FollowSymLinks Multiviews

AllowOverride All

Order Allow,Deny

Allow from all

</Directory>

重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.1和127.0.0.2,127.0.0.3进入不同的站点了。