注册服务
windows
1  | service.bat install tomcat7  | 
tomcat7为配置成的服务名,可自定义
内存优化
内存配置-绿色版(catalina.bat)
在开始添加
1  | set JAVA_OPTS=-Xms256m -Xmx512m -Xss256K -XX:PermSize=64m -XX:MaxPermSize=128m  | 
Linux下
startup.sh
1  | export JAVA_OPTS="-Xmx2048m -Xms2048m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Djava.awt.headless=true -Duser.timezone=Asia/Shanghai -Dfile.encoding=GBK -Dsun.jnu.encoding=GBK -Duser.language=zh -Duser.country=CN"  | 
内存配置-安装版
在java选项卡的Java Options中添加
1  | -XX:PermSize=64M  | 
Host配置
tomcat的webapps目录下有两个项目为aaa和bbb
在D:/webapps目录下有一个项目ccc
默认配置
1  | <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">  | 
配置1
1  | <Host name="www.aaa.com" appBase="webapps" unpackWARs="true" autoDeploy="true">  | 
配置2
1  | <Host name="www.bbb.com" appBase="webapps" unpackWARs="true" autoDeploy="true">  | 
配置3
1  | <Host name="www.ccc.com" appBase="D:/webapps" unpackWARs="true" autoDeploy="true">  | 
测试结果
默认配置
加了日志 kingbase8-8.6.0.jar
可以通过
http://localhost:8080/aaa访问aaa项目
可以通过http://localhost:8080/bbb访问bbb项目
可以通过http://localhost:8080/ccc访问ccc项目配置1
添加了域名
添加了Context配置只能通过
http://www.aaa.com:8080访问aaa项目配置2
docBase用了绝对路径
只能通过
http://www.bbb.com:8080访问bbb项目配置3
appBase用了绝对路径
使用了别名Alias可以通过
http://www.ccc.com:8080访问ccc项目
可以通过http://www.ddd.com:8080访问ccc项目
总结
appBase与docBase没有什么必然的关系
如果docBase用相对路径,则是相对appBase来看的
别名只能为域名,不能为www.aaa.com/aa这样的
个人建议:如果一个tomcat带多个项目的话,并且有的是测试的有的已绑定域名,最好把绑定域名的和测试的分到两个appBase中
只用一个项目可以
1  | <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">  | 
推荐设置
应该把如上项目分别再放到a和b文件夹中
1  | <Host name="www.aaa.com" appBase="data/webapps/a" unpackWARs="true" autoDeploy="true">  | 
如下配置会导致项目名为aaa和bbb项目各重复发布两次
1  | <Host name="www.aaa.com" appBase="data/webapps" unpackWARs="true" autoDeploy="true">  |