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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

服务器之Apache和Tomcat和Nginx的理解和对比

發布時間:2023/12/4 Nginx 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 服务器之Apache和Tomcat和Nginx的理解和对比 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 問題

公司服務器用的Apache,后臺是php語言,然后服務端用的linux C/C++,會經常聽到Apache服務器,然后之前實習的公司服務端用的java,然后依稀記得使用了nginx反向代理服務器和tomcat,請求先經過nginx然后再去通過tomcat轉發請求,然后對Apache服務器和tomcat和nginx理解就有點模糊了,然后今天查閱相關資料對使用場景和進行對比

?

?

?

2?Apache、Tomcat 、Nginx名詞解釋

1 ) Apache

Apache HTTP服務器是一個模塊化的服務器,可以運行在幾乎所有廣泛使用的計算機平臺上,Linux、Unix、Windows等,屬于應用服務器

Apache支持模塊多,性能穩定,Apache本身是靜態解析,適合靜態HTML、圖片等,比如我之前用過freemarker,也是靜態的,但可以通過擴展腳本、模塊等支持動態頁面等。

Apache可以支持PHP、cgi、perl,但是要使用Java的話,你需要Tomcat在Apache后臺支撐,將Java請求由Apache轉發給Tomcat處理.

缺點:配置相對復雜,自身不支持動態頁面,需要插件擴展來輔助支持動態頁面解析,如FastCGI、Tomcat,搞j2ee的小伙伴知道我們動態頁面需要使用到jsp,所以我們是需要Tomcat來解析動態頁面的,Tomcat就是servlet容器,當然它可以獨立于Apache,直接把tomcat作為服務器

?

?

?

?

2 ) Tomcat

Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認為是Apache的擴展,但是可以獨立于Apache運行,也就是說沒有Apache,只有Tomcat也可以解析靜態頁面和動態頁面(jsp),

?

?

?

3 ) Nginx

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

?

?

?

?

3 對比

1)?Apache 與 Tomcat 比較

相同點:

都是Apache組織開發的,都有HTTP服務的功能,兩者都是開源、免費的。

不同點:

a) Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等),而Tomcat是Apache組織在符合Java EE的JSP、Servlet標準下開發的一個JSP服務器

b) Apache是一個Web服務器環境程序,啟用他可以作為Web服務器使用,不過只支持靜態網頁如ASP、PHP,Freemarker,你要搞java服務端用到動態語言比如jsp,就需要Tomcat這個解釋器,用來解析jsp,Apache是不能解析的,切記。

c) Apache 側重于HTTP Server,Tomcat 側重于Servlet容器,支持JSP,但對靜態網頁不太理想,也就是說Apache和Tomcat這個2個服務器,Apache對靜態文件處理能力強于Tomcat,Tomcat實用于解析動態語言(jsp),我們可以用Apache處理靜文件,用Tomcat處理動態文件

d) Apache是Web服務器,Tomcat是應用(Java)服務器,可以認為是Apache的擴展,但是可以獨立于Apache運行

實際使用:

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

戶端請求的是靜態頁面,則只需要Apache服務器響應請求。

客戶端請求動態頁面,則是Tomcat服務器響應請求,JSP是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷。

可以理解 Tomcat為Apache的一種擴展。

?

?

2)Nginx 與 Apache 比較

1 Nginx 優點
a)輕量級,同樣是web 服務,比apache占用更少的內存及資源 。

b)抗并發,nginx 處理請求是異步非阻塞的多個連接(萬級別)可以對應一個進程,而apache 則是同步阻塞型的,同步多進程模型,一個連接對應一個進程

c)高度模塊化的設計,編寫模塊相對簡單。?

d)提供負載均衡

e)配置簡潔

f? ) Nginx 靜態處理性能比 Apache 高 3倍以上

e ) nginx只適合靜態和反向代理


反向代理的理解:

反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器處理,其本身并不做處理,

并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個web服務器,實際只做了轉發,沒有做處理。

?

2? Apache 優點
a)apache的 rewrite 比nginx 的強大。?

b)支持動態頁面。

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

d)性能穩定

e )?Apache 對 PHP 支持比較簡單

f ) 相比nginx,動態請求由apache去做比較好。

?

?

3)Nginx 與 Tomcat?比較

我們知道Nginx一般處理靜態處理能力很強,但是不能解析動態語言比如(jsp)我們,還需要Tomcat進行解釋jsp,所以動態處理我們一般使用Tomcat,靜態處理使用Nginx,我之前實習的公司做的那個網站(https://www.shishuo.com)就是Nginx+Tomcat組合使用,Nginx起到反向代理的作用,如果是靜態處理通過Nginx處理,動態請求才到后臺Tomcat進行處理,這也就是Nginx的動態分離機制,我之前還不是太理解,現在終于理解為什么要這么搭配了,說到底就是Nginx的靜態處理能力比Tomcat強,所以我們需要請求先經過Nginx,這里就不需要用到Apache服務器。

?

?

?

?

4 總結

a ) 靜態處理能力:

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

b)Nginx優點:負載均衡反向代理處理靜態文件優勢,這也就是為啥java服務器Tomcat前面先要經過Nginx服務器處理一波,(只轉發請求,不做其他操作,可以看下上面的反向代理的解釋),Nginx并發性比較好,CPU內存占用低

c)Apache優點:相對于Tomcat服務器來說處理靜態文件是它的優勢,速度快。Apache是靜態解析,適合靜態HTML、圖片,當然讀寫能力比較強,如果rewrite頻繁,那還是Apache較適合,比較穩定,處理動態有優勢。前提是沒有Tomcat,也就是說不是java服務端。

d)Tomcat:動態解析容器,處理動態請求,是編譯JSP、Servlet的容器,Nginx有動態分離機制,靜態請求直接就可以通過Nginx處理,動態請求才轉發請求到后臺交由Tomcat進行處理

?

總結

以上是生活随笔為你收集整理的服务器之Apache和Tomcat和Nginx的理解和对比的全部內容,希望文章能夠幫你解決所遇到的問題。

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