tomcat虛擬目錄對映網路共享目錄的問題

snake_hand發表於2013-03-29

多臺tomcat主機(win2003平臺)做負載均衡時,希望共享虛擬目錄,沒有采用同步各主機虛擬目錄的方式,所以只能在檔案伺服器上開闢共享目錄,將tomcat的context docpath指向它。tomcat主機上將共享目錄對映為本地磁碟,配置如下
<Context docBase="V:\shareDir" path="/app"/>
如果是script方式(通過startup.bat),可正常啟動,以服務方式啟動tomcat時,總是報“Document base does not exist or is not a readable directory”,修改tomcat啟動服務賬戶為administrator,問題依舊,懷疑服務模式下無法訪問網路驅動器,將docbase指向共享目錄的UNC path即遠端訪問方式
<Context docBase="\\192.168.1.2\shareDir" path="/app"/>
新的錯誤出現了,報“java.io.IOException: 登入失敗: 未知的使用者名稱或錯誤密碼”,說明tomcat是可以通過unc path來配置context的docbase,不過當前的這個賬戶訪問受限,奇怪的是,在當前桌面環境中是可以順利訪問\\192.168.1.2\shareDir這一路徑的。聯想到這組伺服器都是在windows域控制環境下,以域使用者登入系統並將服務啟動賬戶改為域使用者domain\administrator,問題解決。
總結:
(1) tomcat可以通過unc path來配置context的docbase
(2)因為對映的網路驅動器,是在使用者的profile中配置, 服務模式下tomcat不能訪問到網路驅動器(猜想,可能可以通過修改profile來訪問網路驅動器)
(3)若遠端共享目錄只有域使用者才能訪問,在啟動tomcat服務時,必須指定以域使用者啟動服務
參考:
http://wiki.apache.org/tomcat/FAQ/Windows
http://blog.mattwoodward.com/accessing-a-network-drive-from-apache-and-tom?c=1

相關文章