多台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
tomcat虚拟目录映射网络共享目录的问题
最新推荐文章于 2021-08-13 19:26:34 发布
本文探讨了在使用多台Windows 2003平台的Tomcat主机进行负载均衡时,如何共享虚拟目录以避免同步各主机虚拟目录的方式。详细描述了将共享目录映射为本地磁盘并在不同启动方式下遇到的问题及解决方案,包括通过修改服务账户为域用户来解决访问受限的问题。
摘要由CSDN通过智能技术生成