Apache虚拟主机配置指令
1、<VirtualHost>用于指定Apache虚拟主机主机名或IP地址的指令
语法:<VirtualHost 地址[:端口号] [地址[:端口号]] ...> ... </VirtualHost>
<VirtualHost>和</VirtualHost>用于封装一组仅施用于特定虚拟主机的指令。
2、NameVirtualHost
为一个基于域名的虚拟主机指定一个IP地址
语法:NameVirtualHost 地址[:端口]
比如:NameVirtualHost 111.22.33.44/NameVirtualHost 111.22.33.44:8080
注意:<VirtualHost>指令的参数必须与NameVirtualHost指令的参数完全匹配
NameVirtualHost 1.2.3.4
<VirtualHost 1.2.3.4>
...
</VirtualHost
3、ServerName
服务器用于辨识自己的主机名和端口号
语法:ServerName 完整的域名[:端口号]
4、DocumentRoot
配置apache虚拟主机的主文档的目录
2、就是为你建立的每个主机设定<VirtualHost>配置块, <VirtualHost>的参数与NameVirtualHost指令的参数是一样的 。 在每个<VirtualHost>定义块中,至少都会有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容存在于文件系统的什么地方 。
使用举例:在一个IP地址上运行多个基于域名的web站点
Listen 80
NameVirtualHost ip地址
<VirtualHost ip地址>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>
<VirtualHost ip地址>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>
配置apache虚拟主机的主文档的目录
基于域名的虚拟主机
1、为了使用基于域名的Apache虚拟主机,你必须指定apache服务器IP地址(和可能的端口)来使主机接受请求。 您可以用NameVirtualHost指令来进行配置。 如果服务器上所有的IP地址都会用到, 你可以用*作为NameVirtualHost的参数2、就是为你建立的每个主机设定<VirtualHost>配置块, <VirtualHost>的参数与NameVirtualHost指令的参数是一样的 。 在每个<VirtualHost>定义块中,至少都会有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容存在于文件系统的什么地方 。
使用举例:在一个IP地址上运行多个基于域名的web站点
Listen 80
NameVirtualHost ip地址
<VirtualHost ip地址>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>
<VirtualHost ip地址>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>
基于IP地址的Apache虚拟主机配置
每个基于IP的虚拟主机必须拥有不同的IP地址。
使用举例1:在不同的IP的地址(比如一个内部和一个外部地址) 上提供相同的内容
服务器有两个IP地址(192.168.1.1和 172.16.30.40)。这个机器位于内部(局域网)网络和外部 (广域网)之间。在外部,域名server.example.com指向 外部地址(172.16.30.40),而在内部,同样的域名指向内 部地址(192.168.1.1)。此服务器可以用 一个VirtualHost配置段实现为向来自内部和外部的请求提供同样的内容
使用举例1:在不同的IP的地址(比如一个内部和一个外部地址) 上提供相同的内容
服务器有两个IP地址(192.168.1.1和 172.16.30.40)。这个机器位于内部(局域网)网络和外部 (广域网)之间。在外部,域名server.example.com指向 外部地址(172.16.30.40),而在内部,同样的域名指向内 部地址(192.168.1.1)。此服务器可以用 一个VirtualHost配置段实现为向来自内部和外部的请求提供同样的内容
服务器配置
¡NameVirtualHost 192.168.1.1
NameVirtualHost 172.16.30.40
<VirtualHost 192.168.1.1 172.16.30.40>
DocumentRoot /www/server1
ServerName server.example.com
</VirtualHost>
使用举例2
NameVirtualHost 172.16.30.40
<VirtualHost 192.168.1.1 172.16.30.40>
DocumentRoot /www/server1
ServerName server.example.com
</VirtualHost>
使用举例2
一个有两个IP地址(172.16.30.40和 172.16.30.50)分别对应域名 www.example1.com和www.example2.org的服务 配置如下 。
服务器配置
服务器配置
Listen 80
<VirtualHost 172.16.30.40>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.16.30.50>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>
以上就是青锋建站给大家分享的apache虚拟主机的配置过程与举例,青锋建站,提供专业的网站开发,SEO,网络营销服务;开发服务包括,CMS建站开发,PHP原生开发,使用框架开发 。<VirtualHost 172.16.30.40>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.16.30.50>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>
基于端口的Apache虚拟主机配置
使用举例:
如果您的服务器有两个IP地址(172.16.30.40和 172.16.30.50)分别对应域名 www.example1.com和www.example2.org。对每个域名,您都希望在80端口和8080端口发布您的网站。您可以这样配置:
服务器配置
¡Listen 172.16.30.40:80
Listen 172.16.30.40:8080
Listen 172.16.30.50:80
Listen 172.16.30.50:8080
<VirtualHost 172.16.30.40:80>
DocumentRoot /www/example1-80
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.16.30.40:8080>
DocumentRoot /www/example1-8080
ServerName www.example2.com
</VirtualHost>
¡<VirtualHost 172.16.30.50:80>
DocumentRoot /www/example2-80
ServerName www.example1.org
</VirtualHost>
<VirtualHost 172.16.30.50:8080>
DocumentRoot /www/example2-8080
ServerName www.example2.org
</VirtualHost>
服务器配置
¡Listen 172.16.30.40:80
Listen 172.16.30.40:8080
Listen 172.16.30.50:80
Listen 172.16.30.50:8080
<VirtualHost 172.16.30.40:80>
DocumentRoot /www/example1-80
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.16.30.40:8080>
DocumentRoot /www/example1-8080
ServerName www.example2.com
</VirtualHost>
¡<VirtualHost 172.16.30.50:80>
DocumentRoot /www/example2-80
ServerName www.example1.org
</VirtualHost>
<VirtualHost 172.16.30.50:8080>
DocumentRoot /www/example2-8080
ServerName www.example2.org
</VirtualHost>
混用基于域名和基于ip的Apache虚拟主机
如果您的服务器有两个IP地址172.16.30.40和 172.16.30.50
服务器配置
¡Listen 80
NameVirtualHost 172.16.30.40
<VirtualHost 172.16.30.40>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.16.30.40>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>
<VirtualHost 172.16.30.40>
DocumentRoot /www/example3
ServerName www.example3.net
</VirtualHost>
# IP-based
<VirtualHost 172.16.30.50>
DocumentRoot /www/example4
ServerName www.example4.edu
</VirtualHost>
<VirtualHost 172.16.30.60>
DocumentRoot /www/example5
ServerName www.example5.gov
</VirtualHost>
服务器配置
¡Listen 80
NameVirtualHost 172.16.30.40
<VirtualHost 172.16.30.40>
DocumentRoot /www/example1
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.16.30.40>
DocumentRoot /www/example2
ServerName www.example2.org
</VirtualHost>
<VirtualHost 172.16.30.40>
DocumentRoot /www/example3
ServerName www.example3.net
</VirtualHost>
# IP-based
<VirtualHost 172.16.30.50>
DocumentRoot /www/example4
ServerName www.example4.edu
</VirtualHost>
<VirtualHost 172.16.30.60>
DocumentRoot /www/example5
ServerName www.example5.gov
</VirtualHost>
Apache的代理/网关配置
apache模块mod_proxy,控制您代理服务器的访问
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
ProxyRemote 指令
说明:用户处理某些特定请求的远端代理
语法:ProxyRemote match remote-server
此指令定义了此代理的远端代理。match可以是远端服务器支持的URL形式的名称,或是远端服务器使用的部分URL,或是'*'以代表服务器可以接受所有的请求。remote-server是远端服务器的部分URL 。
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
ProxyRemote 指令
说明:用户处理某些特定请求的远端代理
语法:ProxyRemote match remote-server
此指令定义了此代理的远端代理。match可以是远端服务器支持的URL形式的名称,或是远端服务器使用的部分URL,或是'*'以代表服务器可以接受所有的请求。remote-server是远端服务器的部分URL 。
转载请注明来源网址:青锋建站-http://www.sjzphp.com/webdis/virtualhost_845.html