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


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

  • 相关阅读:
    vue 移动端ui框架
    vue ESLint自动修复
    vue 隐藏滚动条
    生动形象地理解async await
    vue中的slot与slot-scope
    爬虫利器 puppeteer
    vue实例的生命周期
    vue 监听滚动事件,实现动态锚点
    转:视觉中国的NoSQL之路:从MySQL到MongoDB
    转:你需要知道的NoSQL数据库10件事
  • 原文地址:https://www.cnblogs.com/top5/p/2794118.html
Copyright © 2020-2023  润新知