cd ~ wget http://nginx.org/download/nginx-0.8.54.tar.gz wget http://nginx.org/download/nginx-1.0.0.tar.gz
3、the H264 Streaming Module for Nginx (version 2)
复制代码
代码如下:
cd ~ wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz 改动 ngx_http_h264_streaming_module.c,将以下内容全部移除或注释掉,否则会遇到 error: 'ngx_http_request_t' has no member named 'zero_in_uri'的错误提示 /* TODO: Win32 */ if (r->zero_in_uri) { return NGX_DECLINED; }
2、在编译过程中,注意事项:(引用 :http://www.tech126.com/cygwin-nginx/) 1、prefix的选项,如果我们指定–prefix=/cygdrive/d/nginx,那么最后脱离Cygwin环境运行,会发现root无法指向其它磁盘上的目录,所以这里使用了相对路径,而且指定了可执行文件nginx在根目录下,而不是默认的sbin/nginx 2、FD_SETSIZE=4096,网上都说了,是将select模式的最大worker_connections加大,如果不加此参数将可能出现以下的错误提示, [emerg] 2496#0: the maximum number of files supported by select() is 64的错误提示,这表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值,你可以把nginx.conf里的worker_connections选项改小一些,比如44,加了–with-cc-opt=”-DFD_SETSIZE=4096”后就不会碰到这问题 3、编译mod_passport之前,最好执行dos2unix.exe mod_passport/config转换一下格式 4、编译mod_passport时,会报错:cc1: warnings being treated as errors,需要修改objs/Makefile文件,把其中的-Werror删除即可 5、编译成功后,在Cygwin下运行正常,但如果要脱离Cygwin,需要从cygwin/bin下拷贝cygwin1.dll,cyggcc_s-1.dll,cygz.dll,cygcrypto-0.9.8.dll,cygssl-0.9.8.dll,cygpcre-0.dll,cygcrypt-0.dll这几个dll到nginx目录下 6、最后,不使用Cygwin,在普通Dos下运行nginx时,会报错:emerge: getpwnam("nobody") fail。这也是最令我郁闷的一个错误了,看了网上很多人的帖子,似乎都很顺利就成功了,但用我的Cygwin编译出来的nginx,就一直报这个错误,尝试不加第三方模块,指定user为本机的administrator,依然报错…郁闷了很久之后,最后还是找到nginx源码中相关逻辑,做如下修改: nginx-0.8.54/src/core/nginx.c,把getpwnam和getgrnam相关逻辑判断注释掉 (1022-1044)