NSD の使用法 (Windows)
ここでは、Microsoft Windows 上の InterSystems Web ゲートウェイで Network Service Daemon (NSD) を使用する方法について説明します。これは典型的なインストールではありませんが、これが適切である場合があります。
NSD を使用する場合
Web サーバから独立して Web ゲートウェイを管理できるように、NSD を使用して Web サーバと Web ゲートウェイを分離する状況として 3 種類が考えられます。
-
Web サーバがその負荷を複数のサーバ・プロセスに分散する場合に、Web ゲートウェイのインスタンスを各 Web サーバ・プロセスにアタッチする。
-
CSP の占める割合が少ない、きわめて大規模な Web サーバ (例えば、Web アプリケーションのほかに、php、静的コンテンツ、.NET、.ASP アプリケーションなどを扱う Web サーバ) を運用する。
-
Nginx Web サーバを使用している。
NSD モジュールのインストール場所
Microsoft Windows で NSD モジュールを使用する場合、以下の 2 つのユーティリティをインストールします。
-
CSPnsd.exe
-
CSPnsdSv.exe
IIS のインストール環境では、これらは以下の場所にインストールされます。
C:\Inetpub\CSPGateway\nsd
Apache のインストール環境では、これらは以下の場所にインストールされます。
C:\Program Files\Apache Group\Apache\WebGateway\nsd
NSD をホーム・ディレクトリ C:\Inetpub\CSPGateway\nsd から実行します。NSD ベースの接続オプションの場合、構成ファイルとログ・ファイルはこのディレクトリに書き込まれます。
NSD の操作
以下の手順で、NSD を開始します。
-
以下のように、NSD のホーム・ディレクトリに変更します。
C:\Inetpub\CSPGateway\nsd
-
以下を使用して、NSD を開始します。
CSPnsd
NSD が Windows サービス (CSPnsdSv.exe) として開始します。サービスとして登録すると、Windows サービス・マネージャから NSD 全体を管理できるようになります。
-
以下のコマンドを発行して、NSD を終了します。
CSPnsd -stop
または、以下のように入力します。
CSPnsd
NSD の Windows サービスの状態が表示され、以下のいずれかの操作を実行できるようになります。
-
実行中の NSD サービスを停止します。
-
停止中の NSD サービスを再開します。
-
サービス・データベースから NSD サービスを削除します。
Windows サービス・マネージャを使用して、NSD を管理することもできます。NSD はサービス・マネージャで、以下の説明によって識別されます。
Cache Server Pages – Network Service Daemon
すべてのエラーは Web ゲートウェイのイベント・ログで報告されます。
その他の起動オプション
-
ヘルプ情報を表示します。
CSPnsd -h
-
Windows サービスとは対照的に、コマンド・ウィンドウから対話形式で NSD を実行します。NSD のインスタンスを複数実行している場合は、この操作モードを使用する必要があります。
CSPnsd -v
代替 TCP ポートでの NSD の開始
既定では、NSD は TCP ポート 7038 で着信する要求を待ち受けます。以下のようにサービスを開始することでこれをオーバーライドできます。
CSPnsd –v [port_no]
または以下のようにします。
CSPnsd –v -p[port_no]
port_no は、指定する TCP ポート番号です。
起動時に、NSD は CSPnsd.ini ファイルを作成します。このファイルには、通常、以下の行が含まれます。
[SYSTEM]
Ip_Address=127.0.0.1
TCP_Port=7038
ここでは、クライアントは、Web サーバに格納された Web ゲートウェイ・モジュールまたは Web サーバに動的にリンクされる Web ゲートウェイ・モジュール、およびサーバから呼び出された CSP CGI モジュール (またはこのどちらかのモジュール) です。したがって、このファイルを削除、または移動することはできません。また、Web サーバ・プロセスがこのファイルを読み取り可能であることも重要です。Web サーバを操作する Windows ユーザを考慮し、適切な特権を設定してください。NSD クライアントは、Windows の PATH 変数で指定された場所 (C:\Windows など) でこのファイルを検索しようとします。したがって、Web サーバを起動する前に、CSPnsd.ini ファイルをこの場所に移動しておく必要があります。
NSD の複数のインスタンスが実行されている状況で、CSPnsd.ini ファイルに NSD ポート番号を格納することは不適切です。Apache サーバの場合、NSD の TCP ポート番号をクライアントに伝えるためのより適切なメカニズムがあります。具体的には、Apache 構成で以下の環境変数を設定して、ターゲットの NSD インストールのアドレスとポートを指定します。これらの環境変数に指定した値は、CSPnsd.ini ファイルの値よりも優先されます。
-
CSP_NSD_NAME — NSD の IP アドレスです。NSD がリモート・コンピュータで動作している場合のみ、このパラメータを使用します。
-
CSP_NSD_PORT — NSD の TCP ポート番号です。
例 1 : 2 つの Apache 仮想ホスト
2 つの Apache 仮想ホスト (123.123.1.1 および 123.123.1.2) の負荷を、2 つの独立した NSD インストール (TCP ポート 7038 および 7039 で待ち受けます) 間で分散します。
以下の指示文を、Apache 構成 (httpd.conf) に追加します。
<VirtualHost 123.123.1.1>
ServerName 123.123.1.1
SetEnv CSP_NSD_PORT 7038
</VirtualHost>
<VirtualHost 123.123.1.2>
ServerName 123.123.1.2
SetEnv CSP_NSD_PORT 7039
</VirtualHost>
例 2 : 2 つの Web アプリケーション
2 つの Web アプリケーション (/csp1 および /csp2) の負荷を、2 つの独立した NSD インストール (TCP ポート 7038 および 7039 で待ち受けます) 間で分散します。
-
以下の指示文を、Apache 構成 (httpd.conf) に追加します。
<Location /csp1> SetEnv CSP_NSD_PORT 7038 </Location> <Location /csp2> SetEnv CSP_NSD_PORT 7039 </Location>
-
Apache 構成の変更後は、Apache を再起動します。
NSD の複数のインスタンスを実行している場合は、各インスタンスを別々のディレクトリにインストールし、それぞれのインスタンスに専用の構成ファイルとログ・ファイルを管理することをお勧めします。NSD の内部 HTTP サーバを使用すると、各インスタンスの Web ゲートウェイ管理ページに簡単にアクセスできます。以下に例を示します。
http://localhost:7038/csp/bin/Systems/Module.cxw
http://localhost:7039/csp/bin/Systems/Module.cxw