tomcat下配置多域名多站点
<Host name="mugongmenhu.com" appBase="/home/wwwroot" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="mugongmenhu.com" reloadbale="true" privileged="true" />
</Host>
红色标记的地方一定要注意:
appBase 这个设置到上一级就行了,
docBase 设置默认的目录,其实就相当于tomat默认的webapps目录下面的名字
如果appBase直接配置到/home/wwwroot/mugongmenhu.com也就是直接到了webroot这一级了,docBase配置成当前路径"."的时候, 会出问题, 导致webroot下面的文件夹名默认为contextpath,会导致jsp加载的时候失败,当然webroot下面的文件没有问题, webroot下面还有文件夹,然后直接访问文件夹里面的文件,就直接报错,比如views文件夹下面的jsp文件
SEVERE: Servlet.service() for servlet [jsp] in context with path [/views] threw exception [java.lang.ClassNotFoundException:
上面这么配置还是有问题, 今天才发现, 项目被加载了两次, 这个问题导致内存占用多了一半,导致的问题就是host配置的问题正确的配置方法,删掉appBase目录appBase="" , 直接写docBase全路径
<Host name="mugongmenhu.com" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/home/wwwroot/mugongmenhu.com" reloadbale="true" privileged="true" />
</Host>
设置tomcat初始的jvm大小
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"