当前位置:网站首页 >  攻略

零基础Linux轻量云服务器推流全流程纯干货配置指南

时间:2026年06月05日 19:40:17 来源:易频IT社区

一、前置准备:确定环境与必备软件

本次使用Ubuntu 22.04 LTS系统的轻量云演示,所有软件均提供可直接复制的安装命令,其他Linux发行版可替换对应包管理器命令。

  • 轻量云服务器:至少2核2G配置(满足1080P 30fps常规推流)
  • 本地测试推流软件:OBS Studio(下载地址:https://obsproject.com/download)
  • 本地测试拉流软件:VLC Media Player(下载地址:https://www.videolan.org/vlc/)

二、更新系统并安装依赖

首先执行系统更新,避免依赖冲突,然后安装编译Nginx RTMP模块所需的工具库。

注意:所有命令需用root用户执行,或在开头加sudo

```bash 更新包索引 apt update -y 升级已安装的包 apt upgrade -y 安装编译依赖 apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev ```

三、下载并编译带RTMP模块的Nginx

Nginx官方版不自带RTMP推流模块,需手动下载并编译添加nginx-http-flv-module(同时支持RTMP和HTTP-FLV拉流,兼容性比纯nginx-rtmp-module更好)。

1. 创建临时工作目录

```bash mkdir -p /usr/local/src/nginx cd /usr/local/src/nginx ```

2. 下载Nginx和模块源码

```bash 下载Nginx 1.25.3稳定版(可去官网https://nginx.org/en/download.html替换最新稳定版链接) wget https://nginx.org/download/nginx-1.25.3.tar.gz 下载nginx-http-flv-module最新版 wget https://github.com/winshining/nginx-http-flv-module/archive/refs/tags/v1.2.11.tar.gz ```

3. 解压源码

```bash tar -zxvf nginx-1.25.3.tar.gz tar -zxvf v1.2.11.tar.gz ```

4. 配置编译参数

配置路径固定为/usr/local/nginx,方便后续维护;添加ssl模块支持后续HTTPS访问。

```bash cd nginx-1.25.3 ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --add-module=../nginx-http-flv-module-1.2.11 ```

5. 编译并安装

```bash 编译(-j 2表示用2核CPU编译,根据服务器配置调整,不写默认单线程) make -j 2 安装 make install ```

四、配置Nginx RTMP推流

1. 备份原配置文件

```bash cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak ```

2. 编辑新配置文件

使用vimnano编辑,这里用nano(新手更友好),清空原内容后粘贴以下完整可直接复制的配置:

```bash nano /usr/local/nginx/conf/nginx.conf ``` ```nginx user www-data; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; HTTP-FLV拉流监听端口(可自定义) server { listen 80; server_name _; 拉流地址/路径(可自定义,但要和rtmp的路径对应) location /live { flv_live on; chunked_transfer_encoding on; add_header 'Access-Control-Allow-Origin' ''; add_header 'Access-Control-Allow-Credentials' 'true'; } 禁止访问根目录和配置文件 location / { deny all; } location ~ /\. { deny all; } } } RTMP推流核心配置 rtmp { server { RTMP默认推流端口(1935,可自定义,但要在云服务器安全组开放) listen 1935; chunk_size 4096; 推流应用名(可自定义,这里设为live) application live { live on; record off; 关闭录制,如需开启设为on并配置record_path 推流鉴权(可选但强烈建议开启,防止盗推) auth_key_push $arg_secret; auth_key_secret your_secret_key_123456; } } } ```

编辑完成后按Ctrl+O保存,再按Enter确认文件名,最后按Ctrl+X退出。

3. 创建日志目录和权限设置

```bash 创建Nginx日志目录 mkdir -p /var/log/nginx 给www-data用户权限(对应配置文件中的user) chown -R www-data:www-data /var/log/nginx chown -R www-data:www-data /usr/local/nginx/html ```

4. 配置Nginx开机自启

零基础Linux轻量云服务器推流全流程纯干货配置指南

创建systemd服务文件,设置开机自动启动:

```bash nano /etc/systemd/system/nginx.service ``` ```service [Unit] Description=nginx - high performance web server After=network.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target ```

保存退出后执行以下命令:

```bash 重载systemd服务配置 systemctl daemon-reload 设置开机自启 systemctl enable nginx 启动Nginx systemctl start nginx 查看Nginx状态 systemctl status nginx ```

如果状态显示active (running),说明Nginx配置成功。

五、开放云服务器安全组端口

这一步极易卡壳,务必操作!

登录轻量云/云服务器控制台,找到对应的实例,进入防火墙/安全组页面,添加以下入站规则:

  • 协议:TCP,端口:1935,来源:0.0.0.0/0
  • 协议:TCP,端口:80,来源:0.0.0.0/0

六、本地OBS推流测试

  1. 打开OBS Studio,点击底部设置
  2. 进入推流选项卡,服务选择自定义
  3. 服务器填写:rtmp://你的服务器公网IP/live
  4. 串流密钥填写:test(可自定义,拉流时要和密钥一致)
  5. 点击确定,再点击底部开始推流
  6. 如果OBS右下角显示绿色圆点和帧率稳定,说明推流成功。

七、本地VLC拉流测试

1. RTMP拉流

  1. 打开VLC Media Player,点击顶部媒体打开网络串流
  2. 网络URL填写:rtmp://你的服务器公网IP/live/test
  3. 点击播放,等待2-3秒即可看到画面。

2. HTTP-FLV拉流

  1. 同样打开VLC的打开网络串流
  2. 网络URL填写:http://你的服务器公网IP/live?port=1935&app=live&stream=test
  3. 点击播放即可。

八、(可选)开启推流鉴权防止盗推

编辑Nginx配置文件,取消注释鉴权相关的两行,替换your_secret_key_123456为自己的强密码:

```bash nano /usr/local/nginx/conf/nginx.conf ```

修改后重载Nginx:

```bash systemctl reload nginx ```

之后OBS推流时的服务器地址要改为:rtmp://你的服务器公网IP/live?secret=your_secret_key_123456,串流密钥不变。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图