聲明:此文章非本人所 原創,是別人分享所得,如有知道原作者是誰可以聯繫本人,如有轉載請加上此段話 1、請解釋一下什麼是 Nginx? Nginx是一個 web伺服器和反向代理伺服器,用於 HTTP、HTTPS、SMTP、POP3和 IMAP協議。 2、請列舉 Nginx的一些特性。 Nginx伺服器 ...
聲明:此文章非本人所 原創,是別人分享所得,如有知道原作者是誰可以聯繫本人,如有轉載請加上此段話
1、請解釋一下什麼是 Nginx?
Nginx是一個 web伺服器和反向代理伺服器,用於 HTTP、HTTPS、SMTP、POP3和 IMAP協議。
2、請列舉 Nginx的一些特性。
Nginx伺服器的特性包括:
反向代理/L7負載均衡器
嵌入式 Perl解釋器
動態二進位升級可用於重新編寫 URL,具有非常好的 PCRE支持
3、請解釋 Nginx如何處理 HTTP請求。
Nginx使用反應器模式。主事件迴圈等待操作系統發出準備事件的信號,這樣數據就可以從套接字讀取,在該實例中讀取到緩衝區併進行處理。單個線程可以提供數萬個併發連接。
4、在 Nginx中,如何使用未定義的伺服器名稱來阻止處理請求?
只需將請求刪除的伺服器定義為:
Server {listen 80;server_name “ “ ;return 444;
}
這裡,伺服器名被保留為一個空字元串,它將在沒有“主機”頭欄位的情況下匹配請求,而一個特殊的 Nginx的非標準代碼 444被返回,從而終止連接。
5、 使用“反向代理伺服器”的優點是什麼?反向代理伺服器可以隱藏源伺服器的存在和特征。它充當互聯網雲和 web服務器之間的中間層。這對於安全方面來說是很好的,特別是當您使用 web托管服務時。
6、請列舉 Nginx伺服器的最佳用途。Nginx伺服器的最佳用法是在網路上部署動態 HTTP內容,使用 SCGI、WSGI應用程式伺服器、用於腳本的 FastCGI處理程式。它還可以作為負載均衡器。
7、請解釋 Nginx 伺服器上的 Master 和 Worker 進程分別是什麼?
Master進程:讀取及評估配置和維持
Worker進程:處理請求
8、請解釋你如何通過不同於 80 的埠開啟 Nginx?
為了通過一個不同的埠開啟 Nginx,你必須進入/etc/Nginx/sites-enabled/,如果這是預設文件,那麼你必須打開名為“default”的文件。編輯文件,並放置在你想要的埠:
Like server { listen 81; }
9、請解釋是否有可能將 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;#…}
10、在 Nginx 中,解釋如何在 URL 中保留雙斜線?
要在 URL中保留雙斜線,就必須使用 merge_slashes_off;
語法:merge_slashes [on/off]
預設值: merge_slashes on環境: http,server
11、請解釋 ngx_http_upstream_module 的作用是什麼?
ngx_http_upstream_module用於定義可通過 fastcgi傳遞、proxy傳遞、uwsgi傳遞、memcached傳遞和 scgi傳遞指令來引用的伺服器組。
12、請解釋什麼是 C10K 問題?C10K問題是指無法同時處理大量客戶端(10,000)的網路套接字。
13、請陳述 stub_status 和 sub_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不支持模塊的運行時間選擇。