CentOS 7 安裝 nginx-rtmp
一、安裝依賴庫(kù)
1.gcc
$ gcc -v Using built-in specs. COLLECT_GCC=gcc ...... Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) # 未安裝:yum install -y gcc gcc-c++
2.pcre
$ rpm -qa pcre pcre-8.32-17.el7.x86_64 # 未安裝:yum install -y pcre pcre-devel
3.zlib
$ yum list installed | grep zlib* zlib.x86_64 1.2.7-21.el7_9 @updates zlib-devel.x86_64 1.2.7-21.el7_9 @updates # 未安裝:yum install -y zlib zlib-devel
4.openssl
$ rpm -qa openssl openssl-1.0.2k-26.el7_9.x86_64 # 未安裝:yum install -y openssl openssl-devel
二、安裝nginx
1.下載nginx
官網(wǎng)下載https://nginx.org/en/download.html,我選擇了 https://nginx.org/download/nginx-1.26.0.tar.gz 版本:
$ wget https://nginx.org/download/nginx-1.26.0.tar.gz $ tar -zxvf nginx-1.26.0.tar.gz # 下載目錄 /software [root@ nginx-1.26.0]# ls CHANGES CHANGES.ru LICENSE Makefile README auto conf configure contrib html man objs src [root@ nginx-1.26.0]# pwd /software/nginx-1.26.0
2.下載nginx-rtmp
我直接下載的壓縮包(地址:https://github.com/arut/nginx-rtmp-module),拷貝到centos里面解壓到 /software目錄
[root@ nginx-rtmp-module-master]# ls AUTHORS ngx_rtmp_access_module.c ngx_rtmp_cmd_module.h ngx_rtmp_handler.c ngx_rtmp_netcall_module.h ngx_rtmp_relay_module.c LICENSE ngx_rtmp_amf.c ngx_rtmp_codec_module.c ngx_rtmp_handshake.c ngx_rtmp_notify_module.c ngx_rtmp_relay_module.h README.md ngx_rtmp_amf.h ngx_rtmp_codec_module.h ngx_rtmp_init.c ngx_rtmp_play_module.c ngx_rtmp_send.c config ngx_rtmp_auto_push_module.c ngx_rtmp_control_module.c ngx_rtmp_limit_module.c ngx_rtmp_play_module.h ngx_rtmp_shared.c dash ngx_rtmp_bandwidth.c ngx_rtmp_core_module.c ngx_rtmp_live_module.c ngx_rtmp_proxy_protocol.c ngx_rtmp_stat_module.c doc ngx_rtmp_bandwidth.h ngx_rtmp_eval.c ngx_rtmp_live_module.h ngx_rtmp_proxy_protocol.h ngx_rtmp_streams.h hls ngx_rtmp_bitop.c ngx_rtmp_eval.h ngx_rtmp_log_module.c ngx_rtmp_receive.c ngx_rtmp_version.h ngx_rtmp.c ngx_rtmp_bitop.h ngx_rtmp_exec_module.c ngx_rtmp_mp4_module.c ngx_rtmp_record_module.c stat.xsl ngx_rtmp.h ngx_rtmp_cmd_module.c ngx_rtmp_flv_module.c ngx_rtmp_netcall_module.c ngx_rtmp_record_module.h test [root@2 nginx-rtmp-module-master]# pwd /software/nginx-rtmp-module-master
3.安裝
[root@ nginx-rtmp-module-master]# cd /software/nginx-1.26.0/ [root@ nginx-1.26.0]# ls CHANGES CHANGES.ru LICENSE Makefile README auto conf configure contrib html man objs src [root@ nginx-1.26.0]# ./configure --prefix=/usr/local/nginx --add-module=/software/nginx-rtmp-module-master [root@ nginx-1.26.0]# make && make install
nginx 安裝在 /usr/local/nginx/ 目錄下
4.配置nginx-rtmp
$ /usr/local/nginx/conf/nginx.conf # 文件的最后面,添加下列配置(github有詳細(xì)的配置示例) rtmp { server { listen 1935; #監(jiān)聽的端口 chunk_size 4000; application tv_file { live on; #開啟實(shí)時(shí) hls on; #開啟hls hls_path /usr/local/nginx/html/tv_file; #rtmp推流請(qǐng)求路徑,文件存放路徑 hls_fragment 5s; #每個(gè)TS文件包含5秒的視頻內(nèi)容 } } } # 啟動(dòng)nginx $ /usr/local/nginx/sbin/nginx # 重啟nginx /usr/local/nginx/sbin/nginx -s reload
netstat查看nginx進(jìn)程是否正常運(yùn)行:
$ netstat -anlp | grep nginx tcp 0 0 0.0.0.0:1935 0.0.0.0:* LISTEN 7247/nginx: master tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 7247/nginx: master unix 3 [ ] STREAM CONNECTED 580172994 7247/nginx: master unix 3 [ ] STREAM CONNECTED 580172997 7247/nginx: master unix 3 [ ] STREAM CONNECTED 580172995 7247/nginx: master unix 3 [ ] STREAM CONNECTED 580172996 7247/nginx: master
Dockerfile安裝:
FROM centos:centos7.9.2009 WORKDIR /software #安裝依賴庫(kù) RUN yum install -y epel-release \ && yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel openssl openssl-devel wget git \ && yum clean all #下載nginx、nginx-rtmp源碼 RUN wget https://nginx.org/download/nginx-1.26.0.tar.gz \ && tar -zxvf nginx-1.26.0.tar.gz \ && git clone https://github.com/arut/nginx-rtmp-module.git #編譯安裝 RUN cd /software/nginx-1.26.0 \ && ./configure --prefix=/usr/local/nginx --add-module=/software/nginx-rtmp-module \ && make && make install #復(fù)制Nginx配置文件 # COPY nginx.conf /usr/local/nginx/conf/nginx.conf EXPOSE 80 443 ENTRYPOINT /usr/local/nginx/sbin/nginx -g "daemon off;"

浙公網(wǎng)安備 33010602011771號(hào)