0
点赞
收藏
分享

微信扫一扫

nginx.conf个人配置-包括rtmp-module和http-flv-module设置

彪悍的鼹鼠 2022-04-04 阅读 51

前言

记录个人的nginx.conf设置,前期是添加了nginx-rtmp-module,后期添加了nginx-http-flv-nodule


结构

开头

user 运行用户,默认nginx,可不设置
worker_processes 处理进程数,管理并发处理服务,一般与CPU核数一致

user  root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events

worker_connections单个进程支持的最大连接数量

events {
    worker_connections  1024;
}

rtmp

# 推流时会发布到多个子进程
rtmp_auto_push on;
rtmp_auto_push_reconnect 1s;

rtmp {
    server {
    	# 监听1935端口接收连接
        listen 1935;
        # 创建rtmp应用myapp       
        application myapp {	
            live on;	# 当路径匹配时,开始播放
            gop_cache on;	# 打开GOP缓存,减少首屏等待时间
        }
        # 创建rtmp应用myapp
        application live {
            live on;
            gop_cache on;
        }        
    }
}

http

Tip:我页面用到的nginx-http-flv-module模块具体是用在了网页中,这里只是部署了两个测试页面/live和/flv,具体的模块安装步骤参考我的另一篇文章

http {
    #文件扩展名与类型映射表
    include       mime.types; 
    default_type  application/octet-stream;
	# 配置信息
    client_header_buffer_size 64k;
    large_client_header_buffers 4 64k;
    client_body_buffer_size 20m;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_busy_buffers_size 256k;
    gzip_buffers 16 8k;
    proxy_buffer_size 64k;
    proxy_buffers 4 128k;
    proxy_busy_buffers_size 256k;
    
    keepalive_timeout 0;
    fastcgi_connect_timeout 600;
    fastcgi_send_timeout 600;
    fastcgi_read_timeout 600;
    
    proxy_connect_timeout 600s;
    proxy_send_timeout 1200;
    proxy_read_timeout 1200;

    sendfile        on;
    #tcp_nopush     on;
    #gzip  on;

    server {
    	# 监听端口号和服务器地址
        listen       80;
        server_name  IP;
        
		# 配置信息
        #access_log  logs/host.access.log  main;
        large_client_header_buffers 4 16k;
        client_max_body_size 30m;
        client_body_buffer_size 128k;
        
        proxy_connect_timeout 300;
        proxy_read_timeout 300;
        proxy_send_timeout 300;
        proxy_buffer_size 64k;
        proxy_buffers   4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
		
		# 开启这两个页面可以观察rtmp流的统计
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
        location /stat.xsl {
            root /usr/local/nginx/module/nginx-rtmp-module/;
        }
        
        # 首页
        location / {
        	# 把首页反向代理到指定ip
            proxy_pass IP:PORT;
            }

        }
        
        # 设置的一个存储图片并发布到公网的页面
        location /images {
        	# 根地址
            root /home/OldHome/;
            # 允许所有ip访问
            allow all;
            autoindex on;	#打开浏览功能

        }

        location /live {
        	# 配置flv播放
            flv_live on;
        }
		
        location /flv {
            add_header 'Access-Control-Allow-Origin' '*';
            # 配置flv播放
            flv_live on;
            chunked_transfer_encoding on;
        }

		# 错误页面设置
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

这里附上全部的nginx.conf

user  root;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

rtmp_auto_push on;
rtmp_auto_push_reconnect 1s;

rtmp {
    server {
        listen 1935;    
        application myapp {	
            live on;	# 当路径匹配时,开始播放
            gop_cache on;	# 打开GOP缓存,减少首屏等待时间
        }
        application live {
            live on;
            gop_cache on;
        }        
    }
}

http {
    include       mime.types; 
    default_type  application/octet-stream;
    client_header_buffer_size 64k;
    large_client_header_buffers 4 64k;
    client_body_buffer_size 20m;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_busy_buffers_size 256k;
    gzip_buffers 16 8k;
    proxy_buffer_size 64k;
    proxy_buffers 4 128k;
    proxy_busy_buffers_size 256k;
    
    keepalive_timeout 0;
    fastcgi_connect_timeout 600;
    fastcgi_send_timeout 600;
    fastcgi_read_timeout 600;
    
    proxy_connect_timeout 600s;
    proxy_send_timeout 1200;
    proxy_read_timeout 1200;

    sendfile        on;
    #tcp_nopush     on;
    #gzip  on;

    server {
        listen       80;
        server_name  IP;
        
        #access_log  logs/host.access.log  main;
        large_client_header_buffers 4 16k;
        client_max_body_size 30m;
        client_body_buffer_size 128k;
        
        proxy_connect_timeout 300;
        proxy_read_timeout 300;
        proxy_send_timeout 300;
        proxy_buffer_size 64k;
        proxy_buffers   4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
		
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
        location /stat.xsl {
            root /usr/local/nginx/module/nginx-rtmp-module/;
        }
        
        # 首页
        location / {
            proxy_pass IP:PORT;
            }

        }
        
        location /images {
            root /home/OldHome/;
            allow all;
            autoindex on;	#打开浏览功能

        }

        location /live {
            flv_live on;
        }
		
        location /flv {
            add_header 'Access-Control-Allow-Origin' '*';
            flv_live on;
            chunked_transfer_encoding on;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
	}
举报

相关推荐

0 条评论