如何手动编译安装nginx并安装nginx-rtmp-module模块

一、编译安装nginx

通过root账号进入服务器命令行:

1、安装依赖包

对于基于RedHat/CentOS的系统,需执行:

yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel make

对于Ubuntu/Debian系统,应运行:

apt-get install gcc libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev make

 

2、拉取Nginx安装包编译安装

wget http://nginx.org/download/nginx-1.20.1.tar.gz  # 请替换为最新版本号

tar -zxvf nginx-1.20.1.tar.gz

cd nginx-1.20.1

#可以使用官方下载地址

 

wget http://mirror.wuchai.net/nginx/nginx-1.25.0.tar.gz

tar zxvf nginx-1.25.0.tar.gz

#或者,可以使用这个下载地址

cd nginx-1.25.0

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

&& make && make install

 

3、开机自启动

sudo vi /lib/systemd/system/nginx.service

在nginx.service里写入以下内容:

 

[Unit]

Description=The NGINX HTTP and reverse proxy server

After=network.target




[Service]

Type=forking

#查看nginx位置(一般是在/user/local/nginx)

#whereis nginx #查看后,修改以下路径即可

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

Restart=on-failure




[Install]

WantedBy=multi-user.target

退出后,执行:

sudo systemctl enable nginx #开机自启动
sudo systemctl disable nginx #移除自启动
sudo systemctl start nginx #开始自启动程序
sudo systemctl restart nginx #关闭自启动程序
sudo systemctl status nginx #查看状态
sudo systemctl stop nginx #停止
systemctl daemon-reload #刷新配置

 

4、状态正常后,nginx安装成功

nginx -v #查看Nginx版本
ps aux|grep nginx #启动后查看进程

 

5、如果失败,或是端口冲突,可修改之后继续执行

vi /etc/nginx/nginx.conf #有些是这个路径
vi /etc/nginx/sites-available/default #有就改
vi /usr/local/nginx/conf/nginx.conf #有些是这个路径

修改内容:

80端口改为8000,随意即可,只要不是服务器中正在使用的端口即可。

 

二、安装nginx-rtmp-module模块

1、拉取模块安装

git clone https://github.com/arut/nginx-rtmp-module.git

#可以使用官方下载地址

 

wget http://mirror.wuchai.net/nginx/nginx-rtmp-module/nginx-rtmp-module-1.2.2.zip

unzip nginx-rtmp-module-1.2.2.zip

#可以使用这个下载地址

cd nginx-1.25.0 #进入nginx文件路径

./configure --add-module=/root/nginx-rtmp-module-1.2.2 #具体路径看自己下载的位置 && make && make install

 

2、合并安装Nginx以及nginx-rtmp-module模块

wget http://mirror.wuchai.net/nginx/nginx-rtmp-module/nginx-rtmp-module-1.2.2.zip

unzip nginx-rtmp-module-1.2.2.zip

wget http://mirror.wuchai.net/nginx/nginx-1.25.0.tar.gz

tar zxvf nginx-1.25.0.tar.gz

cd nginx-1.25.0

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

--add-module=/root/nginx-rtmp-module-1.2.2 #具体路径看自己下载的位置

&& make && make install

失败后:

根据以上方式开启nginx自启动,并查看状态确认成功后,继续执行:

./configure --add-module=/root/nginx-rtmp-module-1.2.2 #具体路径看自己下载的位置 && make && make install

 

三、配置rtmp推流拉流视频服务器

 

1、普通配置,无秘钥加密

vi /usr/local/nginx/conf/nginx.conf #有些是这个路径

vi /etc/nginx/nginx.conf #有些是这个路径

#centos中用vim命令,debian、Ubuntu用vi命令

 

在文件最后面添加配置:

rtmp {

server {

listen 1935            # rtmp监听的端口号

so_keepalive=2s:1:2;

chunk_size 4000;       #值越大cpu消耗越低

application live {

live on;

}

}

}

#要在服务器防火墙那里开通1935端口

 

2、保存退出后,使用推流拉流地址

rtmp://your_server_ip:1935/live/12345

#12345即为秘钥,在OBS等工具中,

#云服务器使用云服务IP,内网主机也一样。云服务也可以使用域名。

 

3、结合WordPress账号密码,添加鉴权功能

在nginx配置文件最后面添加配置:

rtmp {

server {

listen 1935            # rtmp流服务器监听的端口号

so_keepalive=2s:1:2;

chunk_size 4000;       #流复用块的大小,值越大cpu消耗越低

application live {

live on;

#启用publish_notify,并通过on_publish指向WordPress的鉴权接口

publish_notify on;

# 启用鉴权回调

on_publish http://域名/?rtmp_auth=1;

notify_method get;

}

}

}

#要在服务器防火墙那里开通1935端口

 

使用WordPress推流拉流插件生成推流地址:

rtmp://域名/live/stream_camera1_d3ac5f?user=用户名&pass=密码

#插件后续会贴出发布链接,http://wuchai.net/plugins/

 

4、拉流播放

使用vlc等拉流工具播放。

https://www.videolan.org/

http://mirror.wuchai.net/rtsp/vlc/vlc-3.0.21-win64.exe

或搭建zoneminder监控系统平台,做安防监控系统,查看监控画面。

 

2025年9月26日星期五12时18分

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

1 × 5 =

目录