module搭建流媒体服务器的正确姿势
分类:电脑系统

  以前在行使nginx和nginx-rtmp-module搭建流媒体服务器的时候境遇一个很难堪的标题,正是在把nginx-rtmp-module模块增加到nginx中去的时候,小编最伊始使用的做法是先卸载原本的nginx,再下载nginx和nginx-rtmp-module的源码重新编写翻译并安装.重装完之后小编测量试验了刹那间流媒体服务器是例行的,可是接下去难题来了,由于小编有部分WEB工程是计划在前头搭建好的LUMP遭受下的,现在重装了nginx,这个工程须要重新陈设.于是,笔者又初阶重新布署这么些WEB工程,可是结果让作者哭晕在了洗手间,因为nginx的目录结构发生了不小改观,导致自家不能安顿原本的WEB工程了.此后自己陷入了非常短日子的挣扎和彷徨,英特网查找了比非常多缓和方案,可是这么些方案大多都以讲求讲怎么编写翻译安装nginx以及开展推拉流测量试验,未有涉及到自己那上头的难点.后来,作者在浏览帖子的时候看看有些人会说把团结编写翻译的nginx可试行文件替换掉原本的nginx分享库能解决难点,于是立马试了一把,结果发掘确实能够!今后的nginx能况兼运行流媒体服务和布署WEB工程,鱼与熊掌兼得!

  上边简介一下自己的操作进度,希望能为遇见同样题指标您带来一些相助(笔者的配备情状:Ubuntu Server 16.04 + nginx1.10.0 + nginx-rtmp-module-master).

  1.先选拔apt-get的法子安装nginx.这两天用此措施安装的nginx的版本号为1.10.0

1 sudo apt-get update
2 sudo apt-get install nginx

  2.到你喜欢的目录下用你心爱的名字创办一个索引,用于存放nginx和nginx-rtmp-module的源码,举个例子:作者在根目录/softwares(softwares也是笔者本人创立的)上边创制了nginx目录,接下去作者会把nginx和nginx-rtmp-module下载到nginx目录下.

1 cd softwares/
2 sudo mkdir nginx

  3.进入nginx目录.

1 cd nginx/

  4.下载nginx源码,注意:下载的源码版本须要与步骤1安装的nginx的本子保持一致,以免止不须求的难点.获取nginx源码的门路非常多,此处推荐三种形式.

  格局a:在终端推行apt-get source nginx命令,直接获得到对应版本的源码.

1 sudo apt-get source nginx

  此方法下载完之后会自行解压,nginx-1.10.0索引即nginx源码目录.

  格局b:在nginx的官网络面找到对应版本然后下载.

1 sudo wget http://nginx.org/download/nginx-1.10.0.tar.gz

  此格局下载完事后需求自个儿手动解压.解码命令:

1 sudo tar zxvf nginx-1.10.0.tar.gz

  5.下载nginx-rtmp-module的源码.

1 sudo wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

  因为nginx-rtmp-module已在GitHub上开源,所以也可以一向从GitHub上获取.GitHub地址: .

  6.解压nginx-rtmp-module源码的收缩包.

1 sudo unzip master.zip

  7.走入nginx源码目录.

1 cd nginx-1.10.0/

  8.查看当前nginx的布置新闻,并将目前计划音讯完全保留到叁个地点,后边在编写翻译nginx源码的时候供给基于当前的配置音信来拓宽配置.

1 nginx -V

  注意命令行中的V是大写哦,小写只可以看到nginx的本子号.笔者当下的nginx配置音信如下:

--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

  9.陈设nginx源码编写翻译信息,将nginx-rtmp-module加多到nginx中.

1 sudo ./configure --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master

  注意,这一行命令其实是那样组合的: sudo ./configure <原本的配置音讯> --add-module=../nginx-rtmp-module-master.那样就将nginx-rtmp-module增加到nginx配置内部了,同一时候将在此以前封存的nginx配置消息增添到了用来本次编译的陈设音讯里面,尽大概地保管了编译出来的nginx与原来的nginx功效一致.精心的同学会开掘,其实自个儿在布署nginx新闻的时候并未将原先有所的配置新闻都写进去,原因是要是一切复制粘贴过去,在编写翻译的时候会冒出有的不太好管理的荒唐,那几个错误有的时候常半会儿还没找到好的消除方案,所以就收缩了有的布局音讯,缩减之后在效能模块上并无太大差别,所以可放心使用.

  10.配置完结以后,实行make命令开头编写翻译nginx源码.编写翻译达成之后,会在nginx源码目录的objs目录下生成nginx可实行文件.

1 sudo make

  11.将扭转的nginx可实践文件拷贝到/usr/sbin目录下,替换原来的nginx分享库文件. 注意: 原本/usr/sbin目录有三个nginx分享库文件,大家使用编写翻译出来的nginx可实践文件对其进展替换.

1 sudo nginx /usr/sbin

  12.重启nginx.

1 sudo service nginx restart

  13.重复查看nginx配置音信.

1 nginx -V

  可以见见nginx-rtmp-module模块已经增多到了nginx里面.

1 --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master

  试了试推流拉流,功用日常,再运维了弹指间原来的WEB工程,也健康!

  最终,笔者说雀巢下为啥要先通过apt-get的点子安装nginx,再扩充编写翻译替换.原因是为了便利在LUMP景况下安插WEB工程.如果不先通过apt-get的秘技安装nginx,而是直接下载源码编写翻译安装,则nginx的配备目录会不齐全,很难去陈设WEB项目(恐怕通过有个别操作也能完毕陈设,但是实际怎么操作依然要花时间去研商nginx的).假使不搭建流媒体服务,作者提出都由此apt-get的法子安装nginx,步骤省略又简便!

 

本文由威尼斯手机娱乐官网发布于电脑系统,转载请注明出处:module搭建流媒体服务器的正确姿势

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文