第十五章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) – 为 CSP 构建 Nginx 的过程

第十五章 构建和配置 Nginx 以与 Web 网关配合使用 (Windows) – 为 CSP 构建 Nginx 的过程

  1. MSYS2 shell 中工作,创建 Nginx 文档中建议的工作目录结构:

/opt/

  1. /opt 中工作,使用以下命令查看 Nginx 源代码:

hg clone http://hg.nginx.org/nginx

这会将 Nginx 源代码放置在:/opt/nginx/

  1. CSP 扩展创建目录:

mkdir /opt/nginx/objs/lib/csp/

  1. 将模块源代码 (ngx_http_csp_module.c) 复制到上一步中创建的目录。
  2. 在同一目录中,创建一个名为 config.json 的配置文件。该文件应包含以下行:

ngx_addon_name=ngx_http_csp_module
HTTP_MODULES="$HTTP_MODULES ngx_http_csp_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_csp_module.c"

  1. /opt/nginx/中,配置Nginx构建环境:

auto/configure --with-cc=cl --builddir=objs --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
               --with-cc-opt=-DFD_SETSIZE=1024 --without-http_rewrite_module
               --without-http_gzip_module
               --with-select_module --with-ipv6
               --add-module=objs/lib/csp

请注意最后一行包含包含 CSP 模块的说明。

  1. 编译 Nginx。这可以在当前的 MSYS2 shellVisual Studio 开发人员命令提示符中完成。

要使用 MSYS2 shell,请找到与所需 Visual Studio 构建环境相对应的 vcvarsall.bat 脚本并编译 Nginx

cd /c/path/to/vcvarsall
vcvarsall.bat
cd -
nmake -f objs/Makefile

或者,如果不知道在哪里可以找到 vcvarsall.bat,可以打开 Visual Studio 开发人员命令提示符,它将为您设置构建环境。首先,将 MSYS2 路径转换为当前 MSYS2 shell 中的等效 Windows 路径。

cygpath –m $(pwd)

然后,打开所需构建环境的 Visual Studio 命令提示符并导航到该 Windows 路径。编译 Nginx

nmake -f objs/Makefile

如果成功,您应该在以下位置找到服务器(nginx.exe):/opt/nginx/objs/

  1. 安装 Nginx:最简单的方法是首先下载并安装 Nginx for Windows 的预构建版本以获取目录结构(通常位于 C:
    ginx
    下),然后将安装中的 nginx.exe 文件替换为本地创建的一个。

Nginx 安装的典型目录结构如下:

Directory of C:
ginx

03/07/2017  09:09    <DIR>          .
03/07/2017  09:09    <DIR>          ..
26/06/2017  10:14    <DIR>          conf
26/06/2017  10:14    <DIR>          contrib
10/05/2018  12:53    <DIR>          csp
26/06/2017  10:14    <DIR>          docs
26/06/2017  10:14    <DIR>          html
10/05/2018  15:57    <DIR>          logs
04/07/2017  15:52           715,264 nginx.exe
26/06/2017  10:17    <DIR>          scgi_temp
26/06/2017  10:17    <DIR>          temp
26/06/2017  10:17    <DIR>          uwsgi_temp

将此目录中的 nginx.exe 副本替换为构建过程创建的版本。

© 版权声明

相关文章

暂无评论

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