版權聲明:本文為部落客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.exe2)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