文章目录
- [第五十五章 使用 NSD (Windows) - 在备用 TCP 端口上启动 NSD](#第五十五章 使用 NSD (Windows) - 在备用 TCP 端口上启动 NSD)
- [在备用 `TCP` 端口上启动 `NSD`](#在备用
TCP端口上启动NSD) -
- [示例 1:两个 `Apache` 虚拟主机](#示例 1:两个
Apache虚拟主机) - [示例 2:两个 `Web` 应用程序](#示例 2:两个
Web应用程序)
- [示例 1:两个 `Apache` 虚拟主机](#示例 1:两个
第五十五章 使用 NSD (Windows) - 在备用 TCP 端口上启动 NSD
在备用 TCP 端口上启动 NSD
默认情况下,NSD 侦听 TCP 端口 7038 上的传入请求。可以通过启动服务来覆盖此设置,如下所示:
java
CSPnsd --v [port_no]
或
java
CSPnsd --v -p[port_no]
- 其中
port_no是选择的TCP端口号。
启动时,NSD 创建 CSPnsd.ini 文件,该文件通常包含以下行:
java
[SYSTEM]
Ip_Address=127.0.0.1
TCP_Port=7038
在此上下文中,客户端是包含在 Web 服务器内或动态链接到 Web 服务器的 Web 网关模块和/或服务器调用的 CSP CGI 模块。因此,重要的是不要删除或移动该文件。 Web 服务器进程可以读取此文件也很重要。相应地设置权限,请记住运行 Web 服务器的 Windows 用户。 NSD 客户端尝试在 Windows PATH 变量中包含的位置(例如:C:\Windows)中查找此文件。因此,在启动 Web 服务器之前,必须将 CSPnsd.ini 文件移至此位置。
对于运行多个NSD实例的场景,将NSD端口号存储在CSPnsd.ini文件中是不合适的。对于 Apache 服务器,有一种更好的机制可以将 NSD 的 TCP 端口号传递给其客户端。具体来说,在 Apache 配置中设置以下环境变量以指示目标 NSD 安装的地址和端口。这些环境变量中指定的值优先于 CSPnsd.ini 文件中找到的任何值:
CSP_NSD_NAME--- 这是NSD的IP地址。仅当NSD在远程计算机上运行时才使用此参数。CSP_NSD_PORT--- 这是NSD的TCP端口。
示例 1:两个 Apache 虚拟主机
在两个独立的 NSD 安装(侦听 TCP 端口 7038 和 7039)之间分配两个 Apache 虚拟主机(例如 123.123.1.1 和 123.123.1.2)的负载。
将以下指令添加到 Apache 配置 (httpd.conf):
java
<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:两个 Web 应用程序
在两个独立的 NSD 安装(侦听 TCP 端口 7038 和 7039)之间分配两个 Web 应用程序(例如 /csp1 和 /csp2)的负载。
- 将以下指令添加到
Apache配置 (httpd.conf):
java
<Location /csp1>
SetEnv CSP_NSD_PORT 7038
</Location>
<Location /csp2>
SetEnv CSP_NSD_PORT 7039
</Location>
- 更改配置后重新启动 Apache。
如果 NSD 的多个实例正在运行,建议将单独的实例安装在单独的目录中,每个实例维护自己的配置和日志文件副本。通过使用 NSD 内部 HTTP 服务器可以轻松访问每个实例的 Web Gateway 管理页面。例如:
java
http://localhost:7038/csp/bin/Systems/Module.cxw
http://localhost:7039/csp/bin/Systems/Module.cxw