《nginx 一》dns解析 nginx安裝

DNS域名解析

整個過程大致描述以下,其中前兩個步驟是在本機完成的,後8個步驟涉及到真正的域名解析服務器:一、瀏覽器會檢查緩存中有沒有這個域名對應的解析過的IP地址,若是緩存中有,這個解析過程就結束。瀏覽器緩存域名也是有限制的,不只瀏覽器緩存大小有限制,並且緩存的時間也有限制,一般狀況下爲幾分鐘到幾小時不等,域名被緩存的時間限制能夠經過TTL屬性來設置。這個緩存時間太長和過短都不太好,若是時間太長,一旦域名被解析到的IP有變化,會致使被客戶端緩存的域名沒法解析到變化後的IP地址,以至該域名不能正常解析,這段時間內有一部分用戶沒法訪問網站。若是設置時間過短,會致使用戶每次訪問網站都要從新解析一次域名。css

二、若是用戶瀏覽器緩存中沒有數據,瀏覽器會查找操做系統緩存中是否有這個域名對應的DNS解析結果。其實操做系統也有一個域名解析的過程,在Windows中能夠經過C:\Windows\System32\drivers\etc\hosts文件來設置,在Linux中能夠經過/etc/hosts文件來設置,用戶能夠將任何域名解析到任何可以訪問的IP地址。例如,咱們在測試時能夠將一個域名解析到一臺測試服務器上,這樣不用修改任何代碼就能測試到單獨服務器上的代碼的業務邏輯是否正確。正是由於有這種本地DNS解析的規程,因此有黑客就可能經過修改用戶的域名來把特定的域名解析到他指定的IP地址上,致使這些域名被劫持。html

三、前兩個過程沒法解析時,就要用到咱們網絡配置中的"DNS服務器地址"了。操做系統會把這個域名發送給這個LDNS,也就是本地區的域名服務器。這個DNS一般都提供給用戶本地互聯網接入的一個DNS解析服務,例如用戶是在學校接入互聯網,那麼用戶的DNS服務器確定在學校;若是用戶是在小區接入互聯網,那麼用戶的DNS就是再提供接入互聯網的應用提供商,即電信或聯通,也就是一般說的SPA,那麼這個DNS一般也會在用戶所在城市的某個角落,不會很遠。Windows環境下經過命令行輸入ipconfig,Linux環境下經過cat /etc/resolv.conf就能夠查詢配置的DNS服務器了。這個專門的域名解析服務器性能都會很好,它們通常都會緩存域名解析結果,固然緩存時間是受到域名的失效時間控制的。大約80%的域名解析到這裏就結束了,因此LDNS主要承擔了域名的解析工做。linux

四、若是LDNS仍然沒有命中,就直接到Root Server域名服務器請求解析nginx

五、根域名服務器返回給本地域名服務器一個所查詢的主域名服務器(gTLD Server)地址。gTLD是國際頂級域名服務器,如.com、.cn、.org等,全球只有13臺左右c++

六、本地域名服務器LDNS再向上一步返回的gTLD服務器發送請求正則表達式

七、接受請求的gTLD服務器查找並返回此域名對應的Name Server域名服務器的地址,這個Name Server一般就是用戶註冊的域名服務器,例如用戶在某個域名服務提供商申請的域名,那麼這個域名解析任務就由這個域名提供商的服務器來完成算法

八、Name Server域名服務器會查詢存儲的域名和IP的映射關係表,在正常狀況下都根據域名獲得目標IP地址,連同一個TTL值返回給DNS Server域名服務器sql

九、返回該域名對應的IP和TTL值,LDNS會緩存這個域名和IP的對應關係,緩存時間由TTL值控制swift

十、把解析的結果返回給用戶,用戶根據TTL值緩存在本地系統緩存中,域名解析過程結束centos

在實際的DNS解析過程當中,可能還不止這10步,如Name Server可能有不少級,或者有一個GTM來負載均衡控制,這都有可能會影響域名解析過程。

 

centos7安裝   nginx

http://www.javashuo.com/article/p-ufoeyroh-gm.html

安裝所需環境

Nginx 是 C語言 開發,建議在 Linux 上運行,固然,也能夠安裝 Windows 版本,本篇則使用 CentOS 7 做爲安裝環境。

一. gcc 安裝
安裝 nginx 須要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,若是沒有 gcc 環境,則須要安裝:

yum install gcc-c++

二. PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,因此須要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也須要此庫。命令:

yum install -y pcre pcre-devel

三. zlib 安裝
zlib 庫提供了不少種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,因此須要在 Centos 上安裝 zlib 庫。

yum install -y zlib zlib-devel

四. OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不只支持 http 協議,還支持 https(即在ssl協議上傳輸http),因此須要在 Centos 安裝 OpenSSL 庫。




yum install -y openssl openssl-devel

使用wget命令下載(推薦)。



wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

我下載的是1.10.1版本,這個是目前的穩定版。

解壓

依然是直接命令:

tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1

配置

其實在 nginx-1.10.1 版本中你就不須要去配置相關東西,默認就能夠了。固然,若是你要本身配置目錄也是能夠的。
1.使用默認配置



./configure

編譯安裝

make make install

查找安裝路徑:



whereis nginx

啓動、中止nginx

cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload

./nginx -s quit:此方式中止步驟是待nginx進程處理任務完畢進行中止。
./nginx -s stop:此方式至關於先查出nginx進程id再使用kill命令強制殺掉進程

相關文章
相關標籤/搜索