日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

服務(wù)器軟件大掃盲!

 yi321yi 2020-05-23

先說一句哈,自從在 B 站開始刷視頻后,我就覺得要學(xué)的內(nèi)容實在是太多了。這篇“服務(wù)器軟件大掃盲”就是我看了羊哥的一期視頻后有感而發(fā)的,比如說 Web 服務(wù)器、HTTP 服務(wù)器、應(yīng)用服務(wù)器這三個概念,我是見過很多次,但如果你非要我說出它們之間的區(qū)別的話,我只好啞口無言。

還有,我自己用過的 Tomcat、Nginx、Apache、Jetty、Undertow,它們之間有什么優(yōu)缺點,嗯。。。。。。只好繼續(xù)啞口無言??赡苡泻芏嘈』锇楹臀乙粯樱眠^,但具體的差別還真的說不上來,所以我打算借這個機會來和大家一起學(xué)習(xí)下。(我就是課代表,我驕傲)

先來說 Web 服務(wù)器,它一般指的是網(wǎng)站服務(wù)器,可以向瀏覽器(PC端或者移動端)等 Web 客戶端提供服務(wù),供請求數(shù)據(jù)或者下載數(shù)據(jù)。服務(wù)器使用 HTTP (超文本傳輸協(xié)議)和客戶端瀏覽器進行通信,因此我們也把 Web 服務(wù)器稱作為 HTTP 服務(wù)器。

再來說應(yīng)用服務(wù)器,它是一種軟件框架,提供一個應(yīng)用程序運行的環(huán)境。通常用于為應(yīng)用程序提供安全、數(shù)據(jù)、事務(wù)支持、負載平衡大型分布式系統(tǒng)管理等服務(wù)。

在我看來,Web 服務(wù)器和應(yīng)用服務(wù)器之間的界限已經(jīng)非常模糊,后者更高級一點,就好像公司與企業(yè)這兩個名詞之間的差別。

常見的 Web 服務(wù)器軟件包括 Nginx、Apache、IIS,常見的應(yīng)用服務(wù)器軟件包括 WebLogic、JBoss,前者更輕量級,后者更重量級。

接下來,我們就來嘮嘮常見的一些服務(wù)器軟件。

01、Tomcat

就我的程序生涯來看,Tomcat 用的算是最多了,沒有之一。如果 Tomcat 安裝成功的話,可以在本地的瀏覽器中訪問 http://127.0.0.1:8080 來展示它的默認首頁,見下圖。

Tomcat 是由 Apache 軟件基金會屬下 Jakarta 項目開發(fā)的 Servlet 容器,實現(xiàn)了對 Servlet 和 JavaServer Page(JSP)的支持,并提供了作為 Web 服務(wù)器的一些特有功能。

JSP 是由 Sun Microsystems 公司主導(dǎo)建立的一種動態(tài)網(wǎng)頁技術(shù)標準。JSP 可以響應(yīng)客戶端發(fā)送的請求,并根據(jù)請求內(nèi)容動態(tài)地生成 HTML、XML 或其他格式文檔的 Web 網(wǎng)頁,然后返回給請求者。

JSP 以 Java 語言作為腳本語言,為用戶的 HTTP 請求提供服務(wù),并能與服務(wù)器上的其它 Java 程序共同處理復(fù)雜的業(yè)務(wù)需求。我是一名三線城市的 Java 程序員,免不了要開發(fā)一些小型網(wǎng)站,這也就是為什么我用 Tomcat 最多的原因。

02、Nginx

Nginx 是一款輕量級的 Web 服務(wù)器、也支持反向代理,由于它的內(nèi)存占用少,啟動極快,高并發(fā)能力強,所以在互聯(lián)網(wǎng)項目中廣泛應(yīng)用。

關(guān)于 Nginx,比較令人遺憾的一件事是,它的作者伊戈爾·賽索耶夫進了監(jiān)獄。

Nginx 在官方測試的結(jié)果中,能夠支持五萬個并行連接,國內(nèi)比較有名的公司,比如說百度、京東、新浪、網(wǎng)易、騰訊、淘寶等都在使用。

不知道你有沒有聽過虛擬主機的概念,就是在 Web 服務(wù)里有一個獨立的網(wǎng)站站點,這個站點對應(yīng)獨立的域名(也可能是IP 或端口),具有獨立的程序及資源,可以獨立地對外提供服務(wù)供用戶訪問。

虛擬主機有三種類型:基于域名的虛擬主機、基于端口的虛擬主機、基于 IP 的虛擬主機。

Nginx 可以使用一個 server{} 標簽來標識一個虛擬主機,一個 Web 服務(wù)里可以有多個虛擬主機標簽對,即可以同時支持多個虛擬主機站點。這一點,非常的實用。

03、Apache

最開始的時候,我以為 Apache 就是 Tomcat,傻傻分不清楚。后來知道它們完全不同,logo 就不同(說什么大實話)。

Apache 一般是指 Apache HTTP Server,是 Apache 軟件基金會(和 Tomcat 同屬一家基金會,因此容易混淆)下的一個網(wǎng)頁服務(wù)器軟件。由于其跨平臺和安全性,被廣泛使用,是最流行的 Web 服務(wù)器軟件之一。它快速、可靠并且可通過簡單的 API 擴展。

我是在服務(wù)器上安裝 WordPress 的時候用到了 Apache,當(dāng)時并不知道有 LAMP 的存在,所以安裝的過程中吃了很多苦,關(guān)鍵是最后沒有安裝成功,大寫的尷尬。

最后還是在青銅群里的一個群友的遠程幫助下才完成安裝的,他是搞 PHP 的。LAMP 就是他告訴我的,安裝起來非常的傻瓜式,非常適合我這種對命令行有抗拒心理的程序員。

LAMP 是指一組運行動態(tài)網(wǎng)站或者服務(wù)器的自由軟件名稱首字母縮寫:

  • Linux,操作系統(tǒng)(一般服務(wù)器軟件都安裝在 Linux 上,性能極佳)
  • Apache,網(wǎng)頁服務(wù)器(就是 Apache HTTP Server)
  • MariaDB 或 MySQL,數(shù)據(jù)庫管理系統(tǒng)
  • PHP、Perl 或 Python,腳本語言
這些軟件配合起來使用的時候,極具活力,它的變體還有很多,另外一個比較有名的就是 LNMP,用 Nginx 代替 Apache。

04、Jetty

Jetty 和 Tomcat 有很多相似之處,比如說可以為 JSP 和 Servlet 提供運行時環(huán)境。Jetty 是 Java 語言編寫的,它的 API 以一組 JAR 包的形式發(fā)布。
與 Tomcat 相比,Jetty 可以同時處理大量鏈接并且長時間的保持這些鏈接,例如,一些 Web 聊天應(yīng)用非常適合用 Jetty 服務(wù)器,比如說淘寶的 Web 版旺旺。
Jetty 的架構(gòu)比較簡單,它有一個基本數(shù)據(jù)模型,這個數(shù)據(jù)模型就是  Handler,所有可以被擴展的組件都可以作為一個 Handler,添加到 Server 中,Jetty 就是幫我們管理這些 Handler 的。

05、Undertow

Undertow 是一個用 Java 編寫的、靈活的、高性能的 Web 服務(wù)器,提供基于 NIO 的阻塞和非阻塞 API。
Undertow 可以嵌入到應(yīng)用程序中或獨立運行,只需幾行代碼,非常容易上手。下面這段代碼是官網(wǎng)提供的一個使用 Async IO 的簡單 Hello World 服務(wù)器示例:
public class HelloWorldServer {

    public static void main(final String[] args) {
        Undertow server = Undertow.builder()
                .addHttpListener(8080'localhost')
                .setHandler(new HttpHandler() {
                    @Override
                    public void handleRequest(final HttpServerExchange exchange) throws Exception {
                        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, 'text/plain');
                        exchange.getResponseSender().send('Hello World');
                    }
                }).build();
        server.start();
    }
}
直接運行后,在瀏覽器中地址欄中輸入 http://localhost:8080 就可以訪問到了。是不是感覺非常輕巧?
如果有小伙伴使用過 JFinal 開發(fā)過小型網(wǎng)站的話,對 Undertow 應(yīng)該不會陌生,因為 JFinal 的默認容器已經(jīng)切換到了 Undertow。
JFinal 是基于 Java 語言的極速 WEB ORM 框架,其核心設(shè)計目標是開發(fā)迅速、代碼量少、學(xué)習(xí)簡單、功能強大、輕量級、易擴展、Restful。

06、企業(yè)級

至于其他的一些企業(yè)級服務(wù)器軟件,我個人沒有用過,就不細說了。
  • JBoss,紅帽子收購過,后更名為 WildFly。
  • WebLogic,甲骨文出品。
  • WebSphere,IBM 公司出品。
相信小伙伴們看了出品方,就知道這些服務(wù)器軟件足夠的重量級,都是大佬,都是大佬。
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多