刚开始开发web的时候,我总是将项目直接部署至Apache的DocumentRoot目录,这样我只需要将自己的域名指到localhost即可。但是随着项目开发的进行,我需要同时开发前端和后台时,一个致命的问题就暴露了出来,我需要在每次切换项目的时候,替换DocumentRoot下部署的文件,这样反而让我的开发效率降低了不少。于是乎,最终选择了Apache的vhost方式
打开Apache对vhost的支持
编辑Apache配置文件,在macos上的默认路径为
找到下面这行代码,将前边的注释去掉
重启Apache
编辑httpd-vhosts.conf文件
在macos上的默认路径为
加入如下配置
其中DocumentRoot行表示我们要配置的虚拟主机对应的DocumentRoot路径.ServerName表示我们的域名.ServerAlias表示别称.最后两行是log路径。
截止现在其实我们已经添加了一个vhost,这时我们只需重启Apache,然后用abc.local.com访问我们的项目即可在配置完Apache后,我们需要将abc.local.com这个域名指定到localhost,即在hosts文件内添加映射
如何快速的配置
按照上述配置的话,我们每次配置一个目录就需要添加对应vhost配置,不是很方便。我们可以在httpd-vhosts.conf文件中添加
然后在/etc/apache2/extra/目录下创建vhost.map内容格式如下
这样就可以用abc.local.com
以后添加新的vhost只需要在vhost.map添加对应关系即可