当前位置: 首页 > news >正文

在Windows上编译Nginx

《在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.lryc.cn/news/20618.html

相关文章:

  • 语音识别与Python编程实践
  • MATLAB绘制泰勒图(Taylor diagram)
  • ClickHouse高可用集群分片-副本实操(四)
  • 2022年中国工业机器人行业市场回顾及2023年发展前景预测分析
  • Gehpi的网络布局
  • 华为OD机试用Python实现 -【天然蓄水库 or 天然蓄水池】(2023-Q1 新题)
  • 西北工业大学大学物理(I)下期末考试2021-2022选填解析
  • 【数据结构】手撕红黑树
  • Linux基础命令-which查找命令文件位置
  • 在Python中,导入拓展库的规范如下:
  • SEATA是什么?它的四种分布式事务模式
  • 【华为OD机试模拟题】用 C++ 实现 - 去重求和(2023.Q1)
  • 如何用 chatGPT,给大家来一个自我介绍
  • 进程管理之基本概念
  • nginx安装部署实战手册
  • XXL-JOB任务调度平台
  • android UI优化的基本原理和实战方法
  • 指针的进阶【中篇】
  • 华为OD机试题,用 Java 解【删除字符串中出现次数最少的字符】问题
  • 【C语言每日一题】猜名次
  • 89. 格雷编码
  • 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解
  • 【网络原理8】HTTP请求篇
  • Playbook的用法
  • APP优化 —— MMAP内存映射
  • paddle.vision 与 torchvision 中的box NMS使用方式
  • php mysql校园帮忙领取快递平台
  • C/C++开发,无可避免的内存管理(篇二)-约束好跳脱的内存
  • 【Java】让我们对多态有深入的了解(九)
  • 12 个适合做外包项目的开源后台管理系统