tomcat的安装配置注意事项
tomcat-users.xml 的web界面用户登录设置
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
-----------------------------------------------------------------------------------
注意事项(假定tomcat在D:/tomcat6):
虚拟主机配置中,我们修改的是tomcat的D:/tomcat6/conf/server.xml文件
1、必须将我们的webapps下的Root目录换一个名字(例如直接改成Root_bak),否则我们无法直接通过seller.mic.com这个虚拟主机直接放到他下边url。
2、一定要将虚拟主机的配置写在Engine标签下
3、可以选择性的添加虚拟主机中日志的是否开启
实践中出现的问题:
1、当我不做虚拟主机配置的时候,webapps下的两个项目通过localhost/项目名访问正常。当我将虚拟主机加上之后,发现内存溢出
--原因可能是虚拟主机加载的问题,web项目下的jar太多导致?
--解决方式就是在catalina配置中调高tomcat的内存到1G(再大了tomcat也消费不了)以及将堆内存提高
2、当我配置好虚拟主机后,弄几个只有基本访问页面的web项目,发现内存不溢出
3、对静态页面的解析tomcat配置还是不成功
总结:
1、这可能就是为什么很多idc不喜欢将虚拟主机租给用ssh(spring+hibernate+struts)开发项目的团队的原因了。因为ssh的预先加载机制导致内存消耗太大,会造成内存溢出。
2、tomcat的虚拟主机详细配置可以考虑进一步了解host标签的使用
3、那个defaultHost中的localhost的指向如果生效会影响我们虚拟主机的配置,建议还是别生效了
4、如果想解决内存溢出outofmemory的几个方法
(1)、加到tomcat的占用内存,但是如果ssh类型的项目太多,还是会内存溢出
(2)、不用ssh框架
(3)、配合apache使用在apache上配置虚拟主机(tomcat不做任何改动),使用jkmount的方式转发请求到tomcat,让tomcat跟没有配置虚拟主机一样的工作(相当于使用localhost方式访问的这些程序)
(4)、研究下tomcat自己虚拟主机加载方式...--》搞定了分享给我:)