標籤:http ar os 使用 sp strong on 檔案 bs
在部署應用時需要更改預設的連接埠號碼及應用,以免讓別人知道使用的伺服器類型而進行攻擊。
tomca的部署有多種方式,這裡簡單談一下。
目前想到有三種方式:
一、添加 Context
在Tomcat的設定檔中,一個Web應用就是一個特定的Context,可以通過在server.xml中建立Context裡部署一個JSP應用程式。
在tomcat中conf目錄下server.xml中的<host/>節點中添加:
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true"></Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
參數說明:
path 是虛擬路徑;
docBase 是應用程式的實體路徑;
workDir 是這個應用的工作目錄,存放運行時產生的與這個應用相關的檔案;
debug 則是設定debug level, 0表示提供最少的資訊,9表示提供最多的資訊
privileged 設定為true的時候,才允許Tomcat的Web應用使用容器內的Servlet
reloadable 如果為true,則tomcat會自動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程式,可以在不重起tomcat的情況下改變應用程式,實現熱部署
antiResourceLocking和antiJARLocking 熱部署時需要配置的參數,預設false避免更新了某個webapp,有時候Tomcat並不能把舊的webapp完全刪除,通常會留下WEB-INF/lib下的某個jar包,必須關閉Tomcat才能刪除,這就導致自動部署失敗。設定為true,Tomcat在運行對應的webapp時,會把相應的源檔案和jar檔案複製到一個臨時目錄裡。
docBase 最好是tomcat/webapps 外的目錄,不然就是載入了兩個應用,一個是context path=””的web-demo應用,而另一個是context path=”web-demo”的應用,雖然兩者指向的實體路徑一致。因此,訪問http://localhost:8080, 訪問http://localhost:8080/web-demo,得到的是相同的首頁,但是其實是tomcat的2個context的response。
二、覆蓋ROOT
將項目拷貝到webapps下,並將項目名稱改為ROOT,把原來的ROOT備份。
三、修改 ROOT目錄的index.jsp(不推薦,會暴露伺服器預設首頁)
修改tomcat ROOT目錄的index.jsp,使其載入預設應用的首頁,如此處應修改成如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<meta http-equiv="refresh" content="0;URL=<%=request.getContextPath()%>/web-demo/index.html">
</head>
<body>
</body>
</html>
Tomcat 預設應用