Tomcatはsetenv.shを使用しません。

Tomcatはsetenv.shを使用しません。

Tomcatをサービスとしてインストールしました。

それは次のとおりですCATALINA_HOMECATALINA_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の独自の起動ファイルを調整する必要がなく、カスタム変更がより顕著になります。

関連情報