天天看點

Jetty應用伺服器的安裝詳解Jetty應用伺服器的安裝詳解

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/48186139

Jetty應用伺服器的安裝詳解

作者:chszs,版權所有,未經同意,不得轉載。部落客首頁: http://blog.csdn.net/chszs

Jetty是一個開源的Servlet容器和應用伺服器,它極度輕量級、高便攜性、功能強大、靈活和擴充性好,而且支援各種技術如SPDY、WebSocket、OSGi、JMX、JNDI和JAAS。Jetty對于開發來說非常便利,也已經廣泛地應用于生産環境。

本文詳述如何安裝和配置Jetty伺服器,主要講述Jetty的獨立運作模式(Standalone)。随後介紹它的配置選項,以及子產品化的架構。

Jetty有獨立運作模式、嵌入運作模式和Jetty Maven插件操作模式。本文是獨立運作模式為準。

一、部署環境

兩個軟體:

1)Java 8u60

http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-windows-x64.exe

2)Jetty 9.3.2

http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.3.2.v20150730.zip&r=1

早些的版本也可以用,但應該盡可能使用最新版本。

Jetty是一個跨平台的軟體,是以它的二進制釋出包可适用于多個平台。

二、部署運作

下載下傳并解壓Jetty,進入Jetty的解壓目錄,執行指令:

java -jar start.jar
           

輸出如下:

D:\Programs\jetty9>java -jar start.jar
2015-09-02 16:31:36.273:INFO::main: Logging initialized @2060ms
2015-09-02 16:31:36.696:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended.  See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html
2015-09-02 16:31:37.228:INFO:oejs.Server:main: jetty-9.3.2.v20150730
2015-09-02 16:31:37.302:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///D:/Programs/jetty9/webapps/] at interval 1
2015-09-02 16:31:37.701:INFO:oejs.ServerConnector:main: Started ServerConnector@3b81a1bc{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2015-09-02 16:31:37.704:INFO:oejs.Server:main: Started @3491ms
           

用浏覽器通路位址:

http://localhost:8080/

,可以看到

三、運作Jetty Web應用

在Jetty應用伺服器中部署war項目很簡單,隻需把項目war包放入Jetty的webapps子目錄即可。你都無需重新開機Jetty,Jetty會自動随時監聽webapps目錄,自動完成新項目的部署。

四、Jetty目錄剖析

bin:可執行腳本檔案

demo- base:

etc:Jetty子產品定義的XML配置檔案的目錄

lib:Jetty依賴的庫檔案

logs:Jetty的日志目錄

modules:Jetty的子產品

resources:外部資源配置檔案的目錄

webapps:項目WAR檔案的目錄

還需要關心根目錄下的一個檔案:start.d(Wondows系統是start.ini檔案),它定義了Jetty的活動子產品。

五、基本配置

1、修改Jetty的端口

Jetty預設使用8080端口,要讓它使用其他端口(如7070),那麼編輯start.d(Wondows系統是start.ini檔案),找到jetty.http.port行,修改為:

## Connector port to listen on
jetty.http.port=7070
           

儲存并退出,再重新開機Jetty。

2、修改webapps目錄

Jetty下的webapps是預設的Web項目的部署目錄,如果想修改此目錄,可修改start.d配置檔案(start.ini),移除以下行的注釋符号“#”

# jetty.deploy.monitoredDir=webapps
           

并把内容修改到你指定的目錄。儲存并退出,再重新開機Jetty。

六、Jetty的子產品化架構

Jetty運作于子產品化的架構之上,這意味着Jetty的功能是以子產品的方式運作的,比如HTTP、HTTPS、SSL、日志logging、JMX、JNDI、WebSocket等子產品。常用的子產品如HTTP、JSP和WebSocket子產品都是預設就激活的,而其他如HTTPS、JMX等子產品則需要手動激活。

1、單個子產品的剖析

Jetty的modules子目錄列出了所有的子產品,這些子產品是擴充名為.mod的檔案,它聲明了要被激活的JAR檔案(在Jetty的lib子目錄下)和XML配置檔案(在Jetty的etc子目錄下),以及其他要作為子產品被激活的資源。

比如,可以檢視modules子目錄的logging.mod檔案的内容,可以看到,它聲明了配置檔案是etc/jetty-logging.xml,所需的JAR包在lib/logging處,另外logs目錄是必須的。

[ xml]
etc/jetty-logging.xml

[files]
logs/

[lib]
lib/logging/**.jar
resources/
           

2、通過指令行激活子產品

激活Jetty的子產品有兩種方式。

第一種方式是通過指令行激活:

java -jar start.jar --add-to-startd=logging
           

上面的指令會在Jetty目錄下建立logging.ini檔案,相關的配置可以在此檔案中查到。配置日志後,可以再次啟動Jetty,并可以檢視到日志子產品是激活了的。

2、通過配置檔案start.ini激活子產品

第二種方式是通過配置檔案start.ini激活子產品

--module=logging
           

這種方式和前一種相似,且更常用。

3、配置子產品

正如上面提到的,mod檔案聲明了相關的XML配置檔案,在Jetty的etc子目錄下,可以通過這些配置檔案來配置子產品。比如日志子產品聲明了相關的配置檔案是jetty-logging.xml,可以通過修改此配置檔案來調整日志。

最後補充一句,要想了解更詳細的内容,看官方文檔吧。

http://www.eclipse.org/jetty/documentation/current/index.html