apache下虚拟主机设置


设置包含单ip单端口多个虚拟主机,单ip多端口虚拟主机,多ip单端口虚拟主机,多ip多端口虚拟主机,以及默认主机设置等等
查找相关文章:apache 虚拟主机

http://httpd.apache.org/docs/2.2/vhosts/examples.html

翻译自apache官方网站,英文原文见上面的链接,转载请注明出处,谢谢

基于域名的单ip虚拟主机设置

你的服务器有一个IP地址,而多个别名(CNAMES)指向本机。你想在这个机器上运行一个Web服务器www.example.com和www.example.org。

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example.com
ServerName www.example.com

# Other directives here

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example.org
ServerName www.example.org

# Other directives here

</VirtualHost>

*号可以使用真实ip地址替代,例如

NameVirtualHost 172.20.30.40

<VirtualHost 172.20.30.40>
# etc ...

多个ip基于域名的虚拟主机设置

Server configuration
Listen 80

<VirtualHost 172.20.30.40>
DocumentRoot /www/example.com
ServerName www.example.com
</VirtualHost>

<VirtualHost 172.20.30.50>
DocumentRoot /www/example.org
ServerName www.example.org
</VirtualHost>

多个ip多个端口的虚拟主机设置

Server configuration
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.example.com
</VirtualHost>

<VirtualHost 172.20.30.40:8080>
DocumentRoot /www/example1-8080
ServerName www.example.com
</VirtualHost>

<VirtualHost 172.20.30.50:80>
DocumentRoot /www/example2-80
ServerName www.example.org
</VirtualHost>

<VirtualHost 172.20.30.50:8080>
DocumentRoot /www/example2-8080
ServerName www.example.org
</VirtualHost>

为某个端口设置默认主机

Server configuration
<VirtualHost _default_:80>
DocumentRoot /www/default
...
</VirtualHost>