4.6.9 Webサーバの設定

Webサーバでは次の設定を実施します。

<この項の構成>
(1) 静的コンテンツをWebサーバから直接取得するための設定
(2) アクセス数の増加に対応するための設定

(1) 静的コンテンツをWebサーバから直接取得するための設定

HTMLや画像ファイルなどの静的なコンテンツを,アプリケーションサーバを経由して取得するとレスポンスタイムが低下します。これを回避するには,次の手順で,静的コンテンツをWebサーバから直接取得するようにバイパスを設定してください。

手順

  1. 静的コンテンツをコピーします。
    xcopyコマンドを実行して,<Collaborationインストールディレクトリ>¥deploy_workから静的コンテンツだけを抜き出し,<Collaborationインストールディレクトリ>¥clb_home¥publicにコピーします。
    コピーする静的コンテンツのファイルの拡張子は,「.gif」,「.png」,「.html」,「.htm」,「.js」,「.css」です。
    Collaborationをd:¥hitachi¥collaborationにインストールした場合,次のようにコマンドを実行します(Collaborationをインストールしたディレクトリに合わせて,コマンドを変更して実行してください)。

    xcopy d:¥hitachi¥collaboration¥deploy_work¥*.gif d:¥hitachi¥collaboration¥clb_home¥public /S /Q /I /K /Y /R
    xcopy d:¥hitachi¥collaboration¥deploy_work¥*.png d:¥hitachi¥collaboration¥clb_home¥public /S /Q /I /K /Y /R
    xcopy d:¥hitachi¥collaboration¥deploy_work¥*.html d:¥hitachi¥collaboration¥clb_home¥public /S /Q /I /K /Y /R
    xcopy d:¥hitachi¥collaboration¥deploy_work¥*.htm d:¥hitachi¥collaboration¥clb_home¥public /S /Q /I /K /Y /R
    xcopy d:¥hitachi¥collaboration¥deploy_work¥*.js d:¥hitachi¥collaboration¥clb_home¥public /S /Q /I /K /Y /R
    xcopy d:¥hitachi¥collaboration¥deploy_work¥*.css d:¥hitachi¥collaboration¥clb_home¥public /S /Q /I /K /Y /R

    なお,一度静的コンテンツをコピーしても,<PROJECT_HOME>(<Collaborationインストールディレクトリ>¥deploy_work)の内容を変更した場合は,再度この手順を実行し変更された静的コンテンツを反映する必要があります。
  2. 静的コンテンツに対応する仮想ディレクトリを作成します。
    エイリアスにコンテキストルート名を,接続先に静的コンテンツをコピーしたディレクトリ(<Collaborationインストールディレクトリ>¥clb_home¥public)を指定して,仮想ディレクトリを作成します。
    Collaborationのインストールディレクトリがd:¥hitachi¥collaboration,コンテキストルートが/Portal,WebサーバがHitachi Web Serverの場合,httpsd.confに次のように設定します。

    Alias /Portal "D:/Hitachi/Collaboration/clb_home/public"

  3. 次のURLパターンをワーカーに振り分けるように,リダイレクタを設定します。

    /<コンテキストルート>/portal/*
    /<コンテキストルート>/*.jsp
    /<コンテキストルート>/js/csdc.js

    設定例
    コンテキストルートがPortal,ワーカー名がworker1,WebサーバがHitachi Web Serverの場合,mod_jk.confには次のように設定します。
    JkMount /Portal/portal/* worker1
    JkMount /Portal/*.jsp worker1
    JkMount /Portal/js/csdc.js worker1
    CosminexusのインストールディレクトリがD:¥Hitachi¥Cosminexusの場合,httpsd.confに次のように設定します。
    Include "D:/Hitachi/Cosminexus/CC/web/redirector/mod_jk.conf"
  4. Hitachi Web Serverを再起動します。

(2) アクセス数の増加に対応するための設定

利用者のアクセス数が多いと,次のような問題が発生します。

これらの問題を回避するには,Webサーバで,サーバスレッド数のディレクティブや,ログに関するディレクティブの設定値を変更します。Cosminexusのインストールディレクトリがd:¥hitachi¥cosminexus,WebサーバがHitachi Web Serverの場合の設定例を次に示します。

手順

  1. httpsd.confで,次のディレクティブを設定します。
    • ThreadsPerChildおよびKeepAliveTimeoutディレクティブ
      ThreadsPerChildを500,KeepAliveTimeoutを3に設定します。
      この値は,アプリケーションサーバサーバ1台あたり500人で利用した場合の推奨値です。
      アクセス数が多い場合や,利用人数が多い場合は,KeepAliveTimeoutの値を「1」や「2」など小さい値に変更してください。
    • ErrorLog,LogFormatおよびCustomLogディレクティブ
      アクセスログやエラーログをログファイルサイズで分割して,複数のファイルにラップアラウンドして出力するように設定します。
    • LoadModule,<Directory>,ExpiresActiveおよびExpiresByTypeディレクティブ
      静的コンテンツに対して有効期限を設定します。静的コンテンツが有効期限内の場合,クライアントからの静的コンテンツに対するリクエストは,Webブラウザのキャッシュを利用するようになり,Webサーバへのリクエスト数が減少します。
    設定例

    ThreadsPerChild 500
    KeepAliveTimeout 3
    ErrorLog "|¥"D:/Hitachi/Cosminexus/httpsd/sbin/rotatelogs2.exe D:/Hitachi/Cosminexus/httpsd/logs/errorlog 102400 5¥""
    LogFormat "%h %l %u %t %T ¥"%r¥" %>s %b" common
    CustomLog "|¥"D:/Hitachi/Cosminexus/httpsd/sbin/rotatelogs2.exe D:/Hitachi/Cosminexus/httpsd/logs/access 51200 5¥"" common
    LoadModule expires_module modules/mod_expires.so
    <Directory "D:/Hitachi/Collaboration/clb_home/public">
           ExpiresActive On
           ExpiresByType text/html A3600
           ExpiresByType image/gif A3600
           ExpiresByType image/png A3600
           ExpiresByType application/x-javascript A3600
           ExpiresByType text/css A3600
    </Directory>

    各ディレクティブについては,マニュアル「Hitachi Web Server」を参照してください。
    注意
    次の場合,静的コンテンツが有効期限内の間は,移行前の古いファイルがキャッシュから利用されます。
    • Collaborationを移行した場合
    • Collaborationの移行後に障害などが発生して,移行前に戻した場合
    このため,静的コンテンツの有効期限は,長過ぎないように,性能などを考慮して適切な値を設定してください。
  2. Hitachi Web Serverを再起動します。