今天一个朋友问我apache怎么绑定域名,我跟他说了一下,查apache官方文档很简单,但是他说,会者不难!那好吧,我写一个教程也方便他下次忘记了可以再来看一下。
接下来我们相对于虚拟主机我也不用解释了,不懂的看链接自己看。
我们接下来要做的就是查看文档来确定一下怎么用(我们以2.2版本为例子来说明)。
<VirtualHost> and </VirtualHost> are used to enclose a group of directives that will apply only to a particular virtual host. Any directive that is allowed in a virtual host context may be used. When the server receives a request for a document on a particular virtual host, it uses the configuration directives enclosed in the <VirtualHost> section. Addr can be:
大概意思就是:
<VirtualHost>和</VirtualHost>用于封装一组仅作用于特定虚拟主机的指令。任何在虚拟主机配置中可以使用的指令也同样可以在这里使用。当服务器接受了一个特定虚拟主机的文档请求时,它会使用封装在<VirtualHost>配置段中的指令。Addr可以是:
- 虚拟主机的IP地址
- 虚拟主机IP地址对应的完整域名
- 字符”
*“,仅与”NameVirtualHost *“配合使用以匹配所有的IP地址 - 字符串”
_default_“,与基于IP的虚拟主机联用以捕获所有没有匹配的IP地址
#使用这个之前 先要写上这句话。
NameVirtualHost ip:prot # ip是监听的ip就是域名解释到的ip 当然也可以监听所有ip就是“*”,端口通常使用80也
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@host.foo.com # 网站管理员邮箱
DocumentRoot /www/docs/host.foo.com # 网站目录
ServerName host.foo.com # 网站域名
ErrorLog logs/host.foo.com-error_log # 错误日志 关于日志级别这里不多说。
TransferLog logs/host.foo.com-access_log# 访问日志记录名子和地址。
</VirtualHost>
把以上代码加入到http.conf的最后,重启apache服务就生效。
比如你要在您本地测试这个您可能 这么来。
- 找到windows中的host文件,位置是 (C:\WINDOWS\system32\drivers\etc\host) 。
- 加入新的域名和映射IP 例如: www.test.com 127.0.0.1
- 配置apche把 ServerName 后成对应成 www.test.com
- 重启apache服务 打开浏览器测试。
注意事项
- 你可绑定多个域名,但是这些域名只能在你这台电脑中使用(原因您自己想)。
- 您访问的域名得配置到apache以后重启apache服务。
- 您必需监听到 127.0.0.1这个ip或者是您的内,如果您在host中映射的是您的内网ip 那apache也应该是监听到您的内网ip。通常情况我们会监听所有的ip,如果有特别的要求分开绑定。
- apache配置中的 NameVirtualHost *:80 一般这么写 这一条一定不能忘记了。
over.
绑定多少 域名那就重复 VirtualHost 节点即可。