主頁(yè) > 知識(shí)庫(kù) > 服務(wù)器Apache與Tomcat和Nginx的理解和對(duì)比分析詳解

服務(wù)器Apache與Tomcat和Nginx的理解和對(duì)比分析詳解

熱門標(biāo)簽:江蘇電銷外呼防封系統(tǒng)是什么 長(zhǎng)沙開福怎么申請(qǐng)400電話 百度地圖標(biāo)注要不要錢 高德地圖標(biāo)注無(wú)營(yíng)業(yè)執(zhí)照 廣州電銷機(jī)器人系統(tǒng)圖 東莞人工智能電銷機(jī)器人供應(yīng)商 金融行業(yè)外呼線路 智能電話機(jī)器人線路 賀州市地圖標(biāo)注app

1 問題

公司服務(wù)器用的Apache,后臺(tái)是php語(yǔ)言,然后服務(wù)端用的linux C/C++,會(huì)經(jīng)常聽到Apache服務(wù)器,然后之前實(shí)習(xí)的公司服務(wù)端用的java,然后依稀記得使用了nginx反向代理服務(wù)器和tomcat,請(qǐng)求先經(jīng)過(guò)nginx然后再去通過(guò)tomcat轉(zhuǎn)發(fā)請(qǐng)求,然后對(duì)Apache服務(wù)器和tomcat和nginx理解就有點(diǎn)模糊了,然后今天查閱相關(guān)資料對(duì)使用場(chǎng)景和進(jìn)行對(duì)比

2 Apache、Tomcat 、Nginx名詞解釋

1 ) Apache

Apache HTTP服務(wù)器是一個(gè)模塊化的服務(wù)器,可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上,Linux、Unix、Windows等,屬于應(yīng)用服務(wù)器。

Apache支持模塊多,性能穩(wěn)定,Apache本身是靜態(tài)解析,適合靜態(tài)HTML、圖片等,比如我之前用過(guò)freemarker,也是靜態(tài)的,但可以通過(guò)擴(kuò)展腳本、模塊等支持動(dòng)態(tài)頁(yè)面等。

Apache可以支持PHP、cgi、perl,但是要使用Java的話,你需要Tomcat在Apache后臺(tái)支撐,將Java請(qǐng)求由Apache轉(zhuǎn)發(fā)給Tomcat處理.

缺點(diǎn):配置相對(duì)復(fù)雜,自身不支持動(dòng)態(tài)頁(yè)面,需要插件擴(kuò)展來(lái)輔助支持動(dòng)態(tài)頁(yè)面解析,如FastCGI、Tomcat,搞j2ee的小伙伴知道我們動(dòng)態(tài)頁(yè)面需要使用到j(luò)sp,所以我們是需要Tomcat來(lái)解析動(dòng)態(tài)頁(yè)面的,Tomcat就是servlet容器,當(dāng)然它可以獨(dú)立于Apache,直接把tomcat作為服務(wù)器

2 ) Tomcat

Tomcat是應(yīng)用(Java)服務(wù)器,它只是一個(gè)Servlet(JSP也翻譯成Servlet)容器,可以認(rèn)為是Apache的擴(kuò)展,但是可以獨(dú)立于Apache運(yùn)行,也就是說(shuō)沒有Apache,只有Tomcat也可以解析靜態(tài)頁(yè)面和動(dòng)態(tài)頁(yè)面(jsp),

3 ) Nginx

Nginx是俄羅斯人編寫的十分輕量級(jí)的HTTP服務(wù)器,是一個(gè)高性能的HTTP和反向代理服務(wù)器,同時(shí)也是一個(gè)IMAP/POP3/SMTP 代理服務(wù)器。

3 對(duì)比

1) Apache 與 Tomcat 比較

相同點(diǎn):

都是Apache組織開發(fā)的,都有HTTP服務(wù)的功能,兩者都是開源、免費(fèi)的。

不同點(diǎn):

a) Apache是專門用了提供HTTP服務(wù)的,以及相關(guān)配置的(例如虛擬主機(jī)、URL轉(zhuǎn)發(fā)等等),而Tomcat是Apache組織在符合Java EE的JSP、Servlet標(biāo)準(zhǔn)下開發(fā)的一個(gè)JSP服務(wù)器

b) Apache是一個(gè)Web服務(wù)器環(huán)境程序,啟用他可以作為Web服務(wù)器使用,不過(guò)只支持靜態(tài)網(wǎng)頁(yè)如ASP、PHP,F(xiàn)reemarker,你要搞java服務(wù)端用到動(dòng)態(tài)語(yǔ)言比如jsp,就需要Tomcat這個(gè)解釋器,用來(lái)解析jsp,Apache是不能解析的,切記。

c) Apache 側(cè)重于HTTP Server,Tomcat 側(cè)重于Servlet容器,支持JSP,但對(duì)靜態(tài)網(wǎng)頁(yè)不太理想,也就是說(shuō)Apache和Tomcat這個(gè)2個(gè)服務(wù)器,Apache對(duì)靜態(tài)文件處理能力強(qiáng)于Tomcat,Tomcat實(shí)用于解析動(dòng)態(tài)語(yǔ)言(jsp),我們可以用Apache處理靜文件,用Tomcat處理動(dòng)態(tài)文件

d) Apache是Web服務(wù)器,Tomcat是應(yīng)用(Java)服務(wù)器,可以認(rèn)為是Apache的擴(kuò)展,但是可以獨(dú)立于Apache運(yùn)行

實(shí)際使用:

Apache+Tomcat(如果是java服務(wù)端)

戶端請(qǐng)求的是靜態(tài)頁(yè)面,則只需要Apache服務(wù)器響應(yīng)請(qǐng)求。

客戶端請(qǐng)求動(dòng)態(tài)頁(yè)面,則是Tomcat服務(wù)器響應(yīng)請(qǐng)求,JSP是服務(wù)器端解釋代碼的,這樣整合就可以減少Tomcat的服務(wù)開銷。

可以理解 Tomcat為Apache的一種擴(kuò)展。

2)Nginx 與 Apache 比較

1 Nginx 優(yōu)點(diǎn)

a)輕量級(jí),同樣是web 服務(wù),比apache占用更少的內(nèi)存及資源 。

b)抗并發(fā),nginx 處理請(qǐng)求是異步非阻塞的,多個(gè)連接(萬(wàn)級(jí)別)可以對(duì)應(yīng)一個(gè)進(jìn)程,而apache 則是同步阻塞型的,同步多進(jìn)程模型,一個(gè)連接對(duì)應(yīng)一個(gè)進(jìn)程

c)高度模塊化的設(shè)計(jì),編寫模塊相對(duì)簡(jiǎn)單。 

d)提供負(fù)載均衡

e)配置簡(jiǎn)潔

f  ) Nginx 靜態(tài)處理性能比 Apache 高 3倍以上

e ) nginx只適合靜態(tài)和反向代理

反向代理的理解:

反向代理(Reverse Proxy)方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器處理,其本身并不做處理,

并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)web服務(wù)器,實(shí)際只做了轉(zhuǎn)發(fā),沒有做處理。

2  Apache 優(yōu)點(diǎn)

a)apache的 rewrite 比nginx 的強(qiáng)大。 

b)支持動(dòng)態(tài)頁(yè)面。

c)支持的模塊多,基本涵蓋所有應(yīng)用。

d)性能穩(wěn)定。

e ) Apache 對(duì) PHP 支持比較簡(jiǎn)單

f ) 相比nginx,動(dòng)態(tài)請(qǐng)求由apache去做比較好。

3)Nginx 與 Tomcat 比較

我們知道Nginx一般處理靜態(tài)處理能力很強(qiáng),但是不能解析動(dòng)態(tài)語(yǔ)言比如(jsp)我們,還需要Tomcat進(jìn)行解釋jsp,所以動(dòng)態(tài)處理我們一般使用Tomcat,靜態(tài)處理使用Nginx,我之前實(shí)習(xí)的公司網(wǎng)站就是Nginx+Tomcat組合使用,Nginx起到反向代理的作用,如果是靜態(tài)處理通過(guò)Nginx處理,動(dòng)態(tài)請(qǐng)求才到后臺(tái)Tomcat進(jìn)行處理,這也就是Nginx的動(dòng)態(tài)分離機(jī)制,我之前還不是太理解,現(xiàn)在終于理解為什么要這么搭配了,說(shuō)到底就是Nginx的靜態(tài)處理能力比Tomcat強(qiáng),所以我們需要請(qǐng)求先經(jīng)過(guò)Nginx,這里就不需要用到Apache服務(wù)器。

4 小結(jié)

a ) 靜態(tài)處理能力:

Nginx(至少是Apache3倍)>Apache>Tomcat

b)Nginx優(yōu)點(diǎn):負(fù)載均衡、反向代理、處理靜態(tài)文件優(yōu)勢(shì),這也就是為啥java服務(wù)器Tomcat前面先要經(jīng)過(guò)Nginx服務(wù)器處理一波,(只轉(zhuǎn)發(fā)請(qǐng)求,不做其他操作,可以看下上面的反向代理的解釋),Nginx并發(fā)性比較好,CPU內(nèi)存占用低

c)Apache優(yōu)點(diǎn):相對(duì)于Tomcat服務(wù)器來(lái)說(shuō)處理靜態(tài)文件是它的優(yōu)勢(shì),速度快。Apache是靜態(tài)解析,適合靜態(tài)HTML、圖片,當(dāng)然讀寫能力比較強(qiáng),如果rewrite頻繁,那還是Apache較適合,比較穩(wěn)定,處理動(dòng)態(tài)有優(yōu)勢(shì)。前提是沒有Tomcat,也就是說(shuō)不是java服務(wù)端。

d)Tomcat:動(dòng)態(tài)解析容器,處理動(dòng)態(tài)請(qǐng)求,是編譯JSP、Servlet的容器,Nginx有動(dòng)態(tài)分離機(jī)制,靜態(tài)請(qǐng)求直接就可以通過(guò)Nginx處理,動(dòng)態(tài)請(qǐng)求才轉(zhuǎn)發(fā)請(qǐng)求到后臺(tái)交由Tomcat進(jìn)行處理。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

標(biāo)簽:廊坊 永州 洛陽(yáng) 張家界 滄州 北京 松原 玉樹

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《服務(wù)器Apache與Tomcat和Nginx的理解和對(duì)比分析詳解》,本文關(guān)鍵詞  服務(wù)器,Apache,與,Tomcat,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《服務(wù)器Apache與Tomcat和Nginx的理解和對(duì)比分析詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于服務(wù)器Apache與Tomcat和Nginx的理解和對(duì)比分析詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章