Sun ONE ロゴ      前へ      目次      索引      次へ     

Sun ONE Web Server 6.1 管理者ガイド

第 8 章
サーバーの詳細設定

この章では、Sun ONE Web Server のサーバー設定方法について説明します。

この章では、次の項目について説明します。


サーバーの起動と停止

サーバーがインストールされると、サーバーは常時稼働して HTTP 要求を待機し、受け取ります。

サーバーのステータスが「Server On/Off」ページに表示されます。以下のいずれかの方法で、サーバーの起動と停止を実行できます。

サーバーをシャットダウンしたあと、シャットダウンプロセスが完了し、ステータスが「Off」に変更されるまでに数秒かかる場合があります。

マシンに障害が発生した場合やオフラインになっている場合、サーバーは停止し、処理中の要求が失われる可能性があります。


サーバーにセキュリティモジュールがインストールされている場合、サーバーを起動したり、停止したりする前に、適切なパスワードを入力するように要求されます。



UNIX では、Sun ONE Web Server のインストールに、オペレーティングシステムでデフォルトで使用可能になっているよりも多くのメモリーとファイル記述子のいずれか、またはその両方が必要になる場合があります。サーバーを起動できない場合は、ulimit コマンドを使用して、オペレーティングシステムのリソースの制限値を確認します。詳細は、オペレーティングシステムの ulimit のマニュアルページを参照してください。


終了タイムアウトの設定

サーバーをオフにすると、新しい接続の受け入れは停止します。その後、サーバーはすべての未処理の接続処理が完了するまで待ちます。タイムアウトになるまでサーバーが待機する時間は、magnus.conf ファイルで設定できます。このファイルは server_root/https-server_name/config/ にあります。デフォルトでは、30 秒に設定されています。この値を変更するには、次の行を magnus.conf に追加します。

seconds は、タイムアウトになるまでサーバーが待機する秒数を表します。

この値を変更することによる利点は、接続の処理が完了するまでサーバーが待機する時間が、より長くなることです。ただし、サーバーは応答していないクライアントに接続されていることがあるため、終了タイムアウト値を大きくすると、サーバーのシャットダウンにかかる時間が長くなる可能性があります。

サーバーの再起動 (UNIX/Linux)

以下のいずれかの方法で、サーバーを再起動できます。

インストールスクリプトでは /etc/rc.local ファイルや /etc/inittab ファイルを編集できないため、テキストエディタでそれらのファイルを編集する必要があります。これらのファイルの編集方法がわからない場合は、システム管理者に問い合わせるか、ご使用のシステムのマニュアルを参照してください。

通常、SSL が有効なサーバーは、起動する前にパスワードを要求するため、これらのファイルのいずれかで起動することはできません。パスワードをプレーンテキストでファイルに保存していると、SSL が有効なサーバーを自動的に起動できますが、この方法は推奨されません。


警告

SSL が有効なサーバーの起動スクリプトにプレーンテキストでパスワードを保存しておくことは、セキュリティ上、非常に危険です。ファイルにアクセスできるユーザーなら誰でも、SSL が有効なサーバーのパスワードにアクセスできるからです。SSL が有効なサーバーのパスワードをプレーンテキストで保存する前に、セキュリティ上の危険性を考慮してください。


サーバーの起動スクリプト、鍵ペアファイル、および鍵パスワードは、ルートが所有しており (または、ルートではないユーザーがサーバーをインストールした場合は、そのユーザーのアカウントが所有しています)、その所有者のみがそれらへ対する読み取りおよび書き込みアクセス権を持ちます。

SSL が有効なサーバーを自動的に起動

セキュリティ上のリスクが問題とならない場合は、以下の手順を実行して SSL が有効なサーバーを自動的に起動します。

  1. テキストエディタを使用して起動ファイルを開きます。起動ファイルは server_root/https-server_id にあります。
  2. スクリプト内の -start 行を検索し、以下のテキストを挿入します。
  3. echo "password"|

    password は、選択した SSL パスワードです。

    たとえば、SSL パスワードが netscape の場合、編集後の行は以下のようになります。

    -start)

    echo "netscape"|./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@

inittab を使用した再起動 (UNIX/Linux)

inittab を使用してサーバーを再起動するには、/etc/inittab ファイル内に以下のテキストを 1 行で挿入します。

server_root はサーバーをインストールしたディレクトリ、type-identifier はサーバーのディレクトリです。

-i オプションは、サーバーがバックグラウンド処理に切り替わることを防止します。

この行は、サーバーを停止する前に削除する必要があります。

システムの rc (実行制御) スクリプトを使用した再起動 (UNIX/Linux)

/etc/rc.local、または使用しているシステムのそれに相当するスクリプトを使用する場合は、/etc/rc.local 内に以下の行を追加します。

server_root を、サーバーがインストールされているディレクトリに変更します。

サーバーの手動再起動 (UNIX/Linux)

コマンド行からサーバーを再起動するには、1024 より小さい番号のポートでサーバーを実行している場合は、ルートとしてログインします。1024 またはそれより大きな番号の場合は、ルートとして、またはそのサーバーのユーザーアカウントを使用してログインします。コマンド行プロンプトで、以下の行を入力し、Enter キーを押します。

server_root はサーバーをインストールしたディレクトリです。

行の末尾で、省略可能なパラメータ -i を使用できます。-i オプションを使用すると、inittab モードでサーバーが実行されます。このモードでは、サーバーのプロセスが強制終了されたかクラッシュした場合に、inittab がサーバーを自動的に再起動します。また、このオプションは、サーバーがバックグラウンド処理に切り替わることを防止します。


サーバーがすでに稼働している場合、start コマンドは失敗します。まず、サーバーを停止してからstart コマンドを使用してください。また、サーバーの起動に失敗した場合は、再起動を試行する前にプロセスを強制終了する必要があります。


サーバーの手動停止 (UNIX/Linux)

etc/inittab ファイルを使用してサーバーを再起動した場合は、サーバーの停止を試行する前に、/etc/inittab からサーバーを起動するための行を削除し、kill -1 1 を入力する必要があります。そうしないと、サーバーは停止した後で自動的に再起動してしまいます。

サーバーを手動で停止するには、root として、またはサーバーのユーザーアカウントを使用して (そのアカウントを使用してサーバーを起動した場合) ログインし、コマンド行で以下を入力します。

サーバーの再起動 (Windows)

以下の方法でサーバーを再起動できます。

Windows の場合は、以下の手順を実行します。

  1. コントロールパネルの「サービス」アイコンをダブルクリックします。
  2. サービスのリストをスクロールし、サーバー用のサービスを選択します。
  3. 「自動」にチェックマークをつけ、コンピュータが起動や再起動するたびに、コンピュータがサーバーを起動するようにします。
  4. 「OK」をクリックします。

  5. 「サービス」ダイアログボックスを使用して、サーバーが使用するアカウントを変更することもできます。サーバーが使用するアカウントの変更について詳細は、「ユーザーアカウントの変更 (UNIX/Linux)」を参照してください。


デフォルトでは、管理者は、Web サーバーを起動するときに、鍵データベースのパスワードを入力する必要があります。Web サーバーを人の介入なしで再起動できるようにするには、password.conf ファイルにパスワードを保存する必要があります。このファイルと鍵データベースが危険にさらされないようにするために、これを行うのはシステムが充分にセキュリティ保護されている場合だけにします。

自動再起動ユーティリティの使用 (Windows)

サーバーに障害が発生した場合、サーバー監視ユーティリティによって、サーバーは自動的に再起動されます。デバッグ用のツールがインストールされているシステムでは、サーバーに障害が発生した場合、デバッグ情報とともにダイアログボックスが表示されます。サーバープラグインの API プログラム (たとえば、NSAPI プログラム) のデバッグを支援するために、タイムアウトに非常に大きな値を設定して、自動的に起動する機能を無効にすることができます。また、レジストリエディタを使用して、デバッグダイアログボックスを無効にすることもできます。

時間間隔の変更 (Windows)

Windows の起動後、サーバーが自動的に再起動されるまでに経過する時間間隔を変更するには、以下の手順を実行します。

  1. レジストリエディタを起動します。
  2. サーバーのキーを選択します (「レジストリエディタ」ウィンドウの左側で、HKEY_LOCAL_MACHINE¥SOFTWARE¥Netscape¥Enterprise¥6.0 を開きます)。
  3. 「編集」メニューから「Add Value」を選択します。「Add Key」ダイアログボックスが表示されます。
  4. 「Value Name」に MortalityTimeSecs と入力します。
  5. 「Data Type」ドロップダウンリストから「REG_DWORD」を選択します。
  6. 「OK」をクリックします。「DWORD Editor」ダイアログボックスが表示されます。
  7. OS の起動からサーバーの自動再起動までの時間間隔を秒単位で入力します。
  8. 間隔は、2 進数、10 進数、または 16 進数の形式にすることができます。

  9. 前の手順で入力した値の数値形式 (2 進数、10 進数、または 16 進数) をクリックします。
  10. 「OK」をクリックします。
  11. 「Registry Editor」ウィンドウの右側に、16 進数形式で MortalityTimeSecs 値が表示されます。

デバッグダイアログボックスの無効化 (Windows)

システムのデバッグ設定を変更したアプリケーション (コンパイラなど) がインストールされている場合、サーバーに障害が発生すると、システムによって生成されたアプリケーションエラーダイアログボックスが表示されます。「OK」をクリックするまで、サーバーは再起動されません。

サーバーに障害が発生した場合にデバッグダイアログボックスが表示されないようにするには、以下の手順を実行します。

  1. 「Registry Editor」を起動します。
  2. 「Registry Editor」ウィンドウの左側で、HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion に表示される「AeDebug」キーを選択します。
  3. ウィンドウの右側に表示される「Auto」値をダブルクリックします。
  4. 「String Editor」ダイアログボックスが表示されます。

  5. 文字列の値を「1」に変更します。


サーバーのパフォーマンスの調整

スレッドの制限値を調整するには、magnus.conf ファイルを編集する方法と、サーバーマネージャから調整する方法の 2 つの方法があります。

magnus.conf ファイルを編集する場合、RqThrottleMinPerSocket が最小値で、RqThrottle が最大値です。

最小制限値は、サーバーが WaitingThreads 状態で保持しようとするスレッド数の目標値です。この数値はあくまでも目標です。この状態での実際のスレッド数は、この値より若干大きくても、小さくてもかまいません。デフォルト値は 48 です。最大スレッド数は、同時に実行できるアクティブなスレッドの最大数の厳密な制限値を表します。これは、パフォーマンスのボトルネックとなる可能性があります。デフォルト値は 128 です。

サーバーマネージャを使用する場合、以下の手順を実行します。

  1. 「Preferences」タブを選択します。
  2. 「Performance Tuning」リンクをクリックします。
  3. 「Maximum simultaneous requests」フィールドに値を入力します。

詳細は、オンラインヘルプの「Performance Tuning ページ」を参照してください。


magnus.conf ファイルの編集

起動された Sun ONE Web Server は、サーバーの動作と設定に影響するグローバル変数セットの設定を確定するために、server_root/server_id/config ディレクトリから magnus.conf というファイルを検索します。Sun ONE Web Server は、magnus.conf に定義されているすべての指令を実行します。サーバーマネージャの「Magus Editor」を使用して、magnus.conf ファイル内の特定の設定を編集することができます。

magnus.conf ファイルの完全な説明と、テキストエディタによるファイルの編集については、『Sun ONE Web Server 6.1 Administrator's Configuration File Reference』および『Sun ONE Web Server 6.1 NSAPI Programmer's Guide』を参照してください。

「Magnus Editor」にアクセスするには、以下の手順を実行します。

  1. サーバーマネージャにアクセスし、「Preferences」タブを選択します。
  2. 「Magnus Editor」リンクをクリックします。
  3. ドロップダウンリストから編集する設定を選択し、「Manage」をクリックします。
  4. 選択した設定を編集するためのエディタが表示されます。

  5. 必要に応じて設定を変更し、「OK」をクリックします。

各「Settings」ページの詳細は、オンラインヘルプの「Magnus Editor ページ」を参照してください。


待機ソケットの追加と編集

サーバーで要求を処理するには、待機ソケットから要求を受け取り、適切な仮想サーバーにその要求を送信する必要があります。Sun ONE Web Server をインストールすると、ls1 という待機ソケットが自動的に作成されます。この待機ソケットには、0.0.0.0 の IP アドレス と、インストール時に HTTP サーバーのポート番号として指定したポート番号 (デフォルトでは 80) が割り当てられます。デフォルトの待機ソケットは削除できません。

サーバーの待機ソケットの設定は、サーバーマネージャの「Listen Sockets Table」を使用して編集できます。この表にアクセスするには、以下の手順を実行します。

  1. サーバーマネージャにアクセスし、「Preferences」タブをクリックします。
  2. 「Edit Listen Sockets」リンクをクリックします。
  3. 変更を行い、「OK」をクリックします。


MIME タイプの選択

「MIME Types」ページでは、サーバーの MIME ファイルを編集できます。

Multi-purpose Internet Mail Extension (MIME) タイプは、メールシステムでサポートするマルチメディアファイルのタイプを制御します。また、MIME タイプはどのファイル拡張子が特定のサーバーのファイルタイプに属しているかを示します。たとえば、どのファイルが CGI プログラムかを示します。

仮想サーバーごとに別個の MIME タイプのファイルを作成する必要はありません。必要な数の MIME タイプファイルを作成し、それらを仮想サーバーに関連付けます。サーバーには mime.types という MIME タイプファイルがデフォルトで存在し、これを削除することはできません。このファイルは絶対パスにできます。

「MIME Types」ページにアクセスするには、以下の手順を実行します。

  1. サーバーマネージャにアクセスし、「Preferences」タブをクリックします。
  2. 「MIME Types」リンクをクリックします。
  3. 変更を行い、「OK」をクリックします。

詳細は、オンラインヘルプの「Mime Settings ページ」 、および第 13 章「仮想サーバーの使用」を参照してください。


アクセスの制限

サーバーマネージャの「Restrict Access」ページを使用して、サーバー全体またはサーバーの一部 (つまり、ディレクトリ、ファイル、ファイルタイプ) へのアクセスを制御できます。サーバーが受信した要求を評価する場合、アクセス制御エントリ (ACE) と呼ばれる規則の階層に基づいてアクセス権を決定し、一致するエントリを使用して、要求を承認するか、拒否するかを決定します。各 ACE は、サーバーが階層内の次の ACE に進むべきかどうかを指定します。ACE の集合は、アクセス制御リスト (ACL) と呼ばれます。要求がサーバーに着信すると、サーバーは vsclass.obj.conf (vsclass は仮想サーバーのクラス名) で ACL を検索して参照し、アクセスの可否を決定します。デフォルトでは、サーバーには、複数の ACL が含まれる 1 つの ACL ファイルがあります。

アクセス制御は、管理サーバーを使用してすべてのサーバーに対して全体的に設定したり、サーバーマネージャを使用して特定のサーバーインスタンス内のリソースに対して設定したりすることができます。リソースに対するアクセス制御の設定の詳細は、第 9 章「サーバーへのアクセス制御」「アクセス制御の設定」を参照してください。


サーバーへのアクセスを制限する前に、分散管理を有効にする必要があります。


Sun ONE Web Server へのアクセスを制限するには、次の手順を実行します。

  1. サーバーマネージャにアクセスし、「Preferences」タブを選択します。
  2. 「Restrict Access」リンクをクリックします。

詳細は、第 9 章「サーバーへのアクセス制御」およびオンラインヘルプの「Restrict Access ページ」を参照してください。


設定の復元

「Restore Configuration」ページでは、設定ファイルのバックアップコピーを参照し、特定の日に保存された設定データに戻すことができます。


Windows では、設定ファイルに対して自分が行なった変更を元に戻す場合にだけこのページを使用します。インストール時に作成したバックアップバージョンには戻さないでください。このバージョンは完全ではない可能性があります。


詳細は、オンラインヘルプの「Restore Configuration ページ」を参照してください。


ファイルキャッシュの設定

Sun ONE Web Server では、ファイルキャッシュを使用して、スタティックな情報をより早く提供します。以前のバージョンのサーバーでは、要求をファイルキャッシュに転送するアクセラレータキャッシュもありましたが、アクセラレータキャッシュは使用されなくなりました。ファイルキャッシュには、ファイルに関する情報とスタティックなファイルの内容が保存されています。また、ファイルキャッシュは、サーバーで解析される HTML の処理速度を向上させるために使用される情報もキャッシュします。

デフォルトでは、ファイルキャッシュが有効になっています。ファイルキャッシュの設定は、nsfc.conf という名前のファイルに保存されています。ファイルキャッシュの設定は、サーバーマネージャを使用して変更することができます。

詳細は、http://docs.sun.com で、オンラインの『Performance Tuning and Sizing Guide』を参照してください。


スレッドプールの追加と使用

スレッドプールを使用すると、特定のサービスに対して特定数のスレッドを割り当てることができます。

スレッドプールのもう 1 つの用途は、スレッドに対して安全ではないプラグインの実行用です。プールの最大スレッド数を「1」に定義すると、指定されたサービス機能で許容される要求が 1 つだけになります。

スレッドプールを追加するときに指定する情報は、スレッドの最小数と最大数、スタックのサイズ、キューのサイズなどです。

詳細は、http://docs.sun.com で、オンラインの『Performance Tuning and Sizing Guide』を参照してください。

ネイティブスレッドプールと汎用スレッドプール (Windows)

Windows では、ネイティブスレッドプール (NativePool) と追加の汎用スレッドプールの 2 つのタイプのスレッドプールを使用できます。

ネイティブスレッドプールを編集するには、サーバーマネージャで「Native Thread Pool」ページにアクセスします。

目的に応じて、必要な数だけ汎用スレッドプールを作成できます。汎用スレッドプールを作成するには、サーバーマネージャで「Generic Thread Pools」ページにアクセスします。

スレッドプール (UNIX/Linux)

UNIX/Linux でのスレッドは必ず (ユーザーによるスケジューリングではなく) OS でスケジューリングされるため、UNIX/Linux ユーザーは NativePool を使用する必要がなく、この設定を編集するためのサーバーマネージャのページもありません。ただし、UNIX/Linux ユーザーがスレッドプールを作成することはできます。汎用スレッドプールを作成するには、サーバーマネージャで「Thread Pools」ページにアクセスします。

スレッドプールの編集

スレッドプールを追加すると、サーバーマネージャでスレッドプールの設定された値 (最小スレッド数、最大スレッド数など) を変更できます。

スレッドプールの設定は、vsclass.obj.conf でも編集できます。この vsclass は、仮想サーバーのクラス名です。

vsclass.obj.conf には、スレッドプールは次のように表示されます。

パラメータ MinThreadsMaxThreadsQueueSize、および StackSize を使用して、プールを変更します。

Windows ユーザーはサーバーマネージャを使用して、いつでもネイティブプールの設定を編集できます。

スレッドプールの使用

スレッドプールを設定したあと、それを特定のサービス用のスレッドプールとして指定すると、使用できるようになります。

スレッドプールを設定するには、サーバーマネージャの「Preferences」タブをクリックし、「Thread Pool」を選択します。スレッドプールが設定されると、「Thread Pool」リストに、指定した特定のサービスに使用できるスレッドプールが表示されます。

また、vsclass.obj.conf の (この vsclass は仮想サーバーのクラス名です) load-modules 関数に含まれる pool パラメータを使用して、スレッドプールを指定することもできます。

さらに、NSAPI 関数で pool パラメータを使用し、指定したプールでその NSAPI 関数だけが実行されるようにすることもできます。



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.