《nginx 一》dns解析 nginx安裝


DNS域名解析

整個過程大體描述如下,其中前兩個步驟是在本機完成的,后8個步驟涉及到真正的域名解析服務器:1、瀏覽器會檢查緩存中有沒有這個域名對應的解析過的IP地址,如果緩存中有,這個解析過程就結束。瀏覽器緩存域名也是有限制的,不僅瀏覽器緩存大小有限制,而且緩存的時間也有限制,通常情況下為幾分鍾到幾小時不等,域名被緩存的時間限制可以通過TTL屬性來設置。這個緩存時間太長和太短都不太好,如果時間太長,一旦域名被解析到的IP有變化,會導致被客戶端緩存的域名無法解析到變化后的IP地址,以致該域名不能正常解析,這段時間內有一部分用戶無法訪問網站。如果設置時間太短,會導致用戶每次訪問網站都要重新解析一次域名。

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

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

4、如果LDNS仍然沒有命中,就直接到Root Server域名服務器請求解析

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

6、本地域名服務器LDNS再向上一步返回的gTLD服務器發送請求

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

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

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

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

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

 

centos7安裝   nginx

https://www.cnblogs.com/kaid/p/7640723.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命令強制殺掉進程

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM