管理与程序设计指南


为使用 Web 服务器 API 而配置 Net.Data

使用 Web 服务器应用程序设计接口 (API) 而不是 CGI 可以很大地改进 Net.Data 的 性能。Net.Data 支持以下服务器 API:

有关每个 API 的更多信息,参见使用 Web 服务器 API以及您所使用的 Net.Data 版本的 自述文件。

要求:要以 GWAPI、ISAPI 或 NSAPI 方式 运行 Net.Data,您必须重新配置 Web 服务器,以便将 Net.Data DLL 或共享程序库用作 它的服务命令。重新配置之后,您必须重新启动 Web 服务器以使 Net.Data 初始化文件的更改生效。缺省情况 下,Net.Data 以 CGI 方式运行。

以下章节描述了如何配置 Net.Data 和 Web 服务器以运行 Web 服务器 API 方式。其中 提供了一般步骤和示例,但它们可能和您的操作系统有所不同。参见针对您所使用的操作系统 的 Net.Data 的自述文件,以获取特定的指导。

要配置 GWAPI:

  1. 停止 Web 服务器。
  2. 确保 GWAPI DLL 或共享程序库位于服务器的 CGI-BINICAPI-LIB 目录中。

    参见针对您所使用的操作系统的 Net.Data 的自述文件或 程序目录,以获取特定的文件和目录名称。

  3. 在 Web 服务器的配置文件 (httpd.confhttpd.cnf) 中添加一个 服务语句来调用 API。

    例如:

    Service /cgi-bin/db2www* /home/http/cgi-bin/dtwicapi.o:dtw_icapi*
    

    参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。

  4. 重新启动 Web 服务器。

GWAPI 具有完全兼容性,可支持现存应用程序。使用与 CGI 相同的方法来调用 URL 和表,或者与 GWAPI 相链接。 使用 CGI 成功执行的宏也可以使用 GWAPI 来成功执行。不需要对这些宏作任何修改。

要配置 ISAPI:

  1. 停止 Web 服务器。
  2. 将 Net.Data 所附带的、用于 ISAPI 的 DLL 复制到服务器的子目录中。例如:
     /inetsrv/scripts/dtwisapi.filetype
    

    其中的 filetype 对 于 Windows NT 和 OS/2 来说是 .dll,对于 UNIX 操作系统来说则是 .o

    参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。

  3. 因为 ISAPI 绕过了 CGI 处理,因此在表和链接中不需要 URL 的 cgi-bin/db2www/ 部分。相反,需要使用 dtwisapi.filetype。例如,如果以下 URL 将 Net.Data 作 为 CGI 程序调用:
    http://server1.stl.ibm.com/cgi-bin/db2www/test1.d2w/report
    

    那么您应使用以下 URL 将 Net.Data 作为 ISAPI 插件来调用:

    http://server1.stl.ibm.com/scripts/dtwisapi.dll/test1.d2w/report
    
  4. 如果您将宏 test1.d2w 存储在子目录 /order/ 中(在 MACRO_PATH中指 定的某个目录或 Web 服务器的当前目录下),则使用以下 URL 在 CGI 方式中调用 Net.Data:
    http://server1.stl.ibm.com/cgi-bin/db2www/orders/test1.d2w/report
    

    那么,在 ISAPI 方式中调用 Net.Data 的等价的 URL 是:

    http://server1.stl.ibm.com/scripts/dtwisapi.dll/orders/test1.d2w/report
    
  5. 重新启动 Web 服务器。

要配置 NSAPI:

  1. 停止 Web 服务器。
  2. 将 Net.Data 所附带的、用于 NSAPI 的 DLL 复制到服务器目录中。例如:
     /netscape/server/bin/httpd/dtwnsapi.filetype
    

    其中的 filetype对 于 Windows NT 和 OS/2 来说是 .dll,对于 UNIX 操作系统来说则是 .o

    参见针对您所使用的操作系统的 Net.Data 的自述文件,以获取特定的文件和目录名称。

  3. 使用下面列出的更改来修改您的服务器配置文件。参见针对您所使用的操作系统的 Net.Data 的 自述文件或程序目录,以了解操作系统之间的区别。
    obj.conf 添加到文件开头:
    Init fn="load-modules" shlib="<path>dtwnsapi.dll" funcs=dtw_nsapi
    
    obj.conf 添加到服务命令:
    Service fn="dtw_nsapi" method=(GET|HEAD|POST)
      type="magnus-internal/d2w"
     
    
    mime.types 添加此类型,其中 d2w 是宏的缺省扩展名。您可以指定任意的三个字符的组合。
    type=magnum-internal/d2w exts=d2w
    
  4. 将 Net.Data 宏从 netdata/macro 目录移动到服务器的根文档 目录:
    /netscape/server/docs/
    
  5. 将服务器的根文档目录添加到初始化文件的 MACRO_PATH 语句中。这个更改 告诉 Net.Data 在哪里查找宏。
  6. 因为 NSAPI 绕过了 CGI 处理,因此在表和链接中不需要 URL 的 cgi-bin/db2www/ 部 分。服务器知道具有 d2w 文件类型的文件是 Net.Data 宏,因为您在 更改 Netscape 配置文件时对它进行了定义。例如,以下 URL 将 Net.Data 作 为 CGI 程序调用:
    http://server1.stl.ibm.com/cgi-bin/db2www/test1.d2w/report
    

    而以下 URL 将 Net.Data 作为 NSAPI 程序调用:

    http://server1.stl.ibm.com/test1.d2w/report
    
  7. 重新启动 Web 服务器。

如果将 Net.Data 宏放在几个目录中,那么最后的三个步骤改为:

  1. 将目录和其中包含的 Net.Data 宏移动到服务器的根文档目录。
  2. 更新初始化文件中的 MACRO_PATH 变量来包括宏所在的所有目录和子目录。
  3. 修改指向这些 Net.Data 宏的链接和表,保留它们的目录名。例如,在 CGI 方式中运行时, 以下 URL 将调用一个存储在 /orders/ 目录中的 Net.Data 宏:
    http://server1.stl.ibm.com/cgi-bin/db2www/orders/test1.d2w/report
    

    经过修改后, 在 NSAPI 方式中调用 Net.Data 的 URL 要短一些,但仍保留了目录名:

    http://server1.stl.ibm.com/orders/test1.d2w/report
    


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]