第五十五章 使用 NSD (Windows) - 在备用 TCP 端口上启动 NSD

在备用 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 网关模块和/或服务器调用的 CSP CGI 模块。因此,重要的是不要删除或移动该文件。 Web 服务器进程可以读取此文件也很重要。相应地设置权限,请记住运行 Web 服务器的 Windows 用户。 NSD 客户端尝试在 Windows PATH 变量中包含的位置(例如:C:\Windows)中查找此文件。因此,在启动 Web 服务器之前,必须将 CSPnsd.ini 文件移至此位置。

对于运行多个NSD实例的场景,将NSD端口号存储在CSPnsd.ini文件中是不合适的。对于 Apache 服务器,有一种更好的机制可以将 NSDTCP 端口号传递给其客户端。具体来说,在 Apache 配置中设置以下环境变量以指示目标 NSD 安装的地址和端口。这些环境变量中指定的值优先于 CSPnsd.ini 文件中找到的任何值:

  • CSP_NSD_NAME — 这是 NSDIP 地址。仅当 NSD 在远程计算机上运行时才使用此参数。
  • CSP_NSD_PORT — 这是 NSDTCP 端口。

示例 1:两个 Apache 虚拟主机

在两个独立的 NSD 安装(侦听 TCP 端口 70387039)之间分配两个 Apache 虚拟主机(例如 123.123.1.1123.123.1.2)的负载。

将以下指令添加到 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:两个 Web 应用程序

在两个独立的 NSD 安装(侦听 TCP 端口 70387039)之间分配两个 Web 应用程序(例如 /csp1/csp2)的负载。

  1. 将以下指令添加到 Apache 配置 (httpd.conf):
<Location /csp1>
    SetEnv CSP_NSD_PORT 7038
</Location>
<Location /csp2>
    SetEnv CSP_NSD_PORT 7039
</Location>
  1. 更改配置后重新启动 Apache。

如果 NSD 的多个实例正在运行,建议将单独的实例安装在单独的目录中,每个实例维护自己的配置和日志文件副本。通过使用 NSD 内部 HTTP 服务器可以轻松访问每个实例的 Web Gateway 管理页面。例如:

http://localhost:7038/csp/bin/Systems/Module.cxw

http://localhost:7039/csp/bin/Systems/Module.cxw
04-18 10:14