windows7-64位编译nginx指南

刘嘉木
2023-12-01

1.    安装VS2010,需要使用nmake编译器和Visual Studio 命令提示(2010);
2.    安装nasm-2.12.02rc9-installer-x64.exe,与perl和openssl依赖相关,相关下载地址:https://www.nasm.us/pub/nasm/releasebuilds/;
3.    安装strawberry-perl-5.14.4.1-64bit.exe,注意版本不要太高,否则可能存在安装不成功的情况,与openssl依赖相关,相关下载地址:https://strawberryperl.com/;
4.    安装mingw-get-setup.exe,安装msys环境,需要在此环境下执行configure命令,生成Makefile文件,相关下载地址:https://jaist.dl.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe;
5.    检查环境变量,如下:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%USERPROFILE%\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Git\cmd;C:\MinGW\bin;C:\MinGW\mingw32\bin;C:\MinGW\msys\1.0\bin;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;C:\Program Files (x86)\NASM;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin
6.    下载依赖库源代码:openssl-1.0.1e;pcre-8.45;zlib-1.2.12,三个依赖库源代码相关下载地址:https://www.openssl.org/source/old/;https://sourceforge.net/projects/pcre/;http://www.zlib.net/;
7.    下载nginx源代码,相关下载地址:http://hg.nginx.org/nginx,注意nginx-src\src\os\win32文件夹要存在相关文件;
8.    执行C:\MinGW\msys\1.0\msys.bat文件,打开命令行窗口,切换到nginx-src目录下,执行configure脚本,生成Makefile文件,脚本如下:
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 \
--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.45 \
--with-zlib=objs/lib/zlib-1.2.12 \
--with-openssl=objs/lib/openssl-1.0.1e \
--with-select_module --with-http_ssl_module
9.    修改nginx-src\auto\lib\openssl下的makefile.msvc文件,修改标黄部分,如下:
# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.
all:
    cd $(OPENSSL)
    perl Configure VC-WIN32 no-shared                \
        --prefix="%cd%/openssl"                 \
        --openssldir="%cd%/openssl/ssl"             \
        $(OPENSSL_OPT)
    if exist ms\do_ms.bat (                        \
        ms\do_nasm                        \
        && $(MAKE) -f ms\nt.mak                    \
        && $(MAKE) -f ms\nt.mak install                \
    ) else (                            \
        $(MAKE)                            \
        && $(MAKE) install_sw                    \
    )
10.    通过开始菜单找到并打开Visual Studio 命令提示(2010)窗口,切换到nginx-src目录下,执行nmake -f objs/Makefile命令,大约一到两分钟完成编译。
 

 类似资料: