更新時間:2020-11-04 17:47:12 來源:動力節(jié)點(diǎn) 瀏覽3224次
Nginx是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,也是目前百度、京東、新浪、網(wǎng)易、騰訊、淘寶等大型互聯(lián)網(wǎng)公司的必備網(wǎng)站服務(wù)器。因此,也是目前這些大廠的面試必考題目之一,本文我們?yōu)榇蠹規(guī)砹司x的10道Nginx面試題,但愿對于正在找工作的你,或者是學(xué)習(xí)中的程序員有所幫助。
1.什么是 Nginx?
Nginx是一個web服務(wù)器和反向代理服務(wù)器,用于HTTP、HTTPS、SMTP、POP3和IMAP協(xié)議。
2.使用“反向代理服務(wù)器”的優(yōu)點(diǎn)是什么?
反向代理服務(wù)器可以隱藏源服務(wù)器的存在和特征。它充當(dāng)互聯(lián)網(wǎng)云和web服務(wù)器之間的中間層。這對于安全方面來說是很好的,特別是當(dāng)使用web托管服務(wù)時。
3.容器與主機(jī)之間的數(shù)據(jù)拷貝命令?
Docker cp命令用于窮奇與主機(jī)之間的數(shù)據(jù)拷貝
主機(jī)到哦容器:docker cp /www 96f7f14e99ab:/www/
容器到主機(jī):docker cp 96f7f14e99ab:/www /tmp
4.如何在生產(chǎn)中監(jiān)控docker?
5.在Nginx中,如何使用未定義的服務(wù)器名稱來阻止處理請求?
只需將請求刪除的服務(wù)器就可以定義為:
server{
listen:80;
server_name "";
return404
}
這里,服務(wù)器名被保留為一個空字符串,它將在沒有“主機(jī)”頭字段的情況下匹配請求,而一個特殊的Nginx的非標(biāo)準(zhǔn)代碼444被返回,從而終止連接。
6.請解釋是否有可能將Nginx的錯誤替換為502錯誤、503?
502 =錯誤網(wǎng)關(guān)
503 =服務(wù)器超載
有可能,但是您可以確保fastcgi_intercept_errors被設(shè)置為ON,并使用錯誤頁面指令。
7.在Nginx中,解釋如何在URL中保留雙斜線?
要在URL中保留雙斜線,就必須使用merge_slashes_off;
語法:merge_slashes [on/off]
默認(rèn)值: merge_slashes on
環(huán)境: http,server
8.請列舉Nginx的一些特性。
反向代理/L7負(fù)載均衡器
嵌入式Perl解釋器
動態(tài)二進(jìn)制升級
可用于重新編寫URL,具有非常好的PCRE支持
9.請解釋Nginx如何處理HTTP請求。
Nginx 是一個高性能的 Web 服務(wù)器,能夠同時處理大量的并發(fā)請求。它結(jié)合多進(jìn)程機(jī)制和異步機(jī)制 ,異步機(jī)制使用的是異步非阻塞方式 ,接下來就給大家介紹一下 Nginx 的多線程機(jī)制和異步非阻塞機(jī)制 。
(1)多進(jìn)程機(jī)制
服務(wù)器每當(dāng)收到一個客戶端時,就有 服務(wù)器主進(jìn)程 ( master process )生成一個 子進(jìn)程( worker process )出來和客戶端建立連接進(jìn)行交互,直到連接斷開,該子進(jìn)程就結(jié)束了。
使用進(jìn)程的好處是各個進(jìn)程之間相互獨(dú)立,不需要加鎖,減少了使用鎖對性能造成影響,同時降低編程的復(fù)雜度,降低開發(fā)成本。其次,采用獨(dú)立的進(jìn)程,可以讓進(jìn)程互相之間不會影響 ,如果一個進(jìn)程發(fā)生異常退出時,其它進(jìn)程正常工作, master 進(jìn)程則很快啟動新的 worker 進(jìn)程,確保服務(wù)不會中斷,從而將風(fēng)險降到最低。
缺點(diǎn)是操作系統(tǒng)生成一個子進(jìn)程需要進(jìn)行 內(nèi)存復(fù)制等操作,在資源和時間上會產(chǎn)生一定的開銷。當(dāng)有大量請求時,會導(dǎo)致系統(tǒng)性能下降 。
(2)異步非阻塞機(jī)制
每個工作進(jìn)程 使用 異步非阻塞方式 ,可以處理 多個客戶端請求 。
當(dāng)某個 工作進(jìn)程 接收到客戶端的請求以后,調(diào)用 IO 進(jìn)行處理,如果不能立即得到結(jié)果,就去 處理其他請求 (即為 非阻塞 );而 客戶端 在此期間也 無需等待響應(yīng) ,可以去處理其他事情(即為 異步 )。
當(dāng) IO 返回時,就會通知此 工作進(jìn)程 ;該進(jìn)程得到通知,暫時 掛起 當(dāng)前處理的事務(wù)去 響應(yīng)客戶端請求 。
10.Nginx服務(wù)器上的 Master和進(jìn)程分別是什么?
Master進(jìn)程:讀取及評估配置和維持 Worker進(jìn)程:處理請求
Nginx是網(wǎng)頁服務(wù)器運(yùn)維人員必備技能之一,Nginx服務(wù)器的并發(fā)能力備受許多大型互聯(lián)網(wǎng)公司青睞,所以在面試中Nginx相關(guān)的題目,基本上是必考的題目,希望大家可以更好的掌握掌握這10道精選Nginx面試題,能夠讓我們在面試的時候先聲奪人,贏取先機(jī),當(dāng)然java程序員的面試是一個綜合能力的考核,所以不至?xí)糔ginx面試題相關(guān)的知識,而且應(yīng)該全面去了解更多的知識,比如看看前輩們總結(jié)好的java面試題,可能會有更多的幫助。
初級 202925
初級 203221
初級 202629
初級 203743