Tomcatサーバの運用保守

  • 作成者:FRInternational
  • 編集回数:4次
  • 最終更新:ayuan0625 于 2021-09-23
  • 一.Tomcatポートの設定

    1.利用シーン

    ポートは、アプリケーションとその他デバイスとの接続ポイントです。サーバでは、アプリに排他的なポートを割り当てて、通信に使う必要があります。ポートの間では、ポート番号で分けています。ポートの設定とは、アプリケーションにポート番号を割り当てることです。

    • Tomcatの既定ポート番号は、8080です。デバイスの8080ポートがすでに割り当てられている場合、Tomcatが起動できません。この場合、Tomcatに割り当てるポートを設定する必要があります。

    • サーバに複数のTomcatが実行されている場合、各Tomcatにポートを設定する必要があります。

     

    2.サーバで単独のTomcatを使う場合

    1.Tomcatのポート番号の設定するには、%tomcat_home%\conf\server.xmlを編集してください。

    2.例えば、ポート番号を8081にしたい場合、テキストエディタでserver.xmlを開き、Connectorラベルのport属性を8081にします。

    <Connector port="8081" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />

    3.ポート番号を80にすれば、IPアドレスにポート番号を追加しなくてもアクセスできます。つまり、ブラウザで「http://localhost」を入力するだけで、Tomcatのトップページにアクセスできます。

     

    二.サーバで複数のTomcatを使う場合

    1.サーバに2つのTomcat環境があるとします。その中で、1つのTomcatが8080ポートを使っています。2つのTomcatが同時に実行できるよう、2つ目のTomcatに新しいポートを設定する必要があります。

    2.まず、2つ目のTomcatのインストールディレクトリに入り、confフォルダに入って、テキストエディタでserver.xmlを開きます。
    3ヶ所を編集してください。

    • HTTPポート既定では8080となっています。ここでは、8081にします。

    <Connector port="8081" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    • Tomcatサービスのポートを変更します。既定では、8005となっています。ここでは、8006にします。

    <Server port="8006" shutdown="SHUTDOWN">
    • AJPポートを変更します。既定8009となっています。ここでは、8010にします。

    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

    server.xmlを保存して、2つ目のTomcatを起動します。このように、2つ目のTomcatも利用できるようになりました。

     

    三.Tomcatのメモリ設定を変更

    1.利用シーン

    1.FinereportをTomcatにデプロイして、帳票の閲覧、クエストの実行などをするためには、帳票プロジェクトの計算が必要です。計算のデータは、全部サーバのメモリに保存されているので、帳票プロジェクトの実行には、サーバのメモリを占めなければなりません。メモリが足りなければ、JAVAの実行がエラーとなります:java.lang.OutOfMemoryError:Java heap space

    2.帳票の作成にあたって、テンプレートが大量のデータを処理している場合、またはテンプレートの閲覧が遅い場合は、FineReportプロジェクトを実行しているTomcatにより多くのメモリを割り当てる必要があります。Tomcatのメモリ設定を変更することで実現できます。

    3.ヒープの初期サイズと最大サイズの数値からTomcatのメモリ設定を変更できます。初期サイズがTomcatの起動時のメモリの大きさを決めており、最大サイズがTomcatに割り当てられる最大メモリを指します。帳票プロジェクトが一時保存している内容がこれを超えていれば、メモリ不足でエラーが起こります。

    4.本マニュアルでは、Tomcatのメモリ設定について説明します。Tomcatには解凍して実行できるものと、インストールするものがあります。両方の実行方法には違いがあります。

    2.解凍されたTomcatのメモリを変更

    1.startup.batまたはstartup.shからTomcatを起動します。

    2.Windowsシステムで、JAVA_OPTSを変更して(ここでは Windows10+Tomcat8+JDK1.8.0 を例にします。その他バージョンには少しの違いがあります)%Tomcat_Home%/bin/catalina.batに以下の命令を追加します。

    set JAVA_OPTS= -Xms512M -Xmx2048M


    -Xms:java Heap 初期サイズ既定では、サーバのメモリサイズの1/64となっています。

    -Xmx:java heap 最大サイズTomcatでは、最大サイズをサーバのメモリサイズの80%以下に設定してください。

    3.以上のように設定すると、初期サイズが512MBとなり、最大サイズが2048MBとなります。数値の最後に必ずMを付けてください(つけなければ、KBとなります)。具体的な設定は以下の画像通りです。

    5GzC5WHq784HP0UZ.png

    4.変更が終わると、ファイルを保存します。Tomcatを再起動すると、変更が反映さらます。

    5.Tomcatの起動プログラムをWindwosのシステムサービスとして登録する時、JVMのXmsとXmxを必ず設定してください。

    set JAVA_OPTS= -Xms512M -Xmx1024M

    6.Linuxシステムで、(ここでは Centos6.5+Tomcat8+JDK1.8.0 を例にします。その他バージョンには少しの違いがあります) %Tomcat_Home%/bin/catalina.shに以下の命令を追加します。

    JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M"

    下の画像の通りです。

    d1k7fe0RjyRTaeAl.png

    ファイルを保存します。Tomcatを再起動すると、変更が反映さらます。

     

    3.インストールされたTomcatのメモリを変更

    1.インストールされたTomcatで変更する方法について説明します。(ここでは Windows10+Tomcat8+JDK1.8.0 を例にします。その他バージョンには少しの違いがあります)

    2.Windows画面の右下にあるTomcatアイコンをダブルクリックします。[Java]のコラムを開き、[Initial Memory Pool](初期サイズ)と[Maximum Memory Pool](最大サイズ)を変更します。最大サイズを、サーバのメモリサイズの80%以下に設定してください。下の画像の通りです。

    image3.png

    変更が終わって、Tomcatを再起動すると、変更が反映さらます。

    注意:以上の設定が反映されない場合、[解凍されたTomcatのメモリを変える]の節で紹介している操作に従って、レジストリでOptionを設定してください。

    4.Tomcatメモリの使用状況を確認

    ここでは、インストールされたTomcatを例にします。(ここでは Windows10+Tomcat8.5+JDK1.8.0 を例にします。その他バージョンには少しの違いがあります)

    4.1.ユーザの追加

    %Tomcat_Home%/conf/tomcat-users.xml を開きます。tomcat-usersのラベルにユーザを追加します。コードは以下の通りです。

    <role rolename="manager-gui"/>
    <user username="tomcat" password="s3cret" roles="manager-gui"/>

    zSBqTKjkCYOpDidR.png

    4.2.設定画面でメモリ設定を変更

    IP:port/manager/statusにアクセスします。本マニュアルでは、http://localhost:8080/manager/status となります。先ほど追加されたユーザ名とパスワードを入力します。ここでは、 tomcat/s3cretとします。

    1.Server Stats画面に入ると、JVMテーブルで以下のパラメータを確認できます。

    • Free memory:使用できるメモリ

    • Total memory:現在使用しているメモリ

    • Max memory:最大メモリサイズ

    下の画像の通りです。

    image5.png

    • java.lang.OutOfMemoryError:PermGen space のようなエラーメッセージがある場合、メモリの設定をしているすべての箇所に-XX:MaxPermSize=256m を追加して制限してください。

    • メモリサイズの数字は、利用者のシステムの規模から調整してください。

     

    四.Tomcat外部の帳票プロジェクトをデプロイ

    1.利用シーン

    1.一般では、帳票プロジェクトのファイルをTomcat内部に置きます。時には、サーバのファイルの管理のために、帳票プロジェクトをその他の場所に移動することがあります。

    2.帳票プロジェクトをTomcatのディレクトリ以外に置いても、デプロイできますが、その場合は帳票プロジェクトのファイルを読み取ることができるよう、Tomcatを設定する必要があります。

    2.準備

    帳票プロジェクトをTomcat以外の位置に移動します。

    帳票プロジェクトのディレクトリ:D:\FineReport_10.0\webapps\webroot

    Tomcatのディレクトリ:E:\tomcat-win64_JP

    3.帳票プロジェクト設定

    E:\tomcat-win64_JP\conf\Catalina\localhost でFR.xmlを新規作成します。(FRは帳票プロジェクトのアプリケーションとしての名前となります)テキストエディタでFR.xmlを開きます。下記の内容を入力して、保存します。

    <Context path="/FR" reloadable="false" docBase="E:\FineReport_10.0\webapps\webroot" />

    image6.png

    注意:pathパラメータは、必ずファイルの名前と同じようにしなければなりません。

    注意:confにCatalinaフォルダがない場合、Catalinaフォルダを新規作成してください

     

    4.デプロイを確認

    Tomcatを再起動します。ブラウザでFinereportのurlを入力します。

    http://ip:ポート番号/FR/decision

    FRは、デプロイの時に設定した帳票アプリケーションの名前です。管理者アカウント設定のページが表示されていると、Finereportが正常にTomcatにデプロイされています。

    image7.png


    Attachment List


    Theme: FineReport ディプロイ統合
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read