windows平台下编译nginx相关问题处理

windows编译64位nginx 1.首先安装Mercurial并在环境变量中添加C:\Program Files\Mercurial\目录,因为我们需要在命令行中使用hg命令来获取nginx的源码。 hg clone http://hg.nginx.org/nginx 2.解压pcre-8.37,zlib-1.2.8,openssl-1.0.1s nginx ----objs -------lib ----------pcre-... 阅读详情

本文讲述如何在windows下编译nginx,参考这篇文章 Building nginx on the Win32 platform with Visual C ,它已经讲得比较详细了,但是实际操作过程中总有很多细节问题,在这里记录下来。

常见问题

我使用的VS版本是VS2008,遇到了以下问题。

获取指定版本

有时候我们需要的不是最新版本,比如我要下载1.20版本的nignx,首先,我 这里 找1.20的版本号码,很快我找到是f582d662cc408eb7a132c21f4b298b71d0701abb,以下执行顺序就可以拿到指定版本:

hg clone http://hg.nginx.org/nginx
cd nginx
hg co f582d662cc408eb7a132c21f4b298b71d0701abb

“stdint.h”: No such file or directory

这个问题好办,下载缺少的头文件就行了。 https://code.google.com/p/msinttypes/
解压后将头文件目录 C:\Program Files\Microsoft Visual Studio 9.0\VC\include 下面(或者类似的目录)。

“openssl/ssl.h”: No such file or directory

执行 nmake -f objs/Makefile 的时候,可能会出现这样的问题。我们看到这样的路径(objs/lib/openssl-1.0.1e/openssl/include),其实是没有的。办法就是将openssl-1.0.1e/openssl改成openssl-1.0.1e。

vi nginx/objs/Makefile

或者直接修改生成Makefile的配置

vi auto/lib/openssl/conf
vi auto/lib/openssl/make

无法打开文件 “objs/lib/openssl-1.0.1e/lib/ssleay32.lib”

不知道nginx项目为什么不生成openssl的库,我通过单独编译生成openssl来解决这个问题。步骤如下:

  • 安装perl(我用ActivePerl)
  • 解压openssl到C盘,cd C:\openssl-1.0.1e
  • 执行perl Configure VC-WIN32
  • 运行cmd,将 *”C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.BAT”* 拉到cmd里运行
  • cmd内执行 ms\do_ms
  • cmd内执行 nmake -f ms\ntdll.mak

好了,将手工生成的 libeay32.lib 和 ssleay32.lib 放到目录 nginx/objs/lib/openssl-1.0.1e 下。问题解决。

error C2220: 警告被视为错误 – 没有生成“object”文件

将 CFLAGS 的 -WX 字段去掉,然后重新生成Makefile以及重新编译

vi auto/cc/msvc
#CFLAGS="$CFLAGS -WX"

fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “ngx_config.h””?

windows模块开发中会遇到的问题,每个源文件第一行代码必须添加 #include “ngx_config.h”* ,如果不想这样做就吧编译参数 *-Yungx_config.h 去掉。

每次编译的时候都完全编译

执行这行代码的时候 nmake -f objs/Makefile ,每次都要完全编译,好浪费时间啊。原因是这样的,文件 objs/Makefile 里有这样一行:

objs/lib/openssl-1.0.1e/include/openssl/ssl.h:        objs/Makefile

ssh.h 文件依赖于 objs/Makefile*,但是如果前者修改时间永远都比后者早,就永远都要执行后面的命令了。把字符串 *objs/Makefile 去掉就行了。

操作流程总结

  • “C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat”
  • “C:\MinGW\msys\1.0\msys.bat”
  • cd /c/nginx
  • 生成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 \
--with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/lib/pcre-8.32 \
--with-zlib=objs/lib/zlib-1.2.7 --with-openssl=objs/lib/openssl-1.0.1e \
--with-select_module --with-http_ssl_module --with-ipv6 \
--add-module=objs/lib/naxsi-core-0.48/naxsi_src 
  • nmake -f objs/Makefile
  • 启动nginx
start nginx.exe -p "C:\nginx"
nginx.exe -p "C:\nginx" -s reload
nginx.exe -p "C:\nginx" -s quit

参考资料:
Windows下OpenSSL安装配置

本文由吴遥编写,转载请注明出处。
文章链接:http://www.wuyao721.com/nginx-building-windows.html

windows下搭建nginx-rtmp服务器 windows下搭建nginx-rtmp服务器windows下搭建nginx-rtmp服务器 准备工作 安装MinGW 安装Mercurial 安装strawberryperl 安装nasm 下载nginx相关的源码包 编译nginx nginx-rtmp环境搭建 效果测试 最后说明 阅读详情

相关推荐

Nginx源码Windows编译与实战运行指南

Nginx 是一个高性能的 Web 服务器与反向代理服务器,广泛用于处理高并发请求,具备轻量级、模块化和可扩展性强的特点。其事件驱动架构使其在 Linux 平台上表现尤为出色。然而,随着 Windows Server 的逐步普及,越来越多开发者希望在 Windows 环境下部署和调试 Nginx,尤其是在本地开发、测试与 CI/CD 流程中。通过源码编译 Nginx,开发者可以获得更高的灵活性与控制能力,如定制模块、启用特定功能(如 HTTPS、gzip)以及适配特定运行环境。

weixin_30789053的博客 506

Nginx基本配置

默认启动Nginx时,使用的配置文件是: 安装路径/conf/nginx.conf 文件可以在启动nginx的时候,通过-c来指定要读取的配置文件 常见的配置文件有如下几个: nginx.conf:应用程序的基本配置文件 mime.types:MIME类型关联的扩展文件 fastcgi.conf:与fastcgi相关的配置 proxy.conf:与proxy相关的配置 sites.con...

henry_liu的博客 295

实现Nginx在Windows下的百万级TCP连接负载均衡

本文还有配套的精品资源,点击获取 简介:Nginx不仅是一款高效稳定的Web服务器,还是负载均衡领域的佼佼者。在Windows平台部署Nginx时,其优异的反向代理和负载均衡功能可有效分散大量并发连接到后端服务器,保障服务可用性和响应速度。本文将介绍Nginx在Windows环境下配置负载均衡的策略,如何处理超过一百万的TCP连接,并提供性能优化、监控及安全防护的建议。 ...

weixin_35756892的博客 1404

nginx 编译安装1.17.3版本,添加openssl参数报错问题解决

背景 最近在升级nginx1.14.1到nginx1.17.3版本时,发现了一个openssl的报错,记录一下问题的发生以及解决过程,供大家参考。问题 升级nginx时,我按照惯例,使用原版本的编译参数,来进行1.17.3新版本的编译,如下:#/usr/local/nginx/sbin/nginx-V 取得编译参数: --prefix=/usr/local/n...

beijuliao8459的博客 4843

nginx-upload-module模块源码

nginx-upload-module模块源码,用于nginx配置文件上传功能

经典烧脑算法逻辑题--高楼扔鸡蛋:最少次数测出鸡蛋摔碎临界点。

如果在第2层没碎,换到第3层扔.......如果第59层没碎,换到第60层扔;有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。因此,我们尝试每10层扔一次,第一次从10层扔,第二次从20层扔,第三次从30层......一直扔到100层。如果第一枚鸡蛋,在50层碎了,第二枚鸡蛋,就从第1层开始扔,一层一层增长,一直扔到第49层。如果第一枚鸡蛋在50层没碎了,则继续使用二分法,在剩余楼层的一半(75层)往下扔。

借雨醉东风的博客 1818

解决nginx出现 No such file or directory问题

[root@localhost /]# cd /usr/local/nginx/sbin/ [root@localhost sbin]# ./nginx ngx_http_fastdfs_set pid=10802 [root@localhost sbin]# nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) ^C [root@localhost sbin]# cd /va...

am的博客 1万+

(Touch™)搭建 Windows 开发环境

> OpenHaptics 开发包参考文档。

置心一处,便无事不办 1500

fatal error:openssl/opensslconf.h:No such file or directory

fatal error:openssl/opensslconf.h:No such file or directory...

十三阿哥的博客 6336

基于大模型的急性重症胰腺炎全流程预测与诊疗方案研究

本研究构建了基于大模型的急性重症胰腺炎(SAP)全流程预测与诊疗系统,实现了从术前风险评估到术后康复管理的精准诊疗闭环。通过整合临床信息、实验室检查和影像学等多源数据,模型在测试集上预测准确率达X%,AUC为X,显著优于传统评分系统。研究创新性地将预测结果应用于手术方案制定、麻醉决策、并发症防控及个性化护理,形成智能化诊疗方案。验证结果显示模型具有良好的稳定性和临床适用性,同时配套的健康教育体系提升了患者自我管理能力。尽管存在样本局限性和模型可解释性等不足,该研究为SAP的精准诊疗提供了新范式,未来可通过扩

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1115

XILINX RFSoC全面解析(五)—— Zynq UItrascale+ RF Data Converter IP核详解

这期我们来看看RFSoC独有的IP核——Zynq UItrascale+ RF Data Converter如何使用。 我使用的VIVADO版本是2018.3,这个是最低版本,要开发RFSoC,VIVADO版本必须不低于2018.3。 另外电脑配置也需要很高,64位,8核@3.4GHz CPU,16GB内存,固态硬盘基本就是低配,跑起来很勉强。建议有条件的朋友使用工作站或者服务器。 首先在VIVADO中新建一个工程,因为我使用的是xilinx官方的开发板,所以可以直接设定选board就行。 在I

1万+

ngx_http_upload_module.c:14:10: fatal error: md5.h: No such file or directory

ngx_http_upload_module.c:14:10: fatal error: md5.h: No such file or directory

佳佳鸽的博客 996

18、动态系统响应分析

本文系统地介绍了动态系统响应的分析方法,涵盖传递函数建模、特殊输入下的响应特性(如脉冲和阶跃响应)、终值与初值定理的应用、系统直流增益的计算,并深入探讨了一阶和二阶系统的时域特性。通过实例分析与MATLAB仿真,展示了不同参数对系统行为的影响。文章还总结了系统响应在控制设计与故障诊断中的实际应用,并展望了多变量、非线性及实时响应分析的未来研究方向。配合流程图,提供了清晰的系统分析与设计路径。

kite3的博客 141

windows下编译安装nginx_rtmp

windows下搭建nginx-rtmp服务器 文章目录windows下搭建nginx-rtmp服务器编译nginxnginx-rtmp环境搭建效果测试最后说明 最近因为接...

zqw_4181的博客 3533

物料分类账-返工工单(自身)差异分摊逻辑

如上图所示,当月入库的全部消耗,而返工消耗的数量为100PCS,所以返工消耗占总消耗的比例为100pcs/(205pcs+100pcs)=0.327868852。备注:红色箭头的物料号为产品自己本身所产生的价差,就是返工工单所承担的差异,而我们要计算的就是这个值,所以计算价差不会包括此项。价差合计就是不包括初始分摊的价差9153.7,剩下的价差合计就是返工工单自身所承担的差异4465.21。每一次返工工单所承担的差异都会按照价差*承担比例去计算承担的差异,知道承担完所有差异。

Yeol827的博客 2489

焊缝缺陷智能检测:基于 YOLO 的工业质检系统实战

从焊缝缺陷数据集的构建到模型训练,从桌面检测界面到缺陷统计输出,本文覆盖了一套工业焊缝质检系统的完整路线。这个场景的核心难点在数据层面——气孔和裂纹这类小目标的标注质量直接决定了模型的最终表现。建议先在开源数据集上跑通全链路,确认 mAP 达到可接受的水平后,再通过补充特定类型的小目标数据和提升输入分辨率来做精度优化。工业场景中,漏检一个气孔的成本和误报一个假阳性的成本不一样——根据对两类成本的承受力,调整置信度阈值来找到业务上的最佳平衡点。

m0_71589036的博客 202

nginx_upstream_check_module Windows端nginx心跳检测模块编译和打包

nginx负载均衡 windows 心跳检测

weixin_43969629的博客 2006

用ChatGPT 5.5掌握SCI的4个实操润色技巧,论文质量极速提升!(附提示词)

ChatGPT 5.5的发布,在学术写作中的应用变得更加精准和安全,通过正确的使用方法,不仅可以改善语法与表达,让论文达到SCI发表水准,还能最大程度保留作者原意,将AIGC检测率控制在低风险区间。可以帮大家省下大量纠结语法、梳理逻辑的时间,在保证润色质量的同时,兼顾AIGC检测的合规要求,为论文投稿成功率提供实实在在的提升。通过智能调整语序、优化用词和句式结构,该方法能够在保留学术质感的同时,使文章表达更自然、贴近人工撰写的风格,从而避免文字过于程式化,提升论文整体可读性和表达的个性化特征。

智能AI让学术科研更容易 64

Nginx技巧之Windows下编译

本文主要论述的是如何在Windows下编译Nginx,尤其是一些埋坑点。

夫礼者的专栏 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

windows 10下基于MinGW编译nginx 和 nginx-rtmp-model 搭建流媒体服务器

windows下编译nginx + nginx-rtmp-model 搭建流媒体服务器 因最近项目需求,在设备端需要统一播放视频,因此我就想搭建一个流媒体服务器,然后在项目的信息管理平台系统上统一向设备端推流,以下是在windows下编译nginx+nginx-rtmp-model及搭建流媒体服务器的过程。 编译的操作系统为 windows 10 编译环境为 Visual Studio 2010 (建议用这个版本,这是官方推荐的版本) 环境配置与准备工作,顺序安装以下各软件 安装MinGW 安装

1376

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

nginx 在windows系统和Linux系统下启动和停止相关命令和可能遇到的问题

像类似nginx这类服务我们一般配置完以后很少再去动了,时间长了,就容易忘记。正所谓好记性不如烂笔头,闲来无事,就记录一下nginx最常用的启动停止相关命令。方便后期查询使用。 Windows下Nginx的启动、停止等命令 首先需要CMD命令行切入到nginx的安装目录 1、校验nginx.conf配置文件: 运行 nginx.exe -t 该命令可以检验配置文件语法和编译是否有问题 2、启动: 运行 start nginx 或nginx.exe 命令 注意:推荐使用start nginx命令启动 .

井底的青蛙 546

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Linux/Windows中安装Nginx

目录 安装步骤 安装nginx依赖 安装编译环境gcc g++ 安装PCRE 安装Nginx 下载 解压 编译安装 修改阿里云组策略 启动停止 访问 安装步骤 安装nginx依赖 安装编译环境gcc g++ 进入到root目录: cd /root/进行安装: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 安装PCRE 下载 PCRE功能是让nginx有rewrite

FAIRYTAIL的博客 706

Windows和Linux下Nginx的安装及其实战

Nginx是一款免费开源的高性能HTTP服务器及反向代理服务器(Reverse Proxy)产品,本文讲述Windows和Linux下Nginx的安装及其实战。

zhiwenganyong的博客 2994

Nginx下载安装,什么是nginx,什么是反向代理,Windows下、linux下安装nginx(保姆级教程)

nginx

zhangfuping123456789的博客 1万+

Windows下Nginx闪退问题排查指南:端口占用与配置错误解决方案

在Web服务器部署与运维中,端口冲突和配置文件语法错误是导致服务启动失败的常见原因。端口作为网络通信的端点,若被其他进程占用,服务将无法绑定监听,这是网络编程中的基础原理。配置文件则是服务器行为的蓝图,其语法正确性直接决定服务能否正常解析与运行。从技术价值看,掌握端口占用排查与配置验证能有效提升服务部署成功率与系统稳定性。在实际应用场景中,无论是开发测试环境还是生产部署,快速定位并解决Nginx等服务的启动问题,是保障Web应用可访问性的关键。本文聚焦于Windows环境下Nginx启动时闪退这一典型故障,

weixin_30542079的博客 353

nginx 部署前端vue项目

Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。优点支持海量高并发:采用IO多路复用epoll。官方测试Nginx能够支持5万并发链接,实际生产环境中可以支撑2-4万并发连接数。内存消耗少可商业化配置文件简单 除了这些优点还有很多,比如反向代理功能,灰度发布,负载均衡功能等。

我哎GIS博客 3万+
上一篇: Nginx配置文件详细说明
下一篇: HTTP服务器Nginx.conf配置文件介绍与调试
cuoban
博客等级 码龄24年 239粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值