Apache Tomcat

Tomcatのサービスファイル

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-21-openjdk
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

ExecStart / ExecStop ディレクティブの解説

Environmentディレクティブの解説

‘CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC’

  • -Xms512M
    • 初期ヒープサイズを設定します。JVMが起動する際に割り当てるメモリの最小サイズを指定します。この場合、512MBが割り当てられます
  • -Xms512M
    • 初期ヒープサイズを設定します。JVMが起動する際に割り当てるメモリの最小サイズを指定します。この場合、512MBが割り当てられます
  • -Xmx1024M
    • 最大ヒープサイズを設定します。JVMが使用できるメモリの最大サイズを指定します。この場合、1024MB(1GB)が割り当てられます
  • -server
    • サーバーモードでJVMを起動します。サーバーモードは、クライアントモードよりもパフォーマンスが向上するように最適化されています。特に長時間稼働するサーバーアプリケーションに適しています
  • -XX:+UseParallelGC
    • 並列ガベージコレクションを使用するようにJVMに指示します。並列ガベージコレクションは、複数のスレッドを使用してガベージコレクションを行うため、パフォーマンスが向上します。特に多くのメモリを使用するアプリケーションに効果的で

‘JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom’

  • -Djava.awt.headless=true:
    • JavaのAWT(Abstract Window Toolkit)をヘッドレスモードで動作させるように設定します。ヘッドレスモードでは、GUI(グラフィカルユーザーインターフェース)を必要としない環境でJavaアプリケーションを実行できます。サーバー環境では通常、ディスプレイやキーボードが接続されていないため、この設定が必要です。これにより、グラフィカルな操作を行わずにJavaアプリケーションを実行できます。
  • -Djava.security.egd=file:/dev/./urandom:
    • Javaのセキュリティ設定で、エントロピー生成デバイスを指定します。/dev/./urandomは、Linuxシステムで使用される擬似乱数生成デバイスです。この設定により、Javaのセキュリティ機能が乱数を生成する際に、より高速に動作するようになります。特に、SSL/TLS接続の初期化時にエントロピーが不足する問題を回避するために使用されます。
タイトルとURLをコピーしました