环境:osx yosemite,apache2.4
一、什么是虚拟主机?
在apache的默认配置下,开启服务后,打开http://localhost,会显示 It works!字样。
我们可以配置hosts,
sudo vim /etc/hosts
127.0.0.1 localhost
127.0.0.1 urey.com
这时如果访问http://urey.com,也会跳转到与http://localhost 相同的页面,即我们虚拟了两个域名,让它们指向了本地的电脑,访问它们,打开的是同一个目录里的内容。
在osx下,apache默认根目录是:/Library/WebServer/Documents/
我们希望通过修改 Apache 的配置文件,让访问不同域名的时候,打开的是不同的目录。这里就需要配置apache的虚拟主机设置。
二、如何配置?
修改httpd-conf文件,将下面内容的注释打开:
可以看到,这里会自动加载/private/etc/apache2/extra下的httpd-vhosts.conf文件,这个文件就是我们用来配置虚拟主机的配置文件。
编辑该文件:
每一个虚拟主机的配置都有< VirtualHost ip:80 />来完成,里面的DocumentRoot对应虚拟主机主目录;
ServerName对应主机名;
ErrorLog对应错误日志存放路径;
CustomLog对应访问日志存放路径;
其中的< Directory />对应相应地设置信息。
最后我们编辑hosts文件,加入:
127.0.0.1 data.com
这样我们访问不同的域名,就对应到了不同的主目录下面。