`
coderliang2018
  • 浏览: 26833 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

    博客分类:
  • j2ee
 
阅读更多
最近去客户机器上面部署, 有2台机器,一台已经安装了一个平台了,在另外一台机器上面安装新的平台, 2个系统需用用同一个资源, 因为资源有300G, 比较麻烦,就把第一台机器上面的资源共享, 然后在tomcat里面映射路径。 这里遇到一些问题,网上搜索了下,找到了解决的问题的文章, 这里转载下。 
http://yorkyao.iteye.com/blog/772389

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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics