在Windows上编译Nginx

news2024/11/17 11:31:17

《在Windows上编译Nginx》视频教程

官方编译说明

Building nginx on the Win32 platform with Visual C

环境准备

1. Microsoft Visual Studio(Microsoft Visual C 编译器),下载地址:https://visualstudio.microsoft.com/zh-hans/。

2. Git(备用),下载地址:https://git-scm.com/。

3. MSYS2,下载地址:https://www.msys2.org/。

4. Perl,编译OpenSSL时需要,编译出来的Nginx支持SSL。ActivePerl or Strawberry Perl。

5. PCRE, zlib and OpenSSL。
MSYS2、Strawberry Perl、PCRE、zlib、OpenSSL资源包https://download.csdn.net/download/lk13962517093/87490251

下载源码

 源码地址:http://hg.nginx.org/nginx/

通过界面zip可以下载源码包,下载后进行解压,然后把pcre2-10.39.tar.gz、zlib-1.2.11.tar.gz、openssl-1.1.1m.tar.gz解压后的源码包目录。

编译

使用MSYS2配置

进入Nginx源码目录,直接执行以下命令对3个依赖包进行解压操作。

mkdir objs
mkdir objs/lib
cd objs/lib
tar -xzf ../../pcre2-10.39.tar.gz
tar -xzf ../../zlib-1.2.11.tar.gz
tar -xzf ../../openssl-1.1.1m.tar.gz

然后输入以下配置指令进行配置:

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.39 \
    --with-zlib=objs/lib/zlib-1.2.11 \
    --with-openssl=objs/lib/openssl-1.1.1m \
    --with-openssl-opt=no-asm \
    --with-http_ssl_module

配置过程中,可能会提示错误:

这个是MSVC版本识别错误导致,直接打开 auto/cc/msvc文件,

对其进行编辑,根据注释说明和本地实际安装的MSVC编译器情况,设置版本号,如下(添加NGX_MSVC_VER=19.00,不要输入空格):

 使用MSVC编译

使用Microsoft Visual Studio的编译工具中的“适用于 VS 2017 的 x86_x64 兼容工具命令提示”这个工具进行编译。编译成功后,会在objs文件夹生成Nginx.exe文件。

 针对编译过程最后提示的sed命令缺少的问题,可以添加Git下的 \usr\bin 路径添加到系统环境变量的Path中即可解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/370822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OSS存储使用之centOS系统ossfs挂载

以CentOS7系统为例 下载CentOS系统支持的ossfs工具的版本,以下载CentOS 7.0 (x64)版本为例,可以通过wget命令进行安装包的下载 wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm 也可以通过yum命令来进行安装包的下载 sud…

【网络原理9】HTTP响应篇

在前两篇文章当中,已经分别介绍了HTTP是什么,以及常见的请求头当中的属性。【网络原理7】认识HTTP_革凡成圣211的博客-CSDN博客HTTP抓包,Fiddler的使用https://blog.csdn.net/weixin_56738054/article/details/129148515?spm1001.2014.3001.…

excel格式调整:表格应用中格式刷技法汇总

格式刷很简单,点一下,就可以把格式复制到其他单元格、图形、文字上。但是格式刷的用法又不仅仅这么一点,它还可以实现快速隔行填色、隔行隐藏,实现“无损”合并单元格等。在excel中,位于开始菜单中左侧的格式刷&#x…

澜沧古茶再冲刺港交所上市:多项核心指标下滑,杜春峄为董事长

近日,普洱澜沧古茶股份有限公司(下称“澜沧古茶”)向港交所主板提交上市申请,中信建投国际、招商证券国际为其联席保荐人。据贝多财经了解,这已经是澜沧古茶第二次在港交所递表,此前曾于2022年5月30日在港交…

不同方案特性对比

特性对比项 2.4G 蓝牙 868M WIFI 通信速率 低 低 低 高 距离(实用可靠) 20米 10米 30米 15米 确定性 高 低 高 高 可靠性(距离内) 高 低 高 高 刷新一个标签时间(通常) 0.5-1s …

西北工业大学大学物理(I)下2019-2020选填考题解析

单选题12个,24分。1量子数考查前三个量子数由薛定谔方程决定,最后一个关于自旋的由狄拉克方程决定由这些量子数可以给出原子的壳层结构。考试其实考的不深,记住这个表就够了。2 书上18、19章量子物理的著名实验:光电效应&#xff…

如何安装和使用oecp工具?

运行环境:python3>3.7.9、sqlite>v3.7.17 下载安装与部署的要求: install abidiff (centos): yum install -y epel-release; yum install -y libabigail install createrepo: yum install -y createrepo install binutils: yum install -…

【Redis】初探Redis

【Redis】初探Redis 前言 很早之前写的文章,最近考虑到面试可能涉及到Redis,所以拿出来再看一遍 Redis概述 Redis是啥? Redis是Remote Dicitionary Server的缩写,翻译过来就叫做远程字典服务 是开源的、使用C完成的、支持网路…

推荐算法——NCF知识总结代码实现

NCF知识总结代码实现1. NeuralCF 模型的结构1.1 回顾CF和MF1.2 NCF 模型结构1.3 NeuralCF 模型的扩展---双塔模型2. NCF代码实现2.1 tensorflow2.2 pytorchNeuralCF:如何用深度学习改造协同过滤? 随着技术的发展,协同过滤相比深度学习模型的…

学习资料|常用的一些CMD运行命令,整理的比较齐全

CMD命令CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本)appwiz.cpl:程序和功能calc:启动计算器certmgr.msc:证书管理实用程序charmap&#…

持续集成Jenkins (五)Jenkins API的使用(更新中)

前言目前,我们将要上线DevOps系统,面对未来可能需要对系统的二次开发和处于对系统的深入理解,我需要对Jenkins API有个比较熟悉的了解。在DevOps中,jenkins总是作为其中的一环集成到里面,它提供了几种语言的API,可以很…

如何在Wordpress中使用wp_nav_menu()在<li>及a标记中添加Class

我正在使用wp_nav_menu($args),我想将my_own_classCSS类名添加到<li>元素中以获得以下结果:<li classmy_own_class><a href>Link</a>怎么做&#xff1f;wp_nav_menu()在<li>标记中添加Class方法一&#xff1a;只需使用其他参数并为nav_menu_css_…

熟悉GC常用算法,熟悉常见垃圾收集器,具有实际JVM调优实战经验

程序的栈和堆 栈先进后出&#xff0c;且里面的数据自动释放&#xff0c; 堆内的空间则需要手动释放 java python go 只管创建&#xff0c;不用像c,c需要手动释放空间&#xff0c; 因为他们都会开一个进程GC&#xff08;Garbage Collector&#xff09;&#xff0c;由垃圾回收…

从早吃到晚,才是我对旅行目的地最大的尊重

点击文末“阅读原文”即可收听本期节目剪辑、音频 / 卷圈 编辑 / SandLiu 卷圈 监制 / 姝琦 文案 / 粒粒 封面 / midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间摊牌吧&#xff0c;承认吧&#xff0c;有些地方&#xff0c;你就是冲着吃东西才去的&#xff0c;旅…

【python】main方法教程

嗨害大家好鸭&#xff01; 我是小熊猫~ 首先 if name "main": 可以看成是python程序的入口&#xff0c; 就像java中的main&#xff08;&#xff09;方法&#xff0c; 但不完全正确。 事实上python程序是从上而下逐行运行的&#xff0c; 在.py文件中&#xff0c; 除…

CSS数据类型以及符号

css数据类型定义的是css属性中具有代表性的值&#xff0c;在规范的语法格式中&#xff0c;使用关键字外加一对 <和>表示&#xff0c;例如数值类型<number>、色值类型<color>等。 举个例子&#xff1a;background-image这个css属性语法结构如下&#xff1a; …

【汇编】二、预备知识(一只 Assember 的成长史)

嗨~你好呀&#xff01; 我是一名初二学生&#xff0c;热爱计算机&#xff0c;码龄两年。最近开始学习汇编&#xff0c;希望通过 Blog 的形式记录下自己的学习过程&#xff0c;也和更多人分享。 这篇文章主要讲述学习汇编所需的基础知识。 话不多说~我们开始吧&#xff01; 目…

电信网上用户自管理系统的设计与实现

技术&#xff1a;Java等摘要&#xff1a;当今时代随着科技的飞速发展&#xff0c;用户信息的收集处理变得非常重要&#xff0c;因此用户自管理系统模式正迅猛发展并深入到各行各业中。在这个新的时代下&#xff0c;要求程序设计员能根据不同行业、不同需求的特点&#xff0c;来…

Spring MVC 源码- RequestToViewNameTranslator 组件

RequestToViewNameTranslator 组件RequestToViewNameTranslator 组件&#xff0c;视图名称转换器&#xff0c;用于解析出请求的默认视图名。就是说当 ModelAndView 对象不为 null&#xff0c;但是它的 View 对象为 null&#xff0c;则需要通过 RequestToViewNameTranslator 组件…

Flink高手之路1一Flink的简介

文章目录一、Flink简介1. Fink的引入2.Flink简介3.支持的编程语言4.Flink的特性5.Flink四大基石6.批处理和流处理二、Flink的架构1.Flink的角色2.编程模型一、Flink简介 1. Fink的引入 大数据的计算引擎&#xff0c;发展过程有四个阶段 第一代&#xff1a;Hadoop的MapReduce…