请选择时期:
怀孕准备 怀孕 分娩 宝宝0-1岁 宝宝1-3岁 宝宝3-6岁

nginx(nginx是干嘛用的)

来源: 最后更新:2024-06-01 00:11:15

导读:nginx 0.8.54/1.0.0 在cygwin环境下的编译(包括 nginx_mod_h264_streaming-2.2.7) 一、概述: 由于测试需要
扫描关注公众号
The Beginning
  1. 一、概述:rzI育儿早教网
    由于测试需要在WIN平台上进行.264的MP4文件的拖动功能,而nginx windows官方版本不包含nginx_mod_h264_streaming-2.2.7模块,所以才有了本文。rzI育儿早教网

    二、准备:rzI育儿早教网
    1、cygwin http://www.cygwin.com/setup.exerzI育儿早教网

    复制代码rzI育儿早教网
    rzI育儿早教网
    代码如下:rzI育儿早教网

    安装库rzI育儿早教网
    gcc g++rzI育儿早教网
    zlib 库 (gzip 模块需要)rzI育儿早教网
    pcre 库 (rewrite 模块需要 )rzI育儿早教网
    openssl库 (ssl模块需要)rzI育儿早教网
    提示:国外下载库速度较慢,可以使用网易提供的开源站下载rzI育儿早教网
    http://mirrors.163.com/cygwin/rzI育儿早教网

    2、nginx 0.8.54 /1.0.0(在这里yaosansi以0.8.54版本为示例)rzI育儿早教网

    复制代码rzI育儿早教网
    rzI育儿早教网
    代码如下:rzI育儿早教网

    cd ~rzI育儿早教网
    wget http://nginx.org/download/nginx-0.8.54.tar.gzrzI育儿早教网
    wget http://nginx.org/download/nginx-1.0.0.tar.gzrzI育儿早教网

    3、the H264 Streaming Module for Nginx (version 2)rzI育儿早教网

    复制代码rzI育儿早教网
    rzI育儿早教网
    代码如下:rzI育儿早教网

    cd ~rzI育儿早教网
    wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gzrzI育儿早教网
    tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gzrzI育儿早教网
    改动 ngx_http_h264_streaming_module.c,将以下内容全部移除或注释掉,否则会遇到 error: 'ngx_http_request_t' has no member named 'zero_in_uri'的错误提示rzI育儿早教网
    /* TODO: Win32 */ if (r->zero_in_uri) { return NGX_DECLINED; }rzI育儿早教网

    三、配置和编译NginxrzI育儿早教网
    1、.configure脚本rzI育儿早教网

    复制代码rzI育儿早教网
    rzI育儿早教网
    代码如下:rzI育儿早教网

    ./configure /rzI育儿早教网
    --prefix=. /rzI育儿早教网
    --sbin-path=nginx /rzI育儿早教网
    --conf-path=conf/nginx.conf /rzI育儿早教网
    --pid-path=logs/nginx.pid /rzI育儿早教网
    --error-log-path=logs/error.log /rzI育儿早教网
    --http-log-path=logs/access.log /rzI育儿早教网
    --http-client-body-temp-path=client/ /rzI育儿早教网
    --http-proxy-temp-path=proxy/ /rzI育儿早教网
    --http-fastcgi-temp-path=fastcgi/ /rzI育儿早教网
    --with-cc-opt="-D FD_SETSIZE=4096" /rzI育儿早教网
    --with-debug /rzI育儿早教网
    --with-mail_ssl_module /rzI育儿早教网
    --with-http_realip_module /rzI育儿早教网
    --with-http_stub_status_module /rzI育儿早教网
    --with-http_ssl_module /rzI育儿早教网
    --with-http_flv_module /rzI育儿早教网
    --add-module=../nginx_mod_h264_streaming-2.2.7rzI育儿早教网
    make && make installrzI育儿早教网

    2、在编译过程中,注意事项:(引用 :http://www.tech126.com/cygwin-nginx/)rzI育儿早教网
    1、prefix的选项,如果我们指定–prefix=/cygdrive/d/nginx,那么最后脱离Cygwin环境运行,会发现root无法指向其它磁盘上的目录,所以这里使用了相对路径,而且指定了可执行文件nginx在根目录下,而不是默认的sbin/nginxrzI育儿早教网
    2、FD_SETSIZE=4096,网上都说了,是将select模式的最大worker_connections加大,如果不加此参数将可能出现以下的错误提示,rzI育儿早教网
    [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”后就不会碰到这问题rzI育儿早教网
    3、编译mod_passport之前,最好执行dos2unix.exe mod_passport/config转换一下格式rzI育儿早教网
    4、编译mod_passport时,会报错:cc1: warnings being treated as errors,需要修改objs/Makefile文件,把其中的-Werror删除即可rzI育儿早教网
    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目录下rzI育儿早教网
    6、最后,不使用Cygwin,在普通Dos下运行nginx时,会报错:emerge: getpwnam("nobody") fail。这也是最令我郁闷的一个错误了,看了网上很多人的帖子,似乎都很顺利就成功了,但用我的Cygwin编译出来的nginx,就一直报这个错误,尝试不加第三方模块,指定user为本机的administrator,依然报错…郁闷了很久之后,最后还是找到nginx源码中相关逻辑,做如下修改:rzI育儿早教网
    nginx-0.8.54/src/core/nginx.c,把getpwnam和getgrnam相关逻辑判断注释掉 (1022-1044)rzI育儿早教网
    nginx 0.8.54/1.0.0 在cygwin环境下的编译(包括 nginx_mod_h264_streaming-2.2.7)rzI育儿早教网
    nginx-0.8.54/src/os/unix/ngx_process_cycle.c把setgid和setuid相关逻辑判断注释掉 (883-903)rzI育儿早教网
    nginx 0.8.54/1.0.0 在cygwin环境下的编译(包括 nginx_mod_h264_streaming-2.2.7)rzI育儿早教网
    最后重新编译运行,才成功了

  2. 当引用外部的目录时,需要用cygwin格式的路径,如:root /cygdrive/d/work/git/python_mail/web;

3、提取相关文件rzI育儿早教网

编译后,将nginx.exe及从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目录下,从nginx windows版 拷贝conf、html、logs到nginx目录里。rzI育儿早教网

四、设置nginx,进行测试rzI育儿早教网

1、配置nginx.conf,支持视频拖放rzI育儿早教网

将MP4文件的请求由MP4命令来解析。rzI育儿早教网

复制代码rzI育儿早教网
rzI育儿早教网
代码如下:rzI育儿早教网

location ~ /.mp4$ {rzI育儿早教网
mp4;rzI育儿早教网
}rzI育儿早教网

2、配置nginx.conf其它项,启动NGINX,进行测试rzI育儿早教网

'http://www.yaosansi.com/video.mp4?start=15&end=45'. 从第15秒开始访问30秒到第45秒结束(注意:该时间如果不是关键帧在有些播放器会出现错误或无法播放。)对于不支持& 符号的播放器需要使用URL重写来解决。rzI育儿早教网

参考:rzI育儿早教网
http://h264.code-shop.com/tracrzI育儿早教网
http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2rzI育儿早教网
http://h264.code-shop.com/trac/wiki/VirtualVideoClipUrlRewriterzI育儿早教网
http://wiki.nginx.org/InstallOptionsrzI育儿早教网
http://h264.code-shop.com/trac/discussion/1/133?discussion_action=quote;rzI育儿早教网
http://www.tech126.com/cygwin-nginx/rzI育儿早教网

THE END
广告、内容合作请点击这里 寻求合作
免责声明:本文系转载,版权归原作者所有;旨在传递信息,其原创性以及文中陈述文字和内容未经本站证实。

育儿知识

所属专题: 代码  模块  报错  

本文地址:http://www.yuerzaojiao.com/qiaomen/youxi/1198926.html

最新文章
  • 1腾讯为什么告老干妈(腾讯跟老干妈什么情况)

    腾讯为什么告老干妈(腾讯跟老干妈什么情况)

  • 2突然确诊癌症中晚期,已转移!宁波男子无法接受:怎么可能!医生:发现一个,全家高危!

    突然确诊癌症中晚期,已转移!宁波男子无法接受:怎么可能!医生:发现一个,全家高危!

  • 3疑似皇马前主席之孙公然辱华,皇马却称“将致力于消除足球界种族歧视”?

    疑似皇马前主席之孙公然辱华,皇马却称“将致力于消除足球界种族歧视”?

  • 4韩军称朝鲜军人无意中越界 韩军称朝鲜军人无意中越界了吗

    韩军称朝鲜军人无意中越界 韩军称朝鲜军人无意中越界了吗

  • 5中纪委再打两“虎”!还有一“虎”被免职,一“虎”获刑十五年!

    中纪委再打两“虎”!还有一“虎”被免职,一“虎”获刑十五年!

  • 6吉林市将举办世界锅包肉大赛,此前召开座谈会论证锅包肉起源

    吉林市将举办世界锅包肉大赛,此前召开座谈会论证锅包肉起源

  • 7哪些爱爱姿势更容易怀孕 选择这些爱爱姿势帮助生儿生女

    哪些爱爱姿势更容易怀孕 选择这些爱爱姿势帮助生儿生女

  • 8男性精子存活时间有多久 精子存活率低怎么办

    男性精子存活时间有多久 精子存活率低怎么办

  • 9医生算错怀孕周数怎么办 孕龄胎龄预产期原来是这样算的

    医生算错怀孕周数怎么办 孕龄胎龄预产期原来是这样算的

  • 10备孕未准妈妈请注意 这里有份孕前自检表请签收

    备孕未准妈妈请注意 这里有份孕前自检表请签收

推荐文章

关于我们 | 广告服务 | 网站合作 | 免责声明 | 联系我们| 网站地图

© 2022 育儿早教网 All Rights Reserved.

声明: 本站文章均来自互联网,不代表本站观点 如有异议 请与本站联系 联系邮箱:kefu#yuerzaojiao.com (请把#替换成@)