Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊

  Nginx是一款轻量级的Web 服务器、反向代理服务器、邮件服务器等等集一大串荣誉于一身的大牌人物!他是一个俄国的富家子弟,但对于老美这个邻居家的小孩Windows却不是那么和善,性格,品相各异!毕竟不是一个妈生的孩子,╮( ̄▽ ̄")╭,不是一个妈生的...命运就是那么的捉弄,越是不想发生的、越是不想见到的、越是你躲避的,他就是会跳在你面前,张牙舞爪!有一天,Nginx去老美家办事,完了,没有媒介,2人沟通不畅,磕磕绊绊,好不舒坦...

切回正题,唠叨了半天,我们来看看怎么在Windows上编译Nginx模块,我是知识的搬运工(Nginx官网方法

准备工作:

  1、下载 VS2010+ VS2010 SP1 (C++编译环境) ->安装完成

  2、下载 MSYS1.0 (GNU环境)-> 安装完成

  3、下载 ActivePerl(SSL环境,自行下载 64位 or 32 位)-> 安装完成

  4、下载 Mercurial(Nginx源码下载器,自行下载 64位 or 32 位) -> 安装完成

  5、下载 PCRE 8.39:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/(SSL相关,库函数)

  6、下载 zlib1.2.8(SSL相关,库函数)

  7、下载 OpenSSL 1.0.1e

操作步骤

1、获取Nginx源码:打开Cmd命令,切换到Mercurial安装目录,执行以下命令:

hg clone http://hg.nginx.org/nginx  

2、安置资源包:在Nginx根目录下,创建 objs 和 lib 层级子目录,如下图层级,放入解压后的:PREC、zlib、OpenSSl

   

3、创建编译命令集:在Nginx根目录下,创建build.bat,文本内容如下:

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= --with-pcre=objs/lib/pcre-8.39 \
--with-zlib=objs/lib/zlib-1.2. --with-openssl=objs/lib/openssl-1.0.1e \
--with-select_module --with-http_ssl_module

4、生产MakeFile资源:运行MSYS(安装完成后,自动在桌面有快捷方式)切换到Nginx根目录,执行以下命令:

build.bat
   操作如下图:
   

5、编译Nginx源码(过程1分半钟):运行VS2010命令行,切换到Nginx根目录,执行以下命令:

nmake -f objs/Makefile

    

6、收工!@@#@#@¥@#¥#……%&……*&!

    

by:海豚湾-丰

 

Windows编译Nginx源码的更多相关文章

  1. Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤

    转载自: http://apps.hi.baidu.com/share/detail/11192699#content Nginx介绍: Nginx ("engine x")是一个 ...

  2. llinux 环境安装编译 nginx (源码安装包)

    简介: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国 ...

  3. Nginx源码编译

    1. 概述 有时由于添加了自己编写的c++模块,或者改了源码的一些名称.配置什么的,需要自行编译nginx. 可以先下下来源码,然后需要的话就自己改下源码或增加模块,最后再编译成linux或者wind ...

  4. windows 平台使用 VS2017 编译openssl源码

    windows 平台使用 VS2017 编译openssl源码 1)依赖安装 安装 perl 脚本解释器 下载 http://libevent.net/download 安装 nasm 汇编器 C:\ ...

  5. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

  6. windows 平台使用 VS2017 编译 libevent 源码

    一 依赖库编译 先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 ...

  7. Windows,linux下编译qt源码(比较简单)

    一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...

  8. 01.LNMP架构-Nginx源码包编译部署详细步骤

    操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Pcre+Zlib+Openssl+Nginx 操作步骤: 一.创建目录 [root@localhost ~]# mk ...

  9. Nginx源码编译安装选项

    [Nginx源码编译过程] make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. configu ...

随机推荐

  1. Maven仓库搭建和配置

    maven在本地搭建仓库的实际需求maven在项目构建过程需要下载一些必要的软件包,这些默认的下载链接都是访问maven的远程中央仓库Central Repo.如果项目中的成员,每次第一次构建的时候都 ...

  2. InnoDB:Lock & Transaction

    InnoDB 是一个支持事务的Engine,要保证事务ACID,必然会用到Lock.就像在Java编程一下,要保证数据的线程安全性,必然会用到Lock.了解Lock,Transaction可以帮助sq ...

  3. 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?

    p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...

  4. AutoMapper使用中的问题

    指定值只会执行一次 public class MomanBaseProfile : Profile { public MomanBaseProfile() { CreateMap<Request ...

  5. hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()的用法

    javascript中有原型这么一个概念,任何一个构造函数都有它对应的原型(prototype),我们可以给这个原型赋予一些我们想要的属性,像下面这样: function Gadget(name, c ...

  6. 玩转Windows服务系列——使用Boost.Application快速构建Windows服务

    玩转Windows服务系列——创建Windows服务一文中,介绍了如何快速使用VS构建一个Windows服务.Debug.Release版本的注册和卸载,及其原理和服务运行.停止流程浅析分别介绍了Wi ...

  7. dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来

    dynamic-css 使得你可以借助 MVVM 模式动态生成和更新 css,从而将本插件到来之前,打散.嵌套在 js 中的修改样式的代码剥离出来.比如你要做元素跟随鼠标移动,或者根据滚动条位置的变化 ...

  8. [翻译]AKKA笔记 - DEATHWATCH -7

    当我们说Actor生命周期的时候,我们能看到Actor能被很多种方式停掉(用ActorSystem.stop或ActorContext.stop或发送一个PoisonPill - 也有一个kill和g ...

  9. ActiveMQ5.14.1+Zookeeper3.4.9高可用伪分布式部署

    本文借鉴http://www.cnblogs.com/gossip/p/5977489.html,在此基础上进行了完善,使之成为一个完整版的伪分布式部署说明,在此记录一下! 一.本文目的       ...

  10. ASP.NET MVC5+EF6+EasyUI 后台管理系统(43)-工作流设计-字段分类设计

    系列目录 建立好42节的表之后,每个字段英文表示都是有意义的说明.先建立,就知道表的关系和用处了,当然,我的设计只是一个参考,你可能有很多改进的地方. 我们的工作流具体细节流程是这样的: 最终我们的模 ...