在進行web開發的時候,一般須要以http://localhost或者127.0.0.1之類的訪問本地環境的網站。可是,若是本地放的網站多了,不得不作別的操做,好比端口設置。結果不容易記住啦。html
我在本地之用的是ubuntu+nginx環境,nginx容許設置多個域名,只須要分別指向不一樣的存儲位置便可。那麼,接下來就要如何設置一個本身選定的域名,同時這個域名只訪問本地某個網站呢?linux
在windows中,有一個文件:system32/drivers/etc/host,在這個文件裏,能夠配置域名指向本地IP,從而實現上述目的。nginx
在ubuntu裏面(通常linux都如此),則是在/etc下查找hosts文件,這個就是至關於那個host文件同樣的存在。若是沒有的話,就本身新建一個。web
sudo vi /etc/hostsubuntu
添加你須要的項,格式以下:windows
<IP> <HOSTNAME>.<DOMAIN> <ALIAS>瀏覽器
如下是我作的一些配置:服務器
127.0.0.1 www.v.com #在個人計算機瀏覽器中輸入www.v.com域名,就能夠訪問我本地指定的網站。固然僅限於本地。不瞭解內情的還覺得我註冊了www.v.com這個域名呢。
127.0.0.1 www.b2b.com
127.0.0.1 www.itdiffer.org
127.0.0.1 www.weixin.comdom
要注意的是,Nginx中,要作好conf配置,讓這些域名有所訪問的對象。分佈式
修改/etc/hosts以後正常狀況應該是保存以後當即生效的,可是有時不是。使用uname -a 能夠查看hostname是多少,就能夠知道是否修改生效了。若是沒有 這時的策略有: 1) 重啓機器 2) 重啓服務 Ubuntu: $sudo /etc/init.d/networking restart Gentoo: /etc/init.d/net.eth0 restart 3)使用hostname命令 hostname 定義的主機名 |
hostname與/etc/hosts的關係
不少人一提到更改hostname首先就想到修改/etc/hosts文件,認爲hostname的配置文件就是/etc/hosts。其實不是的。
hosts文件的做用至關如DNS,提供IP地址到hostname的對應。早期的互聯網計算機少,單機hosts文件裏足夠存放全部聯網計算機。 不過隨着互聯網的發展,這就遠遠不夠了。因而就出現了分佈式的DNS系統。由DNS服務器來提供相似的IP地址到域名的對應。具體能夠man hosts。
Linux系統在向DNS服務器發出域名解析請求以前會查詢/etc/hosts文件,若是裏面有相應的記錄,就會使用hosts裏面的記錄。/etc /hosts文件一般裏面包含這一條記錄
127.0.0.1 localhost.localdomain localhost
hosts文件格式是一行一條記錄,分別是IP地址 hostname aliases,三者用空白字符分隔,aliases可選。
127.0.0.1到localhost這一條建議不要修改,由於不少應用程序會用到這個,好比sendmail,修改以後這些程序可能就沒法正常運行。
本文部份內容借鑑了: