學(xué)AI,好工作 就找北大青鳥(niǎo)
關(guān)注小青 聽(tīng)課做題,輕松學(xué)習(xí)
周一至周日
4000-9696-28

什么是Nginx??Nginx?面試一般都會(huì)問(wèn)哪些專(zhuān)業(yè)的問(wèn)題呢?

來(lái)源:北大青鳥(niǎo)總部 2019年12月24日 10:11

摘要: 什么是Nginx??Nginx?面試一般都會(huì)問(wèn)哪些專(zhuān)業(yè)的問(wèn)題呢?

最近,有位朋友向小青咨詢:什么是Nginx?,面試的時(shí)候一般都會(huì)問(wèn)哪些專(zhuān)業(yè)的問(wèn)題呢?”,但說(shuō)實(shí)話,我對(duì)Nginx的了解處于小白的階段。所以,小青不得不向同事以及度娘請(qǐng)教,今天就將我請(qǐng)教的成果整理如下,希望能夠幫助到大家哦!

1569377699(1).jpg

1、什么是Nginx

  Nginx (engine x) 是一個(gè)高性能的HTTP反向代理web服務(wù)器,Nginx是由伊戈?duì)枴べ愃饕驗(yàn)?/span>俄羅斯訪問(wèn)量第二的Rambler.ru站點(diǎn)(俄文:Рамблер)開(kāi)發(fā)的,第一個(gè)公開(kāi)版本0.1.0發(fā)布于2004年10月4日。其將源代碼以類(lèi)BSD許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。2011年6月1日,nginx 1.0.4發(fā)布。

Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力在同類(lèi)型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。

2、為什么要用Nginx

跨平臺(tái)、配置簡(jiǎn)單、方向代理、高并發(fā)連接:處理2-3萬(wàn)并發(fā)連接數(shù),官方監(jiān)測(cè)能支持5萬(wàn)并發(fā),內(nèi)存消耗?。洪_(kāi)啟10個(gè)nginx才占150M內(nèi)存 ,nginx處理靜態(tài)文件好,耗費(fèi)內(nèi)存少,

而且Nginx內(nèi)置的健康檢查功能:如果有一個(gè)服務(wù)器宕機(jī),會(huì)做一個(gè)健康檢查,再發(fā)送的請(qǐng)求就不會(huì)發(fā)送到宕機(jī)的服務(wù)器了。重新將請(qǐng)求提交到其他的節(jié)點(diǎn)上。

使用Nginx的話還能:

節(jié)省寬帶:支持GZIP壓縮,可以添加瀏覽器本地緩存

穩(wěn)定性高:宕機(jī)的概率非常小

接收用戶請(qǐng)求是異步的

3、為什么Nginx性能這么高

因?yàn)樗氖录幚頇C(jī)制:異步非阻塞事件處理機(jī)制:運(yùn)用了epoll模型,提供了一個(gè)隊(duì)列,排隊(duì)解決

4.Nginx怎么處理請(qǐng)求的

nginx接收一個(gè)請(qǐng)求后,首先由listen和server_name指令匹配server模塊,再匹配server模塊里的location,location就是實(shí)際地址

5.什么是正向代理和反向代理

1、正向代理就是一個(gè)人發(fā)送一個(gè)請(qǐng)求直接就到達(dá)了目標(biāo)的服務(wù)器

2、反方代理就是請(qǐng)求統(tǒng)一被Nginx接收,nginx反向代理服務(wù)器接收到之后,按照一定的規(guī) 則分發(fā)給了后端的業(yè)務(wù)處理服務(wù)器進(jìn)行處理了

6.使用“反向代理服務(wù)器的優(yōu)點(diǎn)是什么?

反向代理服務(wù)器可以隱藏源服務(wù)器的存在和特征。它充當(dāng)互聯(lián)網(wǎng)云和web服務(wù)器之間的中間層。這對(duì)于安全方面來(lái)說(shuō)是很好的,特別是當(dāng)您使用web托管服務(wù)時(shí)。

7.Nginx的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

1.占內(nèi)存小,可實(shí)現(xiàn)高并發(fā)連接,處理響應(yīng)快

2.可實(shí)現(xiàn)http服務(wù)器、虛擬主機(jī)、方向代理、負(fù)載均衡

3.Nginx配置簡(jiǎn)單

4.可以不暴露正式的服務(wù)器IP地址

缺點(diǎn):

動(dòng)態(tài)處理差:nginx處理靜態(tài)文件好,耗費(fèi)內(nèi)存少,但是處理動(dòng)態(tài)頁(yè)面則很雞肋,現(xiàn)在一般前端用nginx作為反向代理抗住壓力,

8.如何用Nginx解決前端跨域問(wèn)題?

使用Nginx轉(zhuǎn)發(fā)請(qǐng)求。把跨域的接口寫(xiě)成調(diào)本域的接口,然后將這些接口轉(zhuǎn)發(fā)到真正的請(qǐng)求地址。

9 .限流怎么做的,算法是什么,(限制請(qǐng)求速度)

Nginx限流就是限制用戶請(qǐng)求速度,防止服務(wù)器受不了

限流有3種,我這只寫(xiě)了最平常的一種(限制訪問(wèn)頻率(正常流量))

1、限制訪問(wèn)頻率(正常流量)

2、限制訪問(wèn)頻率(突發(fā)流量)

3、限制并發(fā)連接數(shù)

1、限制訪問(wèn)頻率(正常流量):限制一個(gè)用戶發(fā)送的請(qǐng)求,我Nginx多久接收一個(gè)。

#定義限流維度,一個(gè)用戶一分鐘一個(gè)請(qǐng)求進(jìn)來(lái),多余的全部漏掉

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/m;

#綁定限流維度

server{

location/seckill.html{

limit_req zone=one  

proxy_pass http://lj_seckill;

}

}

1r/s代表1秒一個(gè)請(qǐng)求 1r/m一分鐘接收一個(gè)請(qǐng)求

(此流也叫做漏桶流,多余的請(qǐng)求全部不要,漏掉)

10.為什么要做動(dòng)靜分離?

Nginx是當(dāng)下最熱的Web容器,網(wǎng)站優(yōu)化的重要點(diǎn)在于靜態(tài)化網(wǎng)站,網(wǎng)站靜態(tài)化的關(guān)鍵點(diǎn)則是是動(dòng)靜分離,動(dòng)靜分離是讓動(dòng)態(tài)網(wǎng)站里的動(dòng)態(tài)網(wǎng)頁(yè)根據(jù)一定規(guī)則把不變的資源和經(jīng)常變的資源區(qū)分開(kāi)來(lái),動(dòng)靜資源做好了拆分以后,我們則根據(jù)靜態(tài)資源的特點(diǎn)將其做緩存操作。

讓靜態(tài)的資源只走靜態(tài)資源服務(wù)器,動(dòng)態(tài)的走動(dòng)態(tài)的服務(wù)器

Nginx的靜態(tài)處理能力很強(qiáng),但是動(dòng)態(tài)處理能力不足,因此,在企業(yè)中常用動(dòng)靜分離技術(shù)。

對(duì)于靜態(tài)資源比如圖片,js,css等文件,我們則在反向代理服務(wù)器nginx中進(jìn)行緩存。這樣瀏覽器在請(qǐng)求一個(gè)靜態(tài)資源時(shí),代理服務(wù)器nginx就可以直接處理,無(wú)需將請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器tomcat。

若用戶請(qǐng)求的動(dòng)態(tài)文件,比如servlet,jsp則轉(zhuǎn)發(fā)給Tomcat服務(wù)器處理,從而實(shí)現(xiàn)動(dòng)靜分離。這也是反向代理服務(wù)器的一個(gè)重要的作用。

以上,就是小青為大家整理的Nginx面試常見(jiàn)問(wèn)題,希望能夠幫助到大家!由于內(nèi)容是整理的,如有侵權(quán)請(qǐng)聯(lián)系小編進(jìn)行刪除!

熱門(mén)班型時(shí)間
人工智能就業(yè)班 即將爆滿
AI應(yīng)用線上班 即將爆滿
UI設(shè)計(jì)全能班 即將爆滿
數(shù)據(jù)分析綜合班 即將爆滿
軟件開(kāi)發(fā)全能班 爆滿開(kāi)班
網(wǎng)絡(luò)安全運(yùn)營(yíng)班 爆滿開(kāi)班
報(bào)名優(yōu)惠
免費(fèi)試聽(tīng)
課程資料
官方微信
返回頂部
培訓(xùn)課程 熱門(mén)話題 站內(nèi)鏈接