每一個軟件都本身把操做系統的host配置項加到內存中供頻繁調用

nginx的轉發,http_pass 轉發到一個域名passport.ab.cnnginx

 

那具體是到哪臺機器上。數據庫

 

其實能夠經過/etc/hosts文件來配置的。瀏覽器

 

能夠理解,這個hosts文件是操做系統級別的,全部在這個操做系統上的軟件都繞不過它。緩存

 

應該是操做系統提供了一個操做系統的函數,供操做系統上的軟件來調用。具體細節應該是c語言方面了。不是很清楚。運維

 

以前遇到一個問題,明明讓運維設置轉發到133機器上。結果看到的訪問仍是181機器上的版本。這就奇怪了。其實要重啓nginx才行。函數

 

每一個軟件都會本身維護host,緩存在內存中。這也就明白了,爲何修改了window下的host配置,瀏覽器要重啓,才能使用到新的配置,否則會用到之前的配置。性能

 

能夠把這瀏覽器與ngingx看做是同類型軟件,會緩存host項在內存中。操作系統

 

目的很明顯,就是爲了提升性能。以免每次都須要去讀取磁盤,磁盤存在i/0瓶頸。一次加載到內存中,本身維護(這是不少系統的一個設計思想,好比數據庫系統也是這樣子,按期把數據刷到磁盤上持久化)。除非我本身的進程消失掉了,數據就消失掉了。設計

 

之後記得,讓nignx作轉發,若是修改了host文件,要讓nginx重啓爲好。reload是否能夠呢?進程

相關文章
相關標籤/搜索