第十四章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows)

随笔9个月前发布 文质彬彬
89 0 0

第十四章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows)

本页介绍如何构建和配置 Nginx Web 服务器以与 Windows 上的 InterSystems Web Gateway 配合使用。 (在 Windows 上,其他选项是 ApacheIIS;其他操作系统上的选项有所不同。)

Nginx 是一个开源产品。源代码可以免费下载:http://nginx.org/

一些预构建的工具包可用于 Windows,通常比最新的 Nginx 版本晚一些版本。然而,由于扩展必须编译到 Nginx 核心中,因此有必要从源代码本地构建 Web 服务器,以包含对 CSP 的支持。

完成本页面中的步骤后,可以使用 Web Gateway 管理页面进一步配置 Web Gateway

Assumptions

此页面假设

  • CSP/Web Gateway 组件安装在 install-dircsp
  • Web服务器安装在C:
    ginx

如果系统上的布局不同,请根据需要修改配置指令。

安装

Web Gateway 组件和 CSP 静态文件应按如下方式安装:

  1. Web 网关网络服务守护进程 (NSD - Network Service Daemon)
  • CSPnsd.exe(主二进制文件)
  • CSPnsdSv.exeWindows 服务)

这些文件的默认位置是 install-dirin

配置和日志文件写入此目录中。

  1. HyperEvents组件
  • CSPBroker.js

  • CSPxmlhttp.js

这些文件的默认位置是 install-dircsproker

如果这些文件要直接由Web服务器作为静态组件,请将它们复制到C:
ginxhtmlcsproker

  1. 管理门户使用的各种静态资源

管理门户需要大量静态 Web 资源(例如图像文件)。这些文件的默认位置是 install-dircspsys

如果这些文件由 Web 服务器直接提供服务,请将它们复制到 C:
ginxhtmlcspsys

CSP 构建 Nginx Web 服务器

大多数 Web 网关功能由 NSD (CSPnsd[Sv].exe) 提供。对于 CSP 访问,可以构建并配置 Nginx,通过一个小的编译模块与 NSD 进行通信:ngx_http_csp_module.c。为方便起见,所有 Web Gateway 安装都包含此源文件。

构建 Nginx 的先决条件:

  • Microsoft Visual Studio(版本 10 或更高版本):http://www.microsoft.com
  • MSYS2(来自 MinGW):https://www.msys2.org/
  • Perl(最好是 ActivePerl):https://www.activestate.com/products/perl/
  • Mercurial 源代码控制客户端:https://www.mercurial-scm.org/

这里给出的构建说明基于Windows下构建Nginx的官方文档:

http://nginx.org/en/docs/howto_build_on_win32.html

Nginx 文档规定还需要以下第三方附加组件:

  • PCRE: http://www.pcre.org/

  • OpenSSL (for SSL/TLS) https://www.openssl.org/

  • Zlib: http://zlib.net/

但是,如果最终安装不需要这些组件提供的功能,则可以在没有这些组件的情况下创建功能齐全的服务器。

构建Nginx的默认配置脚本,包括上面列出的所有可选模块,如下:

auto/configure 
 --with-cc=cl 
 --with-debug 
 --prefix= 
 --conf-path=conf/nginx.conf 
 --pid-path=logs/nginx.pid 
 --http-log-path=logs/access.log 
 --error-log-path=logs/error.log 
 --sbin-path=nginx.exe 
 --http-client-body-temp-path=temp/client_body_temp 
 --http-proxy-temp-path=temp/proxy_temp 
 --http-fastcgi-temp-path=temp/fastcgi_temp 
 --http-scgi-temp-path=temp/scgi_temp 
 --http-uwsgi-temp-path=temp/uwsgi_temp 
 --with-cc-opt=-DFD_SETSIZE=1024 
 --with-pcre=objs/lib/pcre-8.44 
 --with-zlib=objs/lib/zlib-1.2.12 
 --with-openssl=objs/lib/openssl-1.1.1k 
 --with-openssl-opt=no-asm 
 --with-http_ssl_module

可以修改构建过程以排除可选模块:

  • OpenSSL – 删除 SSL/TLS 功能:删除指令:--with-http_ssl_module.
  • Zlib – 删除 GZIP 功能:添加指令:--without-http_gzip_module
  • PCRE – 删除 HTTP 重写功能:添加指令:--without-http_rewrite_module
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...