ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

nginx-autoinstall搭建RTMP流媒体服务器:直播推流完整教程

nginx-autoinstall搭建RTMP流媒体服务器:直播推流完整教程 nginx-autoinstall搭建RTMP流媒体服务器直播推流完整教程【免费下载链接】nginx-autoinstallCompile NGINX from source with custom modules and patches on Debian and Ubuntu项目地址: https://gitcode.com/gh_mirrors/ng/nginx-autoinstallnginx-autoinstall 是一个在 Debian 和 Ubuntu 上从源码一键编译安装 NGINX的开源脚本内置可选的 RTMP 流媒体模块非常适合用来搭建 RTMP 流媒体服务器。本教程将带你从零开始用 nginx-autoinstall 编译带 RTMP 模块的 NGINX完成直播推流、OBS 配置与 HLS 播放全程无需手写复杂的编译参数新手也能轻松上手。一、为什么用 nginx-autoinstall 搭建 RTMP 流媒体服务器平时搭建 RTMP 流媒体服务器最麻烦的是手动下载源码、安装依赖、拼写编译参数、处理模块冲突。nginx-autoinstall 把这一切封装成了一个交互式脚本你只需要回答几个「y/n」问题就能编译出一个带 RTMP 推流功能的 NGINX。它的核心优势非常直观优势说明✅ 一键编译自动下载 NGINX 源码、配置、编译、安装✅ 可选模块RTMP、Brotli、PageSpeed、WebDAV 等按需选择✅ 自动集成自动生成 systemd 服务、logrotate 日志轮转✅ 防止冲突自动屏蔽 APT 安装的 NGINX避免版本混乱✅ 支持无人值守提供 HEADLESS 无交互模式可脚本化部署脚本主文件是仓库根目录下的 nginx-autoinstall.sh整个安装逻辑、模块选择与编译流程都集中在这个文件里非常值得阅读。二、搭建前的准备工作系统要求nginx-autoinstall 官方支持以下系统✅ Debian 9 及以上版本✅ Ubuntu 16.04 及以上版本脚本需要在root 权限下运行脚本开头会校验非 root 会直接退出获取脚本最简单的方式是克隆仓库git clone https://gitcode.com/gh_mirrors/ng/nginx-autoinstall cd nginx-autoinstall chmod x nginx-autoinstall.sh 提示仓库里还附带了一些现成配置例如 conf/nginx.conf、conf/nginx.service 和 conf/nginx-logrotate安装脚本会自动把 systemd 服务和日志轮转配置部署到系统中。三、一键编译安装带 RTMP 模块的 NGINX这是最核心的环节。直接运行脚本./nginx-autoinstall.sh脚本会依次询问你几个问题按下面的答案操作即可第 1 步选择操作What do you want to do? 1) Install or update Nginx 2) Uninstall Nginx ...输入1回车选择「安装或更新 NGINX」。第 2 步选择版本Do you want to install Nginx stable or mainline? 1) Stable 2) Mainline直播场景建议输入2选择 Mainline 主线版本功能更新。第 3 步选择模块重点脚本会列出几十个可选模块例如 HTTP/3、Brotli、GeoIP 等。找到这一行nginx RTMP [y/n]:输入y回车启用 RTMP 模块。其余模块如无特殊需求全部输入n即可。之后脚本会自动完成以下工作全程无需干预克隆 RTMP 模块源码nginx-rtmp-module并加入编译参数--add-module下载 NGINX 源码执行./configure与make编译安装到/usr/sbin/nginx配置文件在/etc/nginx/nginx.conf注册 systemd 服务可通过systemctl start nginx管理自动创建/etc/nginx/sites-enabled、/var/cache/nginx等目录看到Installation done.就代表编译安装成功了四、无交互快速安装HEADLESS 模式一条命令搞定如果你不想一步步回答交互问题比如服务器部署、自动化脚本场景nginx-autoinstall 提供了HEADLESS 无交互模式。只需设置环境变量即可例如安装带 RTMP 的主线版 NGINXHEADLESSy \ OPTION1 \ NGINX_VERMAINLINE \ RTMPy \ ./nginx-autoinstall.sh各个环境变量的含义变量取值作用HEADLESSy启用无交互模式OPTION1执行安装操作NGINX_VERMAINLINE/STABLE选择主线版或稳定版RTMPy启用 RTMP 流媒体模块这种模式非常适合批量部署多台直播服务器把命令写进部署脚本即可。五、配置 RTMP 推流与 HLS 直播编译安装完成后还需要在 NGINX 配置里添加 RTMP 直播配置。编辑主配置文件vim /etc/nginx/nginx.conf在文件顶部http块之外添加 RTMP 配置块同时开启 HLS 切片方便后续用网页播放rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; # 开启 HLS生成 m3u8 切片 hls on; hls_path /var/www/html/hls; hls_fragment 2s; hls_playlist_length 6s; } } }再添加一个 HTTP 服务用于对外提供 HLS 播放地址server { listen 8080; location /hls { root /var/www/html; types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } add_header Cache-Control no-cache; } }保存后创建目录、测试配置并重载mkdir -p /var/www/html/hls nginx -t systemctl reload nginx⚠️ 别忘了在防火墙中放行端口RTMP 推流端口1935/tcpHLS 播放端口8080/tcp。ufw allow 1935/tcp ufw allow 8080/tcp六、用 OBS 直播推流到 RTMP 服务器服务器配置好了接下来用最常见的直播推流工具OBS Studio测试。打开 OBS →「设置」→「直播」服务选择「自定义」服务器地址填写rtmp://你的服务器IP/live推流密钥任意填写例如mystream相当于直播间 ID点击「开始推流」✅推流参数建议保证流畅稳定项目推荐值视频码率2500–6000 Kbps根据上行带宽调整音频码率128–192 Kbps关键帧间隔2 秒与 HLS 切片对齐延迟更低分辨率1080p 或 720p推流成功后RTMP 地址格式就是rtmp://服务器IP/live/mystream七、拉流播放RTMP 与 HLS 两种方式方式一RTMP 直接拉流用 VLC 播放器打开「网络串流」输入rtmp://服务器IP/live/mystream即可实时观看直播延迟极低适合内网测试。方式二HLS 网页播放浏览器或播放器直接访问http://服务器IP:8080/hls/mystream.m3u8HLS 会按 2 秒切片生成.m3u8索引文件兼容几乎所有网页播放器如 video.js、hls.js适合公网分发场景缺点是延迟会比 RTMP 略高。八、常见问题排查FAQ❓ 推流失败提示连接超时大概率是防火墙没有放行1935端口检查一下 ufw/iptables 规则。❓nginx -t报语法错误确认rtmp {}块是放在http {}块外面的顶级位置且配置中没有拼写错误。❓ 想卸载或重装 NGINX重新运行./nginx-autoinstall.sh选择选项2) Uninstall Nginx脚本支持清理配置文件和日志。❓ 之后用apt install nginx装不了软件包这是正常现象安装脚本会在/etc/apt/preferences.d/nginx-block写入 pin 规则将 APT 的 nginx 优先级设为-1防止与源码版 NGINX 冲突保证你的 RTMP 流媒体服务器不被意外覆盖。总结通过 nginx-autoinstall你不需要掌握复杂的编译知识就能在 Debian / Ubuntu 上快速搭建 RTMP 流媒体服务器实现 OBS 直播推流、RTMP 低延迟拉流和 HLS 网页播放。脚本不仅支持 RTMP还内置了几十个可选模块Brotli、HTTP/3、WebDAV、GeoIP 等未来想要扩展功能重新运行脚本更新 NGINX 即可非常灵活。希望这篇教程能帮你顺利开启自己的直播之旅【免费下载链接】nginx-autoinstallCompile NGINX from source with custom modules and patches on Debian and Ubuntu项目地址: https://gitcode.com/gh_mirrors/ng/nginx-autoinstall创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表