外置 Tomcat 没这么太用, 今天在 windows 搭 xwiki 服务器, 比预期多花了点时间, 主要是 tomcat 环境变量没配对, tomcat 启动后闪退, 还没有日志. 最后定位到是 tomcat 环境变量问题, 解决起来就容易了.
1. Tomcat 启动后闪退, 关键获知原因的方法:
startup.bat 启动脚本调用 catalina.bat , 而在 catalina.bat 中使用 windows 的 start 方式启动, 即启动一个新的窗口, 一旦闪退, 这个新窗口立即关闭, 看不到日志输出. 这时应该将 start 启动, 调整为本窗体启动, 即删除 start 前置命令.
2. Tomcat 的几个环境变量.
在 tomcat 安装目录的bin子目录下, 新建一个 setenv.bat 文件, 将下面的环境变量设置加到这个文件中, 该文件会在 tomcat startup.bat启动时候被自动加载, 正好用来设置环境变量.
set JAVA_HOME=c:\java\jdk1.8
set CATALINA_HOME=c:\tomcat\tomcat8.5.42
set CATALINA_BASE=c:\tomcat\tomcat8.5.42
set JAVA_OPTS="-Xmx1024 -XX:MaxPermSize=192m"
需要说明的是, CATALINA_HOME 应指向 tomcat 的 bin和 lib 的父目录, 即 binary 的公共路径.
而 CATALINA_BASE 应指向 tomcat 的conf和logs和webapps和work的父目录, 即网站应用的父目录.
对于单tomcat 实例, 这两个环境变量取值是一样的.
3. 应用程序 war 包部署路径
应用程序 war 应该放置到 webapps 目录下, 多数war包文件一般含有版本号, 但我们期望应用的url 最好只包含应用名, 而不要包含版本号, 需要重新命名 war 包名称, 比如xwiki.org 官网下载的 xwiki-platform-distribute-war-11.5.war, 放置到 webapps 下后, 需要重命名为 xwiki.war, 或者解压war包.
原文:https://www.cnblogs.com/harrychinese/p/tomcat-config.html