一台服务器上部署了两个tomcat,之前已经配置成功,两个tomcat都跑起来了,今天把其中一个里面的项目war重新上传了一遍,结果第二个tomcat就运行不起来了,运行第二个tomcat时tomcat运行窗口也打开了,并且没有闪退,但是输入ip+端口号访问时访问不到,放入项目也无法自动解压。这些之前都是测试好的,就因为今早重新打了个war包进来,tomcat就坏了,重新弄了一个全新的tomcat,还是无法访问。
目前还不知道是什么原因造成的,搞了一天,现在突然自己就好了,真的很醉!
第二个tomcat运行日志里报了一个错误
unable to process resource element [jndi:////examples/WEB-INF/classes/SessionExample.class] for annotations
你的war包哪个路径下的 看看server.xml配置文件最后几行
(1)Tomcat端口设置了?要不一样的,(一个tomcat貌似不止使用一个端口)
(2)项目问题,,examples/WEB-INF/classes/SessionExample.class可能是这个类的问题
你先吧两个tomcat分别部署一下,,保证项目没问题,
看着像是session冲突,两个tomcat用同一个session了
试试修改tomcat server.xml 中Context 属性,
添加sessionCookiePath和sessionCookieName配置
例如:
sessionCookiePath="/" sessionCookieName="JSESSIONID_cookie1"
或者
sessionCookiePath="/projectName" sessionCookieName="JSESSIONID_cookie2"
两个tomcat上面的server内的端口要改不一样的,8005那个端口也要改,会有冲突,项目部署之后启动看看日志报错然后度娘找找
每个tomcat使用的不止一个端口,你在eclipse分别点击tomcat不同版本,可以查看端口信息,是否有占用
经过从网上查找,原因应该是tomcat绑定IP地址的问题,可以通过ping localhost查看IP是哪种格式,现解决方案如下:
(借鉴而得的解决方法)
使用cmd命令netstat -n, 查看tomcat地址绑定, 发现是绑定到::1, IPv6.
配置tomcat的server.xml, 更改connector配置, 端口不用改, 加上address="0.0.0.0", 使其绑定到IPv4, 如下
(借鉴的解决方案)
使用cmd命令netstat -n, 查看tomcat地址绑定, 发现是绑定到::1, IPv6;
配置tomcat的server.xml, 更改connector配置, 端口不用改, 加上address="0.0.0.0", 使其绑定到IPv4
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
重启tomcat, 再次使用netstat -n, 查看tomcat地址绑定, 已变为IPv4.