Jetty比Tomcat更輕便,在處理高並發細粒度請求時更快更高效。所以要讓它有很多使用場景,合適的選擇應該是:雲平臺本身的門戶放在Tomcat,雲臺托管的Java Web部署在Jetty。
Bin目錄用於存儲Unix系統下運行的shell腳本;
Etc存儲jetty的配置文件;
模塊存儲所有模塊,以。適度的點進去可以看到有很多模塊,但是大部分都沒有激活。默認情況下,日誌和webapps等模塊處於激活狀態。
Webapps和Tomcat壹樣,是用來存儲項目的;
可以看到截圖中有壹個工作目錄。壹般情況下,提取jetty時沒有這樣的目錄,因為在webapps中存儲項目時,可以通過運行根目錄下的java -jar start.jar命令來啟動jetty。因為jetty所在的目錄和運行項目的路徑是分開的,方便Dan jetty升級。它不會影響正在運行的項目,所以比如在webapps下放壹個war包,運行jetty。從war包中提取的項目存在於系統的temp目錄下,在jetty的目錄下找不到,但是創建工作文件夾時,提取的項目會默認存儲在工作文件夾中。
裏面的配置文件是這樣寫的:
這是最基本的配置,類似於tomcat的server.xml,但是jetty可以配置更多。
默認情況下,jetty會自動部署根目錄下webapps/目錄中的內容(也可以配置jetty.base)。部署規則如下:
隱藏文件(以。)和以結尾的目錄。d被忽略;
忽略“CVS”和“CVSROOT”等CVS目錄;
任何警告包都將被自動部署;
任何xml描述文件都被認為是可部署的;
任何目錄都被認為是可部署的;
壹個war包和壹個同名目錄同時存在,不部署目錄,只部署war包,認為war包引用了目錄;
同名的war包和xml文件同時存在,不部署war包,只部署xml文件描述符,認為xml文件引用war包;
同名目錄和xml文件同時存在,不部署目錄,部署xml文件,認為xml文件引用目錄;
有關更詳細的說明,請參考此處的官方文檔。我主要提醒的是:在webapps目錄中,如果存在同名的目錄、war包和xml文件,將被視為同壹個項目,部署的優先級為XML files >;戰爭包>目錄。壹定要註意同名。如果webapps下有壹個不同名稱的war包和壹個引用war包的xml文件,就會導致重復部署。這是我跳進的坑。
部署時,建議將xml描述文件放在自動部署的webapps目錄下,並定義路徑、上下文路徑、是否解壓、臨時目錄、日誌文件等。的war包,然後把war包放在自定義的固定目錄下,這樣就可以更新項目了,只需要備份替換war包,重啟jetty就可以了。
來自:/weixin _ 38978094/文章/詳情/87917711。
demo-base目錄是壹個單獨項目的實例,它是運行壹個項目的jetty_base,它可以在服務器上的任何地方。
目錄結構:
修改後的access的上下文路徑在webapps對應的xml中,修改後的端口號在start.d/http.ini中
啟動項目:Java-jar $ { jetty _ home }/start . jar。
還可以指定jetty _ base:Java-jar $ { jetty _ home }/start。jar jetty.base =...