nginx


1、請解釋一下什么是Nginx?

Nginx---Ngine X,是一款免費的、自由的、開源的、高性能HTTP服務器和反向代理服務器;也是一個IMAP、POP3、SMTP代理服務器;Nginx以其高性能、穩定性、豐富的功能、簡單的配置和低資源消耗而聞名。

也就是說Nginx本身就可以托管網站(類似於Tomcat一樣),進行Http服務處理,也可以作為反向代理服務器 、負載均衡器和HTTP緩存。

Nginx 解決了服務器的C10K(就是在一秒之內連接客戶端的數目為10k即1萬)問題。它的設計不像傳統的服務器那樣使用線程處理請求,而是一個更加高級的機制—事件驅動機制,是一種異步事件驅動結構。

2、Nginx能做什么?

1.反向代理  2.負載均衡  3.HTTP服務器(包含動靜分離)  4.正向代理

3、請列舉Nginx的一些特性

  • 跨平台:可以在大多數Unix like 系統編譯運行。而且也有Windows的移植版本。 

  • 配置異常簡單:非常的簡單,易上手。 

  • 非阻塞、高並發連接:數據復制時,磁盤I/O的第一階段是非阻塞的。官方測試能支持5萬並發連接,實際生產中能跑2~3萬並發連接數(得益於Nginx采用了最新的epoll事件處理模型(消息隊列)。 

  • Nginx代理和后端Web服務器間無需長連接; 

  • Nginx接收用戶請求是異步的,即先將用戶請求全部接收下來,再一次性發送到后端Web服務器,極大減輕后端Web服務器的壓力。 

  • 發送響應報文時,是邊接收來自后端Web服務器的數據,邊發送給客戶端。 

  • 網絡依賴性低,理論上只要能夠ping通就可以實施負載均衡,而且可以有效區分內網、外網流量。 

  • 支持內置服務器檢測。Nginx能夠根據應用服務器處理頁面返回的狀態碼、超時信息等檢測服務器是否出現故障,並及時返回錯誤的請求重新提交到其它節點上。 

  • 此外還有內存消耗小、成本低廉(比F5硬件負載均衡器廉價太多)、節省帶寬、穩定性高等特點。

4、請列舉Nginx和Apache 之間的不同點

640?wx_fmt=png

5、請解釋什么是C10K問題?

C10K問題是指無法同時處理大量客戶端(10,000)的網絡套接字。

6、 使用“反向代理服務器”的優點是什么?

反向代理服務器可以隱藏源服務器的存在和特征。它充當互聯網雲和web服務器之間的中間層。這對於安全方面來說是很好的,特別是當您使用web托管服務時。

7、請列舉Nginx服務器的最佳用途。

Nginx服務器的最佳用法是在網絡上部署動態HTTP內容,使用SCGIWSGI應用程序服務器、用於腳本的FastCGI處理程序。它還可以作為負載均衡器。

8、請解釋Nginx服務器上的MasterWorker進程分別是什么?

Master進程:讀取及評估配置和維持

Worker進程:處理請求

9、請解釋你如何通過不同於80的端口開啟Nginx?

為了通過一個不同的端口開啟Nginx,你必須進入/etc/Nginx/sites-enabled/,如果這是默認文件,那么你必須打開名為“default”的文件。編輯文件,並放置在你想要的端口:

Like server { listen 81; } 

10、請解釋是否有可能將Nginx的錯誤替換為502錯誤、503?

502 =錯誤網關

503 =服務器超載

有可能,但是您可以確保fastcgi_intercept_errors被設置為ON,並使用錯誤頁面指令。

Location / { fastcgi_pass 127.0.01:9001; fastcgi_intercept_errors on; error_page 502 =503/error_page.html; #… } 

11、在Nginx中,解釋如何在URL中保留雙斜線?

要在URL中保留雙斜線,就必須使用merge_slashes_off;

語法:merge_slashes [on/off]

默認值: merge_slashes on

環境: http,server

12、請解釋ngx_http_upstream_module的作用是什么?

ngx_http_upstream_module用於定義可通過fastcgi傳遞、proxy傳遞、uwsgi傳遞、memcached傳遞和scgi傳遞指令來引用的服務器組。

13、請陳述stub_statussub_filter指令的作用是什么?

Stub_status指令:該指令用於了解Nginx當前狀態的當前狀態,如當前的活動連接,接受和處理當前讀/寫/等待連接的總數

Sub_filter指令:它用於搜索和替換響應中的內容,並快速修復陳舊的數據

14、解釋Nginx是否支持將請求壓縮到上游?

您可以使用Nginx模塊gunzip將請求壓縮到上游。gunzip模塊是一個過濾器,它可以對不支持“gzip”編碼方法的客戶機或服務器使用“內容編碼:gzip”來解壓縮響應。

15、解釋如何在Nginx中獲得當前的時間?

要獲得Nginx的當前時間,必須使用SSI模塊、$date_gmt$date_local的變量。

Proxy_set_header THE-TIME $date_gmt;

16、用Nginx服務器解釋-s的目的是什么?

用於運行Nginx -s參數的可執行文件。

17、解釋如何在Nginx服務器上添加模塊?

在編譯過程中,必須選擇Nginx模塊,因為Nginx不支持模塊的運行時間選擇。


免責聲明!

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



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