日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx面试题及详解

發布時間:2023/12/10 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx面试题及详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nginx面試專欄

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

Nginx 是一個 web 服務器和反向代理服務器,用于 HTTP、HTTPS、SMTP、POP3和 IMAP 協議。

2、請列舉 Nginx 的一些特性。

Nginx 服務器的特性包括:

1.反向代理/L7 負載均衡器

2.嵌入式 Perl 解釋器
3.動態二進制升級
4.可用于重新編寫 URL,具有非常好的 PCRE 支持

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

1.輕量級,采用 C 進行編寫,同樣的 web 服務,會占用更少的內存及資源2.抗并發,nginx 以 epoll and kqueue 作為開發模型,處理請求是異步 非阻塞的,負載能力比 apache 高很多,而 apache 則是阻塞型的。在 高并發下 nginx 能保持低資源低消耗高性能 ,而 apache 在 PHP 處理 慢或者前端壓力很大的情況下,很容易出現進程數飆升,從而拒絕服務 的現 象。3.nginx 處理靜態文件好,靜態處理性能比 apache 高三倍以上4.nginx 的設計高度模塊化,編寫模塊相對簡單5.nginx 本身就是一個反向代理服務器,而且可以作為非常優秀的郵件代理服務器

Apache

1.apache 的 rewrite 比 nginx 強大,在 rewrite 頻繁的情況下,用 apache2.apache 發展到現在,模塊超多,基本想到的都可以找到3.apache 更為成熟,少 bug ,nginx 的 bug 相對較多4.apache 超穩定5.apache 對 PHP 支持比較簡單,nginx 需要配合其他后端用6.apache 在處理動態請求有優勢,nginx 在這方面是雞肋,一般動態請求要 apache 去做,nginx 適合靜態和反向。

4、請解釋 Nginx 如何處理 HTTP 請求。

Nginx 使用反應器模式。主事件循環等待操作系統發出準備事件的信號,這樣數據就可以從套接字讀取,在該實例中讀取到緩沖區并進行處理。單個線程可以提供數萬個并發連接。

5、在 Nginx 中,如何使用未定義的服務器名稱來阻止處理請求?

只需將請求刪除的服務器就可以定義為:
Server {listen 80;server_name “ “ ;return 444;}
這里,服務器名被保留為一個空字符串,它將在沒有“主機”頭字段的情況下匹配請求,而一個特殊的 Nginx 的非標準代碼 444 被返回,從而終止連接。

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

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

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

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

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

Master 進程:讀取及評估配置和維持
Worker 進程:處理請求

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

為了通過一個不同的端口開啟 Nginx,你必須進入/etc/Nginx/sitesenabled/,如果這是默認文件,那么你必須打開名為“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、請解釋什么是 C10K 問題?

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

14、請陳述 stub_status 和 sub_filter 指令的作用是什么?

Stub_status 指令:該指令用于了解 Nginx 當前狀態的當前狀態,如當前的活動連接,接受和處理當前讀/寫/等待連接的總數Sub_filter 指令:它用于搜索和替換響應中的內容,并快速修復陳舊的數據

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

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

16、解釋如何在 Nginx 中獲得當前的時間?
要獲得 Nginx 的當前時間,必須使用 SSI 模塊、dategmt和date_gmt 和dateg?mtdate_local 的變量。Proxy_set_header THE-TIME $date_gmt;

17、用 Nginx 服務器解釋-s 的目的是什么?
用于運行 Nginx -s 參數的可執行文件。

18、解釋如何在 Nginx 服務器上添加模塊?
在編譯過程中,必須選擇 Nginx 模塊,因為 Nginx 不支持模塊的運行時間選擇。

19.什么是虛擬主機?

有的網站訪問量大,需要負載均衡。然而并不是所有網站都如此出色,有的網站,由于訪問量太小,需要節省成本,將多個網站部署在同一臺服務器上。
例如將www.aaa.com和www.bbb.com兩個網站部署在同一臺服務器上,兩個域名解析到同一個IP地址,但是用戶通過兩個域名卻可以打開兩個完全不同的網站,互相不影響,就像訪問兩個服務器一樣,所以叫兩個虛擬主機。

20.Nginx為何不使用多線程?

眾所周知,沒創建一個新的線程,都需要為其分配cpu和內存。當然,創建進程也是一樣,但是由于線程過多會導致內存消耗過多。所以Nginx采用單線程異步處理用戶請求,這樣不需要不斷地為新的線程分配cpu和內存,減輕服務器內存消耗,所以使得Nginx性能方面更為高效。

21.nginx正向、反向代理

  • 反向代理和正向代理的區別就是:正向代理代理客戶端,反向代理代理服務器。

所謂“代理”,是指在內網邊緣 設置一個硬件/軟件轉發請求;“正向”還是“反向”的說法,取決于轉發的是"出站請求"還是"入站請求".

  • 正向代理: 處理來自客戶端的出站請求,將其轉發到Internet,然后將生成的響應返回給客戶端。
  • 反向代理: 處理來自Internet的入站請求,將其轉發給后端工作程序,然后將響應返回給Internet。

22.nginx的動靜分離?

在日常開發中,前端請求靜態文件比如圖片資源是不需要經過后端服務器的,但是調用API這些類型的就需要后端進行處理請求,所以為了提高對資源文件的響應速度,我們應該使用動靜分離的策略去做架構。我們可以將靜態文件放到Nginx中,將動態資源的請求轉發到后端服務器去進行進一步的處理。

關于大廠面試題可以參考
java面試題(大廠核心)這篇文章

好好學習,一起加油!!!

原文鏈接:https://wenku.baidu.com/view/d361023cdc3383c4bb4cf7ec4afe04a1b071b0c7.html

總結

以上是生活随笔為你收集整理的nginx面试题及详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。