Tomcatをサービスとしてインストールしました。
それは次のとおりですCATALINA_HOME
。CATALINA_BASE
-Dcatalina.base=/usr/share/tomcat7 -Dcatalina.home=/usr/share/tomcat7
次の行setenv.sh
にスクリプトを追加します。/usr/share/tomcat7/bin
$ cat /usr/share/tomcat7/bin/setenv.sh
#!/usr/bin/env bash
export JAVA_OPTS="-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=54.***.***.65"
しかし、Tomcatの動作はまだ変更されていません。新しいポートは開かず、新しいオプションもありませんps aux | grep java
。
# netstat -anp | grep 9090 | wc -l
0
# ps aux | grep java
tomcat 32063 96.6 23.5 1904000 399872 ? Sl 09:04 3:07 /usr/lib/jvm/jre/bin/java -Xms512M -Xmx1024M -javaagent:/usr/share/tomcat7/newrelic/newrelic.jar -classpath :/usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat7/temp -Djava.util.logging.config.file=/usr/share/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
ファイルはtomcat
ユーザーが所有し、exec
次のビットを含みます。
# ls -l /usr/share/tomcat7/bin/setenv.sh
-rwxr-xr-x 1 tomcat tomcat 329 Jun 15 08:52 /usr/share/tomcat7/bin/setenv.sh
答え1
設定する必要がある環境変数は「CATALINA_OPTS」です。以下は、モニタリングに関連するtomcatドキュメントの例です。 Apache Tomcat 7 - Tomcatの監視と管理
答え2
私のブログによると、私の解決策はJAVA_OPTS
次$CATALINA_HOME/conf/tomcat7.conf
のように設定することです。
# You can pass some parameters to java here if you wish to
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
JAVA_OPTS="-Xms512M -Xmx1024M -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=54.***.***.65"
Tomcatを再起動した後の結果は次のとおりです。
# ps aux | grep java
tomcat 1359 96.6 13.0 1887508 220732 ? Sl 09:19 0:44 /usr/lib/jvm/jre/bin/java -Xms512M -Xmx1024M -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -[...]
ポリスチレン基本構成ファイルのコピーを作成することを忘れないでください。だからgrep -r JAVA_OPTS etc/*
探してみると# documentation
もっと役に立つと思います:-)
答え3
参考までに、Tomcat 8.5.38(7はチェックされていません)では、私のカスタマイズはsetenv.sh
まだうまくいきます。たとえば、私はこれを$ CLASSPATH設定に使用するのが好きです。メンテナンスが簡単で、Tomcatの独自の起動ファイルを調整する必要がなく、カスタム変更がより顕著になります。