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中将它去掉。