一、安装gcc gcc-c++(如新环境,未安装请先安装)

  1. yum install -y gcc gcc-c++

二、安装wget

  1. yum -y install wget

三、安装PCRE库

  1. cd /usr/local/
  2. wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
  3. tar -zxvf pcre-8.33.tar.gz
  4. cd pcre-8.33
  5. ./configure
  6. make && make install
  7. 如果报错:
  8. 在 linux 中执行 wget 命令提示 -bash: wget: command not found 解决方法
  9. 解决办法 yum -y install wget

四、安装SSL库

  1. cd /usr/local/
  2. wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
  3. tar -zxvf openssl-1.0.1j.tar.gz
  4. cd openssl-1.0.1j
  5. ./config
  6. make && make install

五、安装zlib库存

  1. cd /usr/local/
  2. wget http://zlib.net/zlib-1.2.11.tar.gz
  3. tar -zxvf zlib-1.2.11.tar.gz
  4. cd zlib-1.2.11
  5. ./configure
  6. make && make install

六、如果要进行RTMP流媒体直播,则需要安装下载依赖

因为RTMP直播流只能支持flash,现在浏览器不支持flash插件之后,h5播放rtmp直播流的解决方案使用http-flv,所以我们采用把RTMP推流后,转成http-flv,然后前端采用flv.js来播放。

方式一:需要先下载nginx-http-flv-module依赖安装:https://github.com/winshining/nginx-http-flv-module

把文件下载下来后,上传到服务器中。
image.png
image.png
如果是单纯用nginx-rtmp-module看flash得话,可以用下面得下载下来。不推荐

  1. cd /usr/local/
  2. yum -y install git
  3. git clone https://github.com/arut/nginx-rtmp-module.git

七、安装nginx

  1. //如果没有用到RTMP,则按照以下正常配置就行了
  2. cd /usr/local/
  3. wget http://nginx.org/download/nginx-1.8.0.tar.gz
  4. tar -zxvf nginx-1.8.0.tar.gz
  5. cd nginx-1.8.0
  6. ./configure
  7. make && make install
  8. //如果用到RTMP,则需要换成这个配置,主要是要集成RTMP流的依赖
  9. //(因为RTMP直播流只能支持flash,现在浏览器不支持flash插件之后,
  10. // h5播放rtmp直播流的解决方案使用http-flv,所以我们采用把RTMP推流后,
  11. // 转成http-flv,然后前端采用flv.js来播放。)
  12. cd /usr/local/
  13. wget http://nginx.org/download/nginx-1.8.0.tar.gz
  14. tar -zxvf nginx-1.8.0.tar.gz
  15. cd nginx-1.8.0
  16. ./configure --prefix=/usr/local/src/nginx
  17. --with-http_stub_status_module
  18. --with-http_gzip_static_module
  19. --with-http_realip_module
  20. --with-http_sub_module
  21. --with-http_ssl_module
  22. --add-module=/usr/local/nginx-http-flv-module
  23. --with-openssl=/usr/local/openssl-1.0.1j
  24. --with-http_ssl_module
  25. make && make install
  26. ## 安装过程中可能会报错,请看下面的报错详情

八、启动命令

  1. /usr/local/src/nginx/sbin/nginx -s reload
  2. /usr/local/src/nginx/sbin/nginx -s stop
  3. /usr/local/src/nginx/sbin/nginx /usr/local/nginx/sbin/nginx -v --查看版本

九、配置过程报错解决

1、报obj/Makefile错误
  • 分析原因:是将警告当成了错误处理,打开 nginx的安装目录/objs/Makefile,去掉CFLAGS中的-Werror,再重新make

-Wall 表示打开gcc的所有警告
-Werror,它要求gcc将所有的警告当成错误进行处理
image.png

2、src/os/unix/ngx_user.c: 在函数‘ngx_libc_crypt’中: src/os/unix/ngx_user.c:36:7: 错

image.png

在源代码/nginx-1.12.2/src/os/unix/
```/ngx_user.c
文件中 修改:``

image.png

2、unknown directive “rtmp” in

再nginx中配置rtmp的时候报错了,这种时候是因为没有把RTMP的依赖引入进来,按照教程重头引入一次就行

十、再nginx中配置RTMP和flv_live

  1. ## 往http上面插入这段
  2. rtmp {
  3. server {
  4. listen 1935;
  5. chunk_size 4096;
  6. #直播
  7. application live {
  8. live on;
  9. hls on;
  10. hls_path /usr/local/nginx/html/hls;
  11. hls_fragment 5s; #每个TS文件包含5秒的视频内容
  12. }
  13. application hls {
  14. live on;
  15. hls on;
  16. hls_path /tmp/hls;
  17. }
  18. #点播
  19. application vod {
  20. play /tmp/video;
  21. }
  22. }
  23. }
  24. ## 然后把默认启动端口修改为81,修改根目录的路径
  25. server{
  26. listen 81;
  27. server_name localhost;
  28. #charset koi8-r;
  29. #access_log logs/host.access.log main;
  30. location / {
  31. root /usr/local/nginx/html/hls;
  32. index index.html index.htm;
  33. }
  34. }
  35. ##flv_live直播
  36. server{
  37. listen 8222;
  38. #server_name 127.0.0.1;
  39. #静态文件
  40. location /asset/ {
  41. alias /usr/local/;
  42. }
  43. # 在http的server中加入
  44. location /live {
  45. flv_live on; #当HTTP请求以/live结尾,匹配这儿,这个选项表示开启了flv直播播放功能
  46. chunked_transfer_encoding on; #HTTP协议开启Transfer-Encoding: chunked;方式回复
  47. add_header 'Access-Control-Allow-Origin' '*'; #添加额外的HTTP头
  48. add_header 'Access-Control-Allow-Credentials' 'true'; #添加额外的HTTP头
  49. }
  50. }

image.png