apache的虚拟主机

1 基于名称的虚拟主机

2 基于 IP 的虚拟主机

3 默认主机

4 主机解析简析


* httpd-2.2.15

^-^ | ^-^ | ^-^ | ^-^ | ^-^ | ^-^ | ^-^ | 

1 基于名称的虚拟主机


cat httpd.conf

# NameVirtualHost *:80

NameVirtualHost 127.0.0.1

<VirtualHost *:80>

    ServerName www.sunny.com

    ServerAlias sunny.com *.sunny.com

    DocumentRoot /www/sunny

</VirtualHost>

<VirtualHost *:80>

    ServerName www.lucy.com

    DocumentRoot /www/lucy

</VirtualHost>


指令 意义
NameVirtualHost 指定由多个 apache 虚拟主机共享的 IP 地址。
* 表示在所有的 IP 地址上运行,包括回环地址。
ServerAlias

对虚拟主机设定多个名字。

DocumentRoot

指定的目录必须是显示允许访问、或者父目录显示允许访问 


                         

① 允许访问:

<Directory "/dinglicom/httpd/vhosts/htdocs">

   Order allow,deny

   Allow from all

</Directory>



2 基于 IP 的虚拟主机


<VirtualHost 192.168.136.111:80>

    ServerAdmin [email protected]

    DocumentRoot /www/sunny

    ServerName www.sunny.com

    ErrorLog /www/sunny/error_log

    TransferLog /www/sunny/access_log

</VirtualHost>

<VirtualHost 192.168.136.112:80>

    ServerAdmin [email protected]

    DocumentRoot /www/lucy

    ServerName www.lucy.com

    ErrorLog /www/lucy/error_log

    TransferLog /www/lucy/access_log

</VirtualHost> 


* 没有明确指定那个虚拟主机,会显示上边的那个虚拟主机页面。


3 默认主机


以一台虚拟主机作为默认服务器。并且放置在其他虚拟主机的前面

虚拟主机类型 配置方法
基于名称

<VirtualHost *:80>

    ServerName default  # Any names you like.

    DocumentRoot /var/www/html

</VirtualHost>

基于 ip

<VirtualHost _default_:80>

    DocumentRoot /var/www/html

</VirtualHost>


4 主机解析简析


地址解析如下:

192.168.136.11 www.sunny.com

192.168.136.11 www.lucy.com

192.168.136.11 www.h1.com

192.168.136.11 h1

配置内容

ServerName www.h1.com

Listen 10.12.12.11:80

Listen 192.168.136.11:80

DocumentRoot /var/www/html


NameVirtualHost *:80

<VirtualHost *:80>

    ServerName www.lucy.com

    DocumentRoot /data01/www/lucy

</VirtualHost>

<VirtualHost *:80>

    ServerName www.sunny.com

    ServerAlias sunny.com *.sunny.com

    DocumentRoot /data01/www/sunny

</VirtualHost>

<VirtualHost _default_:80>

    DocumentRoot /var/www/html

</VirtualHost>

如果在地址栏输入 h1 还是会显示在上边的虚拟主机。(因为默认主机没有放在最上边。)

要让地址栏输入 h1 显示 [wKiom1S1E8HDQNaeAABCRtEB_68920.jpg ] 指定的目录里的网页,需要修改配置如下:

ServerName www.h1.com

Listen 10.12.12.11:80

Listen 192.168.136.11:80

DocumentRoot /var/www/html

ServerName h1:80
这样是可以显示目录“/var/www/html”下的主页,可是不是默认虚拟主机生效的结果。




你可能感兴趣的:(虚拟主机,sunny)