说明:
nginx搭建流媒体服务需要用到 nginx-rtmp-module 模块
具体操作步骤:
安装nginx
(1)下载第三方扩展模块nginx-rtmp-module
# mkdir module && cd module //创建一个存放模块的目录 # wget https://github.com/arut/nginx-rtmp-module/archive/master.zip //下载模块 # unzip master.zip //解压 # ls nginx-rtmp-module-master/ //查看模块目录
(2)编译安装nginx(说明:此处由于我这边已有lnmp运行项目的环境,直接动态添加的 nginx-rtmp-module模块; 动态参加可参考:这里)
# yum -y install pcre-devel openssl openssl-devel //安装依赖 # wget http://nginx.org/download/nginx-1.12.2.tar.gz //下载nginx包 # tar xf nginx-1.12.2.tar.gz # ./configure --prefix=/opt/nginx-1.9.5 --add-module=/root/module/nginx-rtmp-module-master --with-http_ssl_module //编译安装nginx,并指定上面下载的模块路径 # make # make install
(3)修改nginx配置文件,添加如下内容并重新载入配置文件
# vim nginx.conf rtmp { server { listen 1935; #监听的端口号 application myapp { #自定义的名字 live on; } application hls { live on; hls on; hls_path /tmp/hls; hls_fragment 1s; hls_playlist_length 3s; } } } # /etc/init.d/nginx reload
user root; worker_processes 4; worker_cpu_affinity 1000 0100 0010 0001; worker_rlimit_nofile 30000; #error_log logs/error.log warn; pid /var/run/nginx.pid; events { worker_connections 30000; use epoll; } rtmp { server { listen 1935; application myapp { live on; } application hls { live on; hls on; hls_path /tmp/rtmp/hls; hls_fragment 1s; hls_playlist_length 3s; } } } http { limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s; autoindex off; include /opt/nginx-1.9.5/conf/mime.types; default_type application/octet-stream; log_format main '$remote_addr [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for $request_length $request_time "$upstream_response_time" "$upstream_addr" $host $server_addr'; #access_log logs/access.log main; server_tokens off; sendfile on; #tcp_nopush on; keepalive_timeout 65; gzip on; gzip_min_length 1K; gzip_buffers 4 16K; gzip_comp_level 8; gzip_http_version 1.0; gzip_types application/json text/javascript text/plain application/x-javascript text/css application/xml text/xml; #gzip_types application/json text/javascript text/plain application/x-javascript text/css application/xml text/xml image/jpeg image/gif image/png; gzip_disable "MSIE [1-6]\."; client_max_body_size 500M; #server { # listen 80 default; # return 500; #} include /opt/nginx-1.9.5/conf/conf.d/*.conf; }