背景:Debain 12.x 64 操作系统,kali 镜像
一、安装nginx所需编译环境
1、Linux 系统安装gcc
Debian/Ubuntu:
sudo apt install gcc
RedHat/CentOS:
sudo yum install gcc
2、Linux系统gcc-c++
Debian/Ubuntu:
sudo apt install g++
RedHat/CentOS:
sudo dnf install gcc-c++
3、Linux系统安装perl
Debian/Ubuntu:
sudo apt install perl
RedHat/CentOS:
sudo yum install perl
4、Linux系统安装pcre-devel
Debian/Ubuntu:
sudo apt install libpcre3-dev
RedHat/CentOS:
sudo yum install pcre-devel
5、Linux系统安装zlib
Debian/Ubuntu:
sudo apt install zlib1g-dev
RedHat/CentOS:
sudo yum install zlib-devel
6、Linux系统安装openssl(本文基于openssl3.x,openssl1.x请安装nginx1.20.0以下版本)
Debian/Ubuntu:
sudo apt install openssl
RedHat/CentOS:
sudo yum install openssl
7、Linux系统安装openssl-devel
Debian/Ubuntu:
sudo apt install libssl-dev
RedHat/CentOS:
sudo yum install openssl-devel
8、Linux系统安装net-tools
Debian/Ubuntu:
sudo apt install net-tools
RedHat/CentOS:
sudo yum install net-tools
9、Linux系统安装unzip
Debian/Ubuntu:
sudo apt install unzip
RedHat/CentOS:
sudo yum install unzip
二、 下载nginx、rtmp插件
# 将 nginx 1.24.0 下载到/opt目录下
wget http://nginx.org/download/nginx-1.24.0.tar.gz
# 将rtmp插件下载到/opt目录下
wget -c https://codeload.github.com/arut/nginx-rtmp-module/zip/refs/heads/master -O nginx-rtmp-module-master.zip
# 解压nginx文件
tar -zxvf nginx-1.24.0.tar.gz
# 解压rtmp文件
unzip nginx-rtmp-module-master.zip
三、nginx配置插件、编译、安装
# nginx配置rtmp模块儿(注意,这里是rtmp的绝对路径)(要在/nginx-1.24.0目录下执行)
./configure --add-module=/opt/nginx-rtmp-module-master
# 编译并安装(要在/nginx-1.24.0目录下执行)
make&&make install
# 安装完毕后查看版本信息
nginx -V
# nginx 默认安装位置
cd /usr/local/nginx/
# 启动nginx
/usr/local/nginx/sbin/nginx
# 关闭nginx
/usr/local/nginx/sbin/nginx -s stop
rtmp插件配置成功示例图(编译安装省略,不出现error则为成功):
![](https://img-blog.csdnimg.cn/direct/51a698d2f6e74d119a8d7afc55b80d07.png)
四、配置rtmp播放、分发为HLS流,便于H5播放
# 编辑 nginx 配置文件
vi /usr/local/nginx/conf/nginx.conf
# 内容如下
events {
worker_connections 8192;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application live/videos {
live on;
allow publish all;
allow play all;
hls on;
hls_path /usr/local/nginx/videos;
hls_fragment 5s;
hls_playlist_length 30s;
}
}
}