2014-04-09 17:02:01
来 源
IT技术网
Apache
本篇分享了Apache配置一个ip多个主机访问,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。
有时候在本地调试的时候,由于网站配置的根目录下的网站项目实在太多,而且访问时都是通过固定ip加目录名或者一个域名加目录名就是一个网站,再加上放到线上可能访问路径就完全不一样了,

为了能够在本地测试环境也有相同的环境,就必须在本地配置多个访问主机,所以下面的内容是必须要看的了:

我本机的ip是192.168.0.2,现在我要配置三个域名(www.server110.com、www.baidu.com、www.google.com)同用一个ip的情况,首先配置host解析文件

192.168.0.2 www.server110.com

192.168.0.2 www.baidu.com

192.168.0.2 www.google.com

然后在网站的根目录下(就是httpd.conf文件里DocumentRoot指令配置的值),我的是

DocumentRoot "Q:/documentRoot/"

所以我在Q:/documentRoot/下面建立了这样的一个目录结构:

里面的每个文件夹都放一个index.html的文件作为正常访问的标识。

然后编辑apache的配置文件httpd.conf,找到

#Include conf/extra/httpd-vhosts.conf

去掉前面的井号,不去的话就把一下的配置加到httpd.conf文件内容的后面,效果是一样的,为了配置看起来独立性要求还是去掉前面的井号。

再然后打开conf/extra/httpd-vhosts.conf(里面的例子可以参考一下)这个配置文件,改成以下那样:

NameVirtualHost *:80

#

# VirtualHost example:

# Almost any Apache directive may go into a VirtualHost container.

# The first VirtualHost section is used for all requests that do not

# match a ServerName or ServerAlias in any <VirtualHost> block.

#

<VirtualHost *:80>

DocumentRoot "Q:/documentRoot"

ServerName *

</VirtualHost>

<VirtualHost 192.168.0.2:80>

ServerAdmin [email protected]

DocumentRoot "Q:/documentRoot/baidu_t/server110"

ServerName www.server110.com

ErrorLog "logs/www.server110ErrorLog.com.log"

CustomLog "logs/www.server110CustomLog.com.log" common

</VirtualHost>

<VirtualHost *:80>

DocumentRoot "Q:/documentRoot/baidu_t/baidu"

ServerName www.baidu.com

</VirtualHost>

<VirtualHost *:80>

DocumentRoot "Q:/documentRoot/baidu_t/google"

ServerName www.google.com

</VirtualHost>

上面的意思,我看大家都明了了吧,明的话,也说一下,

必须要注意的是

DocumentRoot "Q:/documentRoot"

ServerName *

这一段不能去,否则当你访问localhost之类的都不能如同往常那样正常的访问了。

这个是指定监听192.168.0.2的80端口,

表示监听说有ip的80端口

ServerAdmin 这个指令后面的只是服务器出了问题时通知的邮箱,

DocumentRoot 这个指令就是配置网站的根目录,

ServerName 指令的值就是指定的主机名,

ErrorLog 指令配置的是错误日志,重启服务器之后就生成,

CustomLog 指令配置的是通用的日志文件,后面的common是别名,也会重启服务器之后就生成,

最后是测试了,截个图好说话:

有图有真相了,O(∩_∩)O哈哈~

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。