资讯

展开

Windows源码编译nginx

作者:快盘下载 人气:

文章目录

windows 源码编译 nginx;可以加入功能模块

1. 依赖

如果参考 nginx 官网文档的话还需要 MSYS 和 Mercurial client;但是我编译时候没用;后文附官方文档链接

2. 步骤

2.1 下载源码

直接去 http://hg.nginx.org/nginx 上下载源码;解压之后的文件目录结构是;

Windows源码编译nginx

2.2 解压依赖

在解压的文件夹中新建 objslib 文件夹;然后将上面下载的依赖 openssl zlib PCRE 三个依赖以及你自己想要编译的模块比如我的是 nginx-http-flv-module 解压之后放到 objslib 文件夹中;如下;

2.3 配置环境变量

2.4 配置和编译

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/pcre2-10.40 
    --with-zlib=objs/lib/zlib-1.2.13 
    --with-openssl=objs/lib/openssl-1.1.1s 
    --with-openssl-opt=no-asm 
    --with-http_ssl_module 
    --add-module=objs/lib/nginx-http-flv-module
  • make;回到 nignx 主目录
nmake -f objsMakefile

如果出现比如rc;不是内部或外部命令;也不是可运行的程序;等错误就是环境变量没配好

3. 测试

编译成功之后会在objs文件夹下出现nginx.exe可执行文件
Windows
另外运行nginx.exe出现创建文件失败错误的话;比如[alert] could not open error log file: CreateFile和 [emerg] 10888#16720: CreateDirectory()
只需要在nginx主目录下创建相应的文件夹;比如常见的文件有 temp logs

4. 参考

  • http://nginx.org/en/docs/howto_build_on_win32.html
  • https://www.dapan.cc/article/2022/11/18841/

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!