目錄
作爲一名WEB開發者,有些時候我們在進行本地開發測試的時候,我們需要在PC上會使用修改hosts
的方式添加指向本地的域名,來訪問網站。如:
127.0.0.1 albertyy.com
但是在移動端的時候,這一招就不好使了,蘋果手機必須越獄的情況才能修改hosts
的,安卓手機必須在root的情況下才能修改hosts
,這非常的不方便。我們可以通過配置本地DNS服務器解決這一問題。
1.安裝Homebrew
Homebrew是一款Mac OS平臺下的軟件包管理工具,擁有安裝、卸載、更新、查看、搜索等很多實用的功能。簡單的一條指令,就可以實現包管理,而不用你關心各種依賴和文件路徑的情況,十分方便快捷。
1.1官網
1.2安裝命令
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
1.3可能出現的錯誤
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
1.3.1解決方法1
443 端口連接被拒一般是因爲牆的原因,如果你可以科學上網(Virtual Private Network)的話,在命令行鍵入以下命令執行後,重新進行安裝:
# 8003 和 1081 需要換成你自己的端口
export https_proxy=http://127.0.0.1:8003 http_proxy=http://127.0.0.1:8003 all_proxy=socks5://127.0.0.1:1081
1.3.2解決方法2
在https://www.ipaddress.com/查詢raw.githubusercontent.com的真實IP。
通過修改hosts
解決此問題
199.232.68.133 raw.githubusercontent.com
1.4常用命令
brew help 查看幫助
brew install <package name> 安裝軟件包
brew uninstall <package name> 卸載軟件包
brew list [--versions] 列出已安裝的軟件包(包括版本)
brew search <package name> 查找軟件包
brew info <package name> 查看軟件包信息
brew update 更新brew
brew outdated 列出過時的軟件包(已安裝但不是最新版本)
brew upgrade [<package name>] 更新過時的軟件包(不指定軟件包表示更新全部)
brew doctor 檢查brew運行狀態
2.安裝Dnsmasq
Dnsmasq 提供 DNS 緩存和 DHCP 服務功能。作爲域名解析服務器(DNS),dnsmasq可以通過緩存 DNS 請求來提高對訪問過的網址的連接速度。
2.1安裝
brew update;
brew install dnsmasq;
2.2啓動
sudo brew services start dnsmasq;
2.3重啓
sudo brew services restart dnsmasq;
2.4停止
sudo brew services stop dnsmasq;
3.配置dnsmasq
3.1修改配置文件:
sudo vim /usr/local/etc/dnsmasq.conf
去掉以下配置字符的註釋,並修改:
no-resolv
no-poll
listen-address=127.0.0.1,192.168.68.202
addn-hosts=/etc/dnsmasq.hosts
3.2添加自定義hosts文件dnsmasq.hosts
sudo vim /etc/dnsmasq.hosts
在文件中添加對應的域名關係,例如:
192.168.68.202 albertyy.com
重啓下你的Dnsmasq,重啓命令上邊文章中已經給出。
3.3修改設備的DNS服務器
配置設備的DNS服務器爲:192.168.68.202
備用DNS配置爲一般常用DNS服務器就行。
(這裏可以配置路由器的DNS服務器,也可以直接配置手機或者電腦的DNS服務器)
檢測是否成功,可以使用dig命令:
dig albertyy.com
當你可以看到下面這條記錄:
albertyy.com. 0 IN A 192.168.68.202
說明本地DNS服務器配置成功了。