Jetty是一個開源的Servlet容器和應用伺服器,它極度輕量級、高便攜性、功能強大、靈活和擴充性好,而且支援各種技術如SPDY、WebSocket、OSGi、JMX、JNDI和JAAS。Jetty對于開發來說非常便利,也已經廣泛地應用于生産環境。
本文詳述如何安裝和配置Jetty伺服器,主要講述Jetty的獨立運作模式(Standalone)。随後介紹它的配置選項,以及子產品化的架構。
Jetty有獨立運作模式、嵌入運作模式和Jetty Maven插件操作模式。本文是獨立運作模式為準。
兩個軟體:
早些的版本也可以用,但應該盡可能使用最新版本。
Jetty是一個跨平台的軟體,是以它的二進制釋出包可适用于多個平台。
下載下傳并解壓Jetty,進入Jetty的解壓目錄,執行指令:
輸出如下:
在Jetty應用伺服器中部署war項目很簡單,隻需把項目war包放入Jetty的webapps子目錄即可。你都無需重新開機Jetty,Jetty會自動随時監聽webapps目錄,自動完成新項目的部署。
bin:可執行腳本檔案
demo- base:
etc:Jetty子產品定義的XML配置檔案的目錄
lib:Jetty依賴的庫檔案
logs:Jetty的日志目錄
modules:Jetty的子產品
resources:外部資源配置檔案的目錄
webapps:項目WAR檔案的目錄
還需要關心根目錄下的一個檔案:start.d(Wondows系統是start.ini檔案),它定義了Jetty的活動子產品。
Jetty預設使用8080端口,要讓它使用其他端口(如7070),那麼編輯start.d(Wondows系統是start.ini檔案),找到jetty.http.port行,修改為:
儲存并退出,再重新開機Jetty。
Jetty下的webapps是預設的Web項目的部署目錄,如果想修改此目錄,可修改start.d配置檔案(start.ini),移除以下行的注釋符号“#”
并把内容修改到你指定的目錄。儲存并退出,再重新開機Jetty。
Jetty運作于子產品化的架構之上,這意味着Jetty的功能是以子產品的方式運作的,比如HTTP、HTTPS、SSL、日志logging、JMX、JNDI、WebSocket等子產品。常用的子產品如HTTP、JSP和WebSocket子產品都是預設就激活的,而其他如HTTPS、JMX等子產品則需要手動激活。
Jetty的modules子目錄列出了所有的子產品,這些子產品是擴充名為.mod的檔案,它聲明了要被激活的JAR檔案(在Jetty的lib子目錄下)和XML配置檔案(在Jetty的etc子目錄下),以及其他要作為子產品被激活的資源。
比如,可以檢視modules子目錄的logging.mod檔案的内容,可以看到,它聲明了配置檔案是etc/jetty-logging.xml,所需的JAR包在lib/logging處,另外logs目錄是必須的。
激活Jetty的子產品有兩種方式。
第一種方式是通過指令行激活:
上面的指令會在Jetty目錄下建立logging.ini檔案,相關的配置可以在此檔案中查到。配置日志後,可以再次啟動Jetty,并可以檢視到日志子產品是激活了的。
第二種方式是通過配置檔案start.ini激活子產品
這種方式和前一種相似,且更常用。
正如上面提到的,mod檔案聲明了相關的XML配置檔案,在Jetty的etc子目錄下,可以通過這些配置檔案來配置子產品。比如日志子產品聲明了相關的配置檔案是jetty-logging.xml,可以通過修改此配置檔案來調整日志。
最後補充一句,要想了解更詳細的内容,看官方文檔吧。
<a href="http://www.eclipse.org/jetty/documentation/current/index.html">http://www.eclipse.org/jetty/documentation/current/index.html</a>