win7下编译nginx和nginx-gridfs

win7下编译nginx

1、安装cygwin

http://www.cygwin.com/

163的mirror,安装如下内容:

1.gcc:gcc、core、g++、gdb、make

2.pcre

3.openssl

4.zlib

5.crypt

6.iconv(1.xxx以上需要)

2、编译nginx源码

http://nginx.org/

下载源码

gzip-d,tarvxf

解压后

configure--prefix=/cygdrive/c/nginx

make

即可编译生成nginx.exe

3、运行nginx

2008/01/1216:34:56[emerg]2496#0:themaximumnumberoffilessupportedbyselect()is64

,这表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值小,那么有什么办法解决这个问题呢?

第一种解决方法:把ngx_select_module事件处理模块去掉,通过在执行configure时指定参数—without-select_module。

第二种解决方法:修改nginx的配置文件(c:/nginx/conf/nginx.conf),把这个文件第13行的1024改为64(worker_connections指令的值)。

第三种解决方法:在执行configure时指定额外的编译选项(--with-cc-opt=”-DFD_SETSIZE=2048”),这同样也可以解决上面的问题。

---------------

MongoDBGridFS介绍PPT两则

http://www.oschina.net/question/12_28876

规范

http://www.mongodb.org/display/DOCS/GridFS+Specification

文档

http://www.mongodb.org/display/DOCS/GridFS

示例

http://blog.csdn.net/zhangzhaokun/article/details/6287309

http://www.open-open.com/lib/view/open1330171884015.html

1、编译时,报错:

src/core/ngx_times.c:Infunction‘ngx_time_update’:

src/core/ngx_times.c:136:error:‘timezone’undeclared(firstuseinthisfunction)

src/core/ngx_times.c:136:error:(Eachundeclaredidentifierisreportedonlyonce

src/core/ngx_times.c:136:error:foreachfunctionitappearsin.)

make[1]:***[objs/src/core/ngx_times.o]Error1

make:***[build]Error2

这是因为在nginx中,timezone是作为函数使用的。而在cgwin环境下,把timezone当成了个变量。

修改头文件os\unix\ngx_posix_config.h中timezone的定义:

#definetimezonevar

改为:

externlongtimezone__asm__("__timezone");

再编译即可。

cgywintimezone的问题,具体请参照(http://cygwin.com/ml/cygwin/2008-01/msg00449.html)

2、由于gcc编译时指定的选项-Werror导致的,将所有的警告视为错误。可以在Makefile中将它去掉。

相关推荐