Skip to main content
 首页 » 编程设计

tomcat6之Tomcat 安装在/usr/share/tomcat6 中的 CATALINA_HOME 和/var/lib/tomcat6 中的 CATALINA_BASE

2025年05月04日121cloudgamer

我认为这是一个很好的问题。

我发现它也令人困惑。我几分钟前(过了一会儿)安装了tomcat,我注意到它们是两个不同的“webapps”位置。

在/usr/share/tomcat6/webapps/default_root/
在/var/lib/tomcat6/webapps/ROOT/

两者的内容相同,但都不是符号链接(symbolic link)。

当我启动tomcat时,它说:

引用:

This is the default Tomcat home page. It can be found on the local filesystem at: /var/lib/tomcat6/webapps/ROOT/index.html



Tomcat6 的老手可能会很高兴得知这个 Tomcat 系统实例安装在/usr/share/tomcat6 中的 CATALINA_HOME 和/var/lib/tomcat6 中的 CATALINA_BASE
所以,根据这些信息,保留/usr/share/... 文件夹是为了向后兼容,对吧?

但是根据您发布的内容,正在从 CATALINA_HOME 而不是 CATALINA_BASE 读取库。

也许他们仍然保留该默认引用以防止其他系统在更新后停止工作?

好观察!

更新:

我在:/usr/share/tomcat6/bin/catalina.sh 读到这个:

引用:
# CATALINA_HOME May point at your Catalina "build" directory. 
# 
# CATALINA_BASE (Optional) Base directory for resolving dynamic portions 
# of a Catalina installation. If not present, resolves to 
# the same directory that CATALINA_HOME points to. 

当我们阅读:/etc/init.d/tomcat6 :

(一开始)
CATALINA_HOME=/usr/share/$NAME 

(然后...)
# Directory for per-instance configuration files and webapps 
CATALINA_BASE=/var/lib/$NAME 

但是,如果您尝试手动启动 TOMCAT(就像我很久以前所做的那样):
须藤/usr/share/tomcat6/bin/startup.sh

它显示:

引用:
Using CATALINA_BASE: /usr/share/tomcat6 
Using CATALINA_HOME: /usr/share/tomcat6 
Using CATALINA_TMPDIR: /usr/share/tomcat6/temp 
Using JRE_HOME: /usr 
touch: cannot touch `/usr/share/tomcat6/logs/catalina.out': No such file or directory 
/usr/share/tomcat6/bin/catalina.sh: 357: cannot create /usr/share/tomcat6/logs/catalina.out: Directory nonexistent 

那么,为什么这里的 CATALINA_BASE 设置为和 CATALINA_HOME 一样呢?

/usr/share/tomcat6/logs/不存在,但存在于/var/lib/tomcat6/logs/

从 init.d 脚本启动 Tomcat 时,我看到我的日志正在写入/var/lib/...。所以最好从那里开始。

请您参考如下方法:

我不是 Tomcat 专家,但我遇到了同样的问题,我可以使用以下命令重新启动服务器:sudo /etc/init.d/tomcat6 restart