网站地图    收藏   

主页 > 系统 > windows >

在Windows中编译Nginx源码 - Windows操作系统 - 自学

来源:自学PHP网    时间:2015-04-17 17:13 作者: 阅读:

[导读] 在Windows中编译Nginx源码1、 打开MinGW32并切换到当前代码目录 www.2cto.com 2、./auto/configure ndash;prefix=c:/nginx ndash;with-cc-opt=-D FD_SETSIZE=4096 -D __NO_MINGW_LFS -D __WATCOMC__......

在Windows中编译Nginx源码
 
1、 打开MinGW32并切换到当前代码目录
  www.2cto.com  
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中对应配置即可。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论