Linux 技术手札

编辑 hosts 档案测试网站

很多时候要搬迁网站到其他主机, 或者把开发中的网站上线前测试, 可以在本机修改 hosts 档案, 这样只有自己看到新的网站, 其他人则仍旧浏览旧有网站, 待测试完成后才正式修改 DNS 纪录。电脑会先在 hosts 档案尝试找出 hostname 对应的 IP, 如果没有才会透过 DNS 解析 IP.
编辑 /etc/hosts 档案还有一个用途, 就是可以把主机经常连接的 hostname 加到 /etc/hosts, 这样便不用经常使用 dns 查询.

Linux 修改 hosts

多数 Linux 发行版的 hosts 档案储存位置是 /etc/hosts, 例如要将域名 mydomain.tld 指向 IP 192.168.1.100, 用 root 身份开启 /etc/hosts:

$ sudo vi /etc/hosts

加入以下一行:

192.168.1.100 www.mydomain.tld mydomain.tld

储存盘案后便完成, 所有本机连向 www.mydomain.tld 及 mydomain.tld 都会指向 192.168.1.100.

Windows 修改 hosts

在 Windows XP 或以上版本, hosts 档案的位置是 %SystemRoot%\system32\drivers\etc\hosts, %SystemRoot% 表示 Windows 安装目录, 默认是 C:\Windows, 即默认 hosts 完整路径是 C:\Windows\System32\drivers\etc\hosts.

虽然档案跟 Linux 一样是纯字档, 可以用 notepad 开始, 但需要用 administrator 的权限才可以编辑, 要用以下步骤:

1. 在 “开始” 功能表找出 Notepad

2. Right click Notepad 并选择 “以系统管理员身份执行”

3. 开启档案, 选择 %SystemRoot%\system32\drivers\etc\hosts

4. 跟 Linux 一样, 加入以下一行:

192.168.1.100 www.mydomain.tld mydomain.tld

5. 完成后储存盘案便会生效了.

Mac 修改 hosts

Mac 把 hosts 同样储存在 /etc/hosts, 在终端机透过 sudo 开启 /etc/hosts, 输入以下指令:

$ sudo vi /etc/hosts

加入以下一行:

192.168.1.100 www.mydomain.tld mydomain.tld

储存盘案后便完成.

完成后想测试是否设定成功, 如果用 nslookup, dig, hosts 不会看到变化, 因为以上工具是解析 DNS 服务器。用 ping 便可以看到否生效:

$ ping www.mydomain.tld

如果看到 ip 是自行设定的 ip, 那便表示设定正确了。

Exit mobile version