Rumah > Artikel > pembangunan bahagian belakang > apache2.2 虚拟主机配置
一、修改httpd.conf
打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。
[plain] view plaincopy
[plain] view plaincopy
二、修改httpd-vhosts.conf
打开该文件,看到以下类似内容。虚拟主机的配置也是参照以下内容配置。下面对该内容进行讲解
[plain] view plaincopy
注意1:NameVirtualHost 指定虚拟主机所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虚拟主机时,NameVirtualHost是必要的指令。NameVirtualHost可以定义多个。
注意2:所有符合NameVirtualHost或
注意3:如果设置NameVirtualHost 或
ServerAdmin 管理员邮箱
DocumentRoot 网站目录 (注意:如果网站目录中的路径有空格,请在路径两端加上双引号)
ServerName 要绑定的域名(必填)
ServerAlias 要绑定的虚拟主机的别名。(可选,如果多个域名,中间以空格分隔,如果没有,则去掉该行)
支持*,?两种通配符,比如 *.abc.com,表示任意一个abc.com的二级域名都可访问。
CustomLog 用户日志文件(可选,如果不需要,则去掉该行)
ErrorLog 错误日志(可选,如果不需要,则去掉该行)
基于IP地址的虚拟主机
[plain] view plaincopy
[plain] view plaincopy
各种虚拟主机的混用
[plain] view plaincopy
虚拟主机混用时的问题
一、虚拟主机混用可以这样理解:一行NameVirtualHost指令定义的所有虚拟主机为一组;该组与一个基于IP的虚拟主机平级。即把一行NameVirtualHost定义的整个组看作是一个基于IP的虚拟主机。
二、虚拟主机指定的端口必须是Listen定义的。如果虚拟主机没有指定端口,则认为是80端口。如果NameVirtualHost * 这样定义,是指所有地址的所有已定义端口。
三、更具体的地址定义优先。比如NameVirtualHost指令定义了*:80,而某个基于IP的虚拟主机定义为192.168.0.1:80,那么此时如有对192.168.0.1:80的请求,那请求会被优先指向192.168.0.1:80定义的虚拟主机。所以为了避免混乱,不要定义相互有交叉或包含的地址区间。
四、一个虚拟主机,可以同时为基于域名和基于IP的。如上一例中最后一个虚拟主机。这样符合两种定义的请求都会被指同一个虚拟主机。有时要区别内外网对虚拟主机的访问时可以这样,因为来自内网的请求可能和来自外网的请求可能不一样,但是它们需要指向同一个虚拟主机。
使用"_default_"虚拟主机
这个虚拟主机可以理解成基于IP的虚拟主机
[plain] view plaincopy
本地机器代理在其它机器上运行的虚拟主机
[plain] view plaincopy
配置实例
需求1:
这是一个基于IP的虚拟主机使用实例
一个项目数据应用,为了防止由于域名解析问题导致不能正常访问,因此采用IP的方式访问接口。比如:http://61.122.3.6:8080/ 这样的方式。虚拟主机的配置如下:
1、在httpd.conf中Listen 80下面增加一行,内容为:Listen 8080,即监听8080端口
2、配置虚拟主机配置
[plain] view plaincopy
以上就介绍了apache2.2 虚拟主机配置,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。