我正在尝试让 FarmWarDeployer 工作,但做不到。在 watchEnabled="true" 的日志中我可以看到:
INFO: Cluster deployment is watching [/tmp/war-listen/] for changes.
.
.
.
INFO: Installing webapp [/Sample2] from [/tmp/war-deploy/Sample2.war]
但此后,什么都没有。当然,我的第二个节点没有收到任何通知。
这是我的主要服务器配置,使用多播在节点之间同步。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4001" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="true"/> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
已经尝试过权限,但没有成功。
drwxrwxr-x 2 tomcat tomcat 44 Mar 10 11:32 war-deploy
drwxrwxr-x 2 tomcat tomcat 44 Mar 10 11:32 war-listen
drwxrwxr-x 2 tomcat tomcat 6 Mar 9 18:51 war-temp
通过 SCP 上传文件的帐户是 admin_platform,而不是 root。tomcat 以 root 身份运行。
当我重新启动主 Tomcat 时,它会显示有关 WAR 的信息:
INFO: webapp [/Sample2] are already deployed.
事实并非如此,因为我无法在管理控制台(/manager)上看到它或通过浏览器访问它。
有任何线索我还可以尝试什么或者我遗漏了什么吗?
谢谢
PS: 两个服务器都可以将watchEnabled =“true”吗?