Mac下配置域名和网站测试环境

一、在 /etc/hosts   下配置相关域名
1, control+space  打开spotlight, 搜索“terminal”

2, 打开Terminal

3, 在terminal界面中输入: sudo vi /etc/hosts   然后回车

4, 会提示让你输入密码 XXXX.(注意输入密码时你看不到*号)

5, 输入成功以后,在出现的界面中按e,转入编辑模式

6, 输入你要设定的hosts内容,比如:127.0.0.1  api.f.com

7,输入完毕,如果要保存退出,按[esc],再输入:wq!(注意:包含前面的冒号和后面的感叹号),再按[enter],hosts就保存生效了。

二、配置虚拟host配置文件

启动Apache 
打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密)。如下显示Apache的版本 
Mac下配置域名和网站测试环境 
接着输入 sudo apachectl start,这样Apache就启动了。打开Safari浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面。其位于“/Library(资源库)/WebServer/Documents/”下,这就是Apache的默认根目录。 
Apache的安装目录在:/etc/apache2/,etc默认是隐藏的。有三种方式查看: 
1.dock下右键Finder,选择"前往文件夹",输入"/etc" 
2.在finder下----》前往---》前往文件夹,然后输入/etc 
3.可以在terminal 输入 "open /etc" 

设置虚拟主机 
1.在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件 
2.在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。 
3.运行“sudo apachectl restart”,重启Apache后就开启了虚拟主机配置功能。 
4.运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,就打开了配置虚拟主机文件httpd-vhost.conf,配置虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机: 

复制代码
代码如下:

<VirtualHost *:80> 
ServerAdmin webmaster@dummy-host.example.com 
DocumentRoot "/usr/docs/dummy-host.example.com" 
ServerName dummy-host.example.com 
ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log" 
CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common 
</VirtualHost> 
<VirtualHost *:80> 
ServerAdmin webmaster@dummy-host2.example.com 
DocumentRoot "/usr/docs/dummy-host2.example.com" 
ServerName dummy-host2.example.com 
ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log" 
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common 
</VirtualHost> 


而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示: 
Forbidden 
You don't have permission to access /index.php on this server最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。 
5.增加如下配置 

复制代码
代码如下:

<VirtualHost *:80> 
DocumentRoot "/Library/WebServer/Documents" 
ServerName localhost 
ErrorLog "/private/var/log/apache2/localhost-error_log" 
CustomLog "/private/var/log/apache2/localhost-access_log" common 
</VirtualHost> 
<VirtualHost *:80> 
DocumentRoot "/Users/snandy/work" 
ServerName mysites 
ErrorLog "/private/var/log/apache2/sites-error_log" 
CustomLog "/private/var/log/apache2/sites-access_log" common 
<Directory /> 
Options Indexes FollowSymLinks MultiViews 
AllowOverride None 
Order deny,allow 
Allow from all 
</Directory> 
</VirtualHost> 


保存退出,并重启Apache。 
6.运行“sudo vi /etc/hosts”,打开hosts配置文件,加入"127.0.0.1 mysites",这样就可以配置完成sites虚拟主机了,可以访问“http://mysites”了,在10.8之前Mac OS X版本其内容和“http://localhost/~[用户名]”完全一致。 
7.注意,记录log的“ErrorLog "/private/var/log/apache2/sites-error_log"”也可以删掉,但记录日志其实是一个好习惯,在出现问题时可以帮助我们判断。如果保留这些log代码,一定log文件路径都是存在的,如果随便修改一个不存在的,会导致Apache无法服务而没有错误提示,这个比较恶心。