文章目录
- [第五十五章 使用 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