這篇文章給大家分享的是有關(guān)服務(wù)器Apache與Tomcat和Nginx的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
目前創(chuàng)新互聯(lián)建站已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站運營、企業(yè)網(wǎng)站設(shè)計、西城網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。1 問題
公司服務(wù)器用的Apache,后臺是php語言,然后服務(wù)端用的linux C/C++,會經(jīng)常聽到Apache服務(wù)器,然后之前實習(xí)的公司服務(wù)端用的java,然后依稀記得使用了nginx反向代理服務(wù)器和tomcat,請求先經(jīng)過nginx然后再去通過tomcat轉(zhuǎn)發(fā)請求,然后對Apache服務(wù)器和tomcat和nginx理解就有點模糊了,然后今天查閱相關(guān)資料對使用場景和進行對比
2 Apache、Tomcat 、Nginx名詞解釋
1 ) Apache
Apache HTTP服務(wù)器是一個模塊化的服務(wù)器,可以運行在幾乎所有廣泛使用的計算機平臺上,Linux、Unix、Windows等,屬于應(yīng)用服務(wù)器。
Apache支持模塊多,性能穩(wěn)定,Apache本身是靜態(tài)解析,適合靜態(tài)HTML、圖片等,比如我之前用過freemarker,也是靜態(tài)的,但可以通過擴展腳本、模塊等支持動態(tài)頁面等。
Apache可以支持PHP、cgi、perl,但是要使用Java的話,你需要Tomcat在Apache后臺支撐,將Java請求由Apache轉(zhuǎn)發(fā)給Tomcat處理.
缺點:配置相對復(fù)雜,自身不支持動態(tài)頁面,需要插件擴展來輔助支持動態(tài)頁面解析,如FastCGI、Tomcat,搞j2ee的小伙伴知道我們動態(tài)頁面需要使用到j(luò)sp,所以我們是需要Tomcat來解析動態(tài)頁面的,Tomcat就是servlet容器,當(dāng)然它可以獨立于Apache,直接把tomcat作為服務(wù)器
2 ) Tomcat
Tomcat是應(yīng)用(Java)服務(wù)器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認(rèn)為是Apache的擴展,但是可以獨立于Apache運行,也就是說沒有Apache,只有Tomcat也可以解析靜態(tài)頁面和動態(tài)頁面(jsp),
3 ) Nginx
Nginx是俄羅斯人編寫的十分輕量級的HTTP服務(wù)器,是一個高性能的HTTP和反向代理服務(wù)器,同時也是一個IMAP/POP3/SMTP 代理服務(wù)器。
3 對比
1) Apache 與 Tomcat 比較
相同點:
都是Apache組織開發(fā)的,都有HTTP服務(wù)的功能,兩者都是開源、免費的。
不同點:
a) Apache是專門用了提供HTTP服務(wù)的,以及相關(guān)配置的(例如虛擬主機、URL轉(zhuǎn)發(fā)等等),而Tomcat是Apache組織在符合Java EE的JSP、Servlet標(biāo)準(zhǔn)下開發(fā)的一個JSP服務(wù)器
b) Apache是一個Web服務(wù)器環(huán)境程序,啟用他可以作為Web服務(wù)器使用,不過只支持靜態(tài)網(wǎng)頁如ASP、PHP,F(xiàn)reemarker,你要搞java服務(wù)端用到動態(tài)語言比如jsp,就需要Tomcat這個解釋器,用來解析jsp,Apache是不能解析的,切記。
c) Apache 側(cè)重于HTTP Server,Tomcat 側(cè)重于Servlet容器,支持JSP,但對靜態(tài)網(wǎng)頁不太理想,也就是說Apache和Tomcat這個2個服務(wù)器,Apache對靜態(tài)文件處理能力強于Tomcat,Tomcat實用于解析動態(tài)語言(jsp),我們可以用Apache處理靜文件,用Tomcat處理動態(tài)文件
d) Apache是Web服務(wù)器,Tomcat是應(yīng)用(Java)服務(wù)器,可以認(rèn)為是Apache的擴展,但是可以獨立于Apache運行
實際使用:
Apache+Tomcat(如果是java服務(wù)端)
戶端請求的是靜態(tài)頁面,則只需要Apache服務(wù)器響應(yīng)請求。
客戶端請求動態(tài)頁面,則是Tomcat服務(wù)器響應(yīng)請求,JSP是服務(wù)器端解釋代碼的,這樣整合就可以減少Tomcat的服務(wù)開銷。
可以理解 Tomcat為Apache的一種擴展。
2)Nginx 與 Apache 比較
1 Nginx 優(yōu)點
a)輕量級,同樣是web 服務(wù),比apache占用更少的內(nèi)存及資源 。
b)抗并發(fā),nginx 處理請求是異步非阻塞的,多個連接(萬級別)可以對應(yīng)一個進程,而apache 則是同步阻塞型的,同步多進程模型,一個連接對應(yīng)一個進程
c)高度模塊化的設(shè)計,編寫模塊相對簡單。
d)提供負(fù)載均衡
e)配置簡潔
f ) Nginx 靜態(tài)處理性能比 Apache 高 3倍以上
e ) nginx只適合靜態(tài)和反向代理
反向代理的理解:
反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器處理,其本身并不做處理,
并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個web服務(wù)器,實際只做了轉(zhuǎn)發(fā),沒有做處理。
2 Apache 優(yōu)點
a)apache的 rewrite 比nginx 的強大。
b)支持動態(tài)頁面。
c)支持的模塊多,基本涵蓋所有應(yīng)用。
d)性能穩(wěn)定。
e ) Apache 對 PHP 支持比較簡單
f ) 相比nginx,動態(tài)請求由apache去做比較好。
3)Nginx 與 Tomcat 比較
我們知道Nginx一般處理靜態(tài)處理能力很強,但是不能解析動態(tài)語言比如(jsp)我們,還需要Tomcat進行解釋jsp,所以動態(tài)處理我們一般使用Tomcat,靜態(tài)處理使用Nginx,我之前實習(xí)的公司網(wǎng)站就是Nginx+Tomcat組合使用,Nginx起到反向代理的作用,如果是靜態(tài)處理通過Nginx處理,動態(tài)請求才到后臺Tomcat進行處理,這也就是Nginx的動態(tài)分離機制,我之前還不是太理解,現(xiàn)在終于理解為什么要這么搭配了,說到底就是Nginx的靜態(tài)處理能力比Tomcat強,所以我們需要請求先經(jīng)過Nginx,這里就不需要用到Apache服務(wù)器。
4 小結(jié)
a ) 靜態(tài)處理能力:
Nginx(至少是Apache3倍)>Apache>Tomcat
b)Nginx優(yōu)點:負(fù)載均衡、反向代理、處理靜態(tài)文件優(yōu)勢,這也就是為啥java服務(wù)器Tomcat前面先要經(jīng)過Nginx服務(wù)器處理一波,(只轉(zhuǎn)發(fā)請求,不做其他操作,可以看下上面的反向代理的解釋),Nginx并發(fā)性比較好,CPU內(nèi)存占用低
c)Apache優(yōu)點:相對于Tomcat服務(wù)器來說處理靜態(tài)文件是它的優(yōu)勢,速度快。Apache是靜態(tài)解析,適合靜態(tài)HTML、圖片,當(dāng)然讀寫能力比較強,如果rewrite頻繁,那還是Apache較適合,比較穩(wěn)定,處理動態(tài)有優(yōu)勢。前提是沒有Tomcat,也就是說不是java服務(wù)端。
d)Tomcat:動態(tài)解析容器,處理動態(tài)請求,是編譯JSP、Servlet的容器,Nginx有動態(tài)分離機制,靜態(tài)請求直接就可以通過Nginx處理,動態(tài)請求才轉(zhuǎn)發(fā)請求到后臺交由Tomcat進行處理。
感謝各位的閱讀!關(guān)于“服務(wù)器Apache與Tomcat和Nginx的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
分享文章:服務(wù)器Apache與Tomcat和Nginx的示例分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.rwnh.cn/article34/cssipe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、自適應(yīng)網(wǎng)站、Google、App設(shè)計、虛擬主機、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容