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. git多账号登录问题

    作者:白狼 出处:http://www.manks.top/git-multiply-accounts.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文 ...

  2. [Django]用户权限学习系列之Permission权限基本操作指令

    若需建立py文件进行测试,则在文件开始加入以下代码即可 #coding:utf-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODU ...

  3. Flux 普及读本

    话说当时做 APP 时,三月不知肉味,再次将眼光投放前端,有种天上一天,地下一年的感觉. Flux 是一种思想 了解的最好方式当然是看Flux官方文档了.React 中文站点也能找到对应的翻译版本,但 ...

  4. 如何通过源生js获取一个元素的具体样式值 /* getCss:获取指定元素的具体样式的属性值 curElement:[dom对象] attr:[string] */

    昨天的博客些的真的是惨不忍睹啊!!!但是我的人生宗旨就是将不要脸的精神进行到底,所以,今天我又来了.哈哈哈哈哈! 方法一:元素.style.属性名:(这个有局限性--只能获取行内样式的值,对于样式表或 ...

  5. SQL Server中TOP子句可能导致的问题以及解决办法

    简介      在SQL Server中,针对复杂查询使用TOP子句可能会出现对性能的影响,这种影响可能是好的影响,也可能是坏的影响,针对不同的情况有不同的可能性.      关系数据库中SQL语句只 ...

  6. PHP 面向对象编程和设计模式 (4/5) - 异常的定义、扩展及捕获

    PHP高级程序设计 学习笔记 2014.06.12 异常经常被用来处理一些在程序正常执行中遇到的各种类型的错误.比如做数据库链接时,你就要处理数据库连接失败的情况.使用异常可以提高我们程序的容错特性, ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(17)-LinQ动态排序

    系列目录 首先修复程序中的一个BUG这个BUG在GridPager类中,把sord修改为sort这个名称填写错误,会导致后台一直无法获取datagrid的排序字段 本来是没有这一讲的,为了使20行的代 ...

  8. ui-router中使用ocLazyLoad和resolve

    1.AngularJS按需加载 AngularJS主要应用开发SPA(Single Page Application)项目,所以在小型项目中,services.filters和controllers都 ...

  9. js获取屏幕宽高

    最近想自己实现一个全屏滚动. 结果一开始就遇到了问题.因为不知道如何获取一个页面屏幕的高度. 网上所有的博客都是复制粘贴. 网页可见区域宽:document.body.clientWidth 网页可见 ...

  10. Windows环境下vscode-go安装笔记

    一.介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: ...