我托管了不少服务器,供客户和我们自己使用。所有这些服务器都运行 Debian Stable。所有服务器都是虚拟服务器。这是为万一自动更新导致其中一台机器死亡而准备的:只需用昨晚的快照替换它,一切就会恢复正常。
现在,其中一些服务器运行 Tomcat 应用程序。其中一个 Tomcat 应用程序需要的内存比默认的 Tomcat 分配要多。到目前为止,我倾向于将内存分配添加到 /etc/init.d/tomcat7,但是,我们也有服务器直接在 catalina.sh 中。
今天遇到 Tomcat 停止的问题后,我们发现内存分配突然消失了。我们想到了配置的自动更新,确实,cron-apt 日志文件显示在 4 月底,有一个 tomcat 更新。所以我们认为这次更新很可能覆盖了这两个文件。
现在 Tomcat 在用户 tomcat7(以及组 tomcat7)下运行。用户将 /usr/share/tomcat7 作为主目录,并且没有交互式 shell 来更好地放置内存分配)。
哪里是导出 JAVA_OPTS 变量的正确位置,以便 tomcat7 用户设置内存同时仍具有更新证明?
答案1
通常JAVA_OPTS
应该位于setenv.sh
tomcat 中,bin
您可以在其中找到它/usr/share/tomcat7/
(CATALINA_HOME)。
如果缺少此文件,您可以创建它(/usr/share/tomcat7/bin/setenv.sh)并设置 +x 位。
只需将其放入空文件中:
JAVA_OPTS="$JAVA_OPTS <your params>"
该文件不会被更新覆盖。
注意:$JAVA_OPTS
如果要完全覆盖任何先前的值,请删除。