欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tomcat虚拟目录映射网络共享目录的问题 TomcatWindowsApacheCC++ 

程序员文章站 2022-07-14 20:58:17
...

关键词:tomcat context docbase 网络驱动器  共享目录 UNC PATH windows域控制

 

多台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