问题:

    当服务器中有多个Tomcat,并且需要使用同一个项目目录,例如upload,那么考虑使用一个公共目录shareupload来做软连接到两个tomcat的工程中。

操作:

   ln -s /data/shareupload/ /data/tomcat1/webapp/upload/

   ln -s /data/shareupload/ /data/tomcat2/webapp/upload/

问题出现:

   在测试的时候出现了问题:upload目录下的图片,无法正常在浏览器地址栏里访问到。勿用质疑,问题肯定出在Tomcat上,猜想Tomcat可能出于安全的考虑对文件、文件夹的连接进行了限制。Tomcat有一个配置项:allowLinking,默认的配置应该是allowLinking=false,配置成true就可以解决这个问题了。


配置项配置在项目的Context元素上:

<Context path="" docBase="/data/tomcat1/webapp" reloadable="true" privilege="true" allowLinking="true">

</Context>


问题解决。