在Windows中编译Nginx源码
来源:互联网 发布:ie8 json未定义 编辑:程序博客网 时间:2024/04/30 22:42
在Windows中编译Nginx源码
Nginx是一个高性能的HTTP和反向代理服务器。其是开源的,并且是跨平台的,通常Nginx运行在Linux平台下,也可运行于Windows、FreeBSD等,本文主要讲解在Windows系统中编译Nginx源码。
注意:Nginx SVN代码库中取出的源码才能在Windows中编译,下载的nginx-xxx.tar.gz源码包是不能在Windows中编译的。Nginx SVN地址:svn://svn.nginx.org
在MinGW32下使用gcc编译Nginx源码
1、 打开MinGW32并切换到当前代码目录
2、./auto/configure --prefix="c:/nginx" --with-cc-opt="-D FD_SETSIZE=4096 -D __NO_MINGW_LFS -D __WATCOMC__" --without-http_rewrite_module --without-http_gzip_module
由于是从SVN库中下载的源码,主目录中不存在configure文件,所以使用/auto/configure。
--prefix=”c:/nginx”是Nginx的安装目录,注意一定要写路径中的斜杠,一定要是“/”
-D FD_SETSIZE=4096是为了避免出现运行时的错误提示
-D __NO_MINGW_LFS是为了避免编译时出现ssize_t、off_t类型错误
-D __WATCOMC__是为了避免编译时出现Nginx shmtx错误
由于是简单示例,采用--without-http_rewrite_module、--without-http_gzip_module避免Nginx依赖于其他库
3、更改objs/Makefile
去除objs/Makefile中的-Werror,忽略将警告当成错误提示。
在objs/Makefile中查找advapi32.lib、ws2_32.lib,并补全路径,改为:"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\advapi32.lib" "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\ws2_32.lib"
4、make
5、make install
此时Nginx便安装到了C:/nginx目录下。
在MinGW32下使用VC编译Nginx源码
1、 打开MinGW32并切换到当前代码目录
2、 export PATH=$PATH:"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin":"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE":"C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin"
设置当前的环境变量,注意路径中的斜杠,一定要使用“\”
3、./auto/configure --prefix="c:/nginx" --with-cc="cl" --with-cc-opt="-D FD_SETSIZE=4096 -I \"C:/Program Files/Microsoft SDKs/Windows/v7.0A/include\" -I \"C:/Program Files/Microsoft Visual Studio 10.0/VC/include\"" --without-http_rewrite_module --without-http_gzip_module
开始配置,注意路径中的斜杠,一定要使用“/”
4、更改objs/ ngx_auto_config.h
将第一行宏定义中的引号转义,改为类似如下的样子:
#define NGX_CONFIGURE " --prefix=c:/nginx --with-cc=cl --with-cc-opt='-D FD_SETSIZE=4096 -I \"C:/Program Files/Microsoft SDKs/Windows/v7.0A/include\" -I \"C:/Program Files/Microsoft Visual Studio 10.0/VC/include\"' --without-http_rewrite_module --without-http_gzip_module"
5、更改objs/Makefile
在objs/Makefile中查找kernel32.lib user32.lib advapi32.lib ws2_32.lib,并补全路径,改为:"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\kernel32.lib" "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\user32.lib" "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\advapi32.lib" "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\ws2_32.lib"。并加入两个额外的路径,如: "C:\Program Files\Microsoft Visual Studio 10.0\VC\lib\LIBCMT.lib" "C:\Program Files\Microsoft Visual Studio 10.0\VC\lib\oldnames.lib"
6、nmake
7、nmake install
此时Nginx便安装到了C:/nginx目录下。
如上默认编译的都是Release版本的Nginx程序,如果需要编译Debug版,更改auto/cc/gcc、auto/cc/msvc中对应配置即可。
- 在Windows中编译Nginx源码
- 在Windows中编译Nginx源码
- 在Windows中编译Nginx源码 (笔记)
- Windows编译Nginx源码
- 在windows下编译nginx
- 在windows下编译nginx
- centos中源码编译nginx
- nginx在cygwin源码编译和安装
- Windows中编译Lua源码
- Nginx 在 Windows 平台上编译
- Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤
- Nginx (一)Windows下编译Nginx源码以及安装 nginx for windows方法步骤
- 在Windows系统上编译VBox源码
- postgresql 8.4源码在windows下编译
- 在Windows下源码编译PHP
- 在Windows下编译Firefox源码
- 在windows下编译某linux源码
- OpenPilot源码在Windows下的编译
- 老子的软件之道 - 道篇 13 探路者
- Ubuntu 10.10(64位)编译Android 2.3
- Lea 指令
- 杭电 hdu 1856 More is better (并查集)
- 当今粤语懒音现象大观
- 在Windows中编译Nginx源码
- VC 编译参数介绍
- tomcat连接池属性测试
- WCF RIA Service下的Entity和ComplexObject的一点区别(微软不厚道)
- 证书文件编码格式介绍
- 好扯淡的2416 处理器,手册写得好猥琐啊。
- struts2+extjs文件上传,提示下载问题解决
- SQL SERVER 2000 遍历父子关系数据的表(二叉树)获得所有子节点 所有父节点及节点层数函数
- 黑马程序员0829_java基础知识