WVP-GB28181-PRO 编译+部署+问题排查整理 综合指南

目录

目标效果:

简介:

1:查看操作系统信息

2:安装java环境

3:数据库

4:安装redis

5:安装编译器

6:安装cmake

7:安装依赖库

8:编译ZLMediaKit

9:编译wvp-GB28181-pro

10:编译结果证明

11:配置

11.1:WVP-PRO配置文件

11.1.1 Mysql数据库配置

11.1.2 REDIS数据库配置

11.1.3 配置服务启动端口

11.1.3 配置28181相关信息

11.1.4 配置ZLMediaKit连接信息

11.1.6个性化定制信息配置

12 ZLMediaKit配置文件

12.1 使用

12.2 ZLM配置

13:相关排查指令

示例配置文件:

Web前端设置,公网部署时

运行过程的问题报错排查

​​​排查1:

排查2:

排查3:

排查4:

排查5:

排查6:

排查7:

最后的application.yml配置参考:

 14:docker部署

  14.1 docker 安装

14.2 Docker Compose 安装

14.3 编译wvp docker

15:编译方式部署-守护进程


目标效果:

WVP-GB28181-PRO公网部署(ubuntu)+ZLM+WVP部署在同一个服务器 和问题排查点 ,提供给大家做参考,跟着编译部署一遍基本没问题。内容比较长。

简介:

WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将不带国标功能的摄像机/直播流/直播推流转发到其他国标平台。

流媒体服务基于@夏楚 ZLMediaKit https://github.com/ZLMediaKit/ZLMediaKit
播放器使用@dexter jessibuca https://github.com/langhuihui/jessibuca/tree/v3
前端页面基于@Kyle MediaServerUI https://gitee.com/kkkkk5G/MediaServerUI 进行修改

git地址:wvp-GB28181-pro: WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联,支持rtsp/rtmp等视频流转发到国标平台,支持rtsp/rtmp等推流转发到国标平台。icon-default.png?t=O83Ahttps://gitee.com/pan648540858/wvp-GB28181-pro

1:查看操作系统信息

lsb_release -a

root@hecs-76136:/mnt/wvp28181pro# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04

2:安装java环境

apt-get install openjdk-11-jre git maven nodejs npm

3:数据库

sudo apt update

sudo apt install mysql-server mysql-client

验证数据库安装 :

客户端:mysql -V

服务端:mysql -u root -p

输入密码时直接回车 后输入:mysql> SELECT VERSION();

4:安装redis

sudo apt install redis-server

#启动

redis-server

#查看Redis是否正常

systemctl status redis

redis-cli #输入ping返回PONG表示正常

root@hecs-76136:/mnt/wvp28181pro# redis-server
1591727:C 22 Nov 2024 15:49:36.326 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1591727:C 22 Nov 2024 15:49:36.326 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=1591727, just started
1591727:C 22 Nov 2024 15:49:36.326 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1591727:M 22 Nov 2024 15:49:36.327 # Could not create server TCP listening socket *:6379: bind: Address already in use
root@hecs-76136:/mnt/wvp28181pro# systemctl status redis
● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-11-22 15:46:29 CST; 3min 19s ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
   Main PID: 1590969 (redis-server)
      Tasks: 4 (limit: 4612)
     Memory: 1.9M
     CGroup: /system.slice/redis-server.service
             └─1590969 /usr/bin/redis-server 127.0.0.1:6379

Nov 22 15:46:29 hecs-76136 systemd[1]: Starting Advanced key-value store...
Nov 22 15:46:29 hecs-76136 systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: Operation not permitted
Nov 22 15:46:29 hecs-76136 systemd[1]: Started Advanced key-value store.
root@hecs-76136:/mnt/wvp28181pro# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>

5:安装编译器

sudo apt install build-essential

6:安装cmake

sudo apt update

sudo apt install cmake

cmake --version

7:安装依赖库

#除了openssl,其他其实都可以不安装

sudo apt install -y libssl-dev

sudo apt install -y libsdl1.2-dev

sudo apt install -y libavcodec-dev

sudo apt install -y libavutil-dev

sudo apt install -y ffmpeg

8:编译ZLMediaKit

git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit

cd ZLMediaKit

git submodule update --init

#编译

mkdir build

cd build

cmake ..

make -j4

9:编译wvp-GB28181-pro

git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git

#1.编译前端页面

cd wvp-GB28181-pro/web_src/

npm --registry=https://registry.npmmirror.com install

npm run build

#编译完成后会生成目录: wvp-GB28181-pro/src/main/resources/static

#2.生成可执行jar

cd wvp-GB28181-pro

mvn package

#编译后生成文件: wvp-GB28181-pro/target/wvp-pro-2.7.18-11220820.jar

#3.生成war

cd wvp-GB28181-pro

mvn package -P war

#编译后生成文件: wvp-GB28181-pro/target/wvp-pro-2.7.18-11220828.war

10:编译结果证明

11:配置

两个配置文件:

1:WVP-PRO配置文件

2ZLMediaKit配置文件

11.1:WVP-PRO配置文件

./src/main/resources/application.yml

./target/classes/application.yml

./target/wvp-pro-2.7.0-01260312/WEB-INF/classes/application.yml

./src/main/resources/all-application.yml

./target/classes/all-application.yml

./target/wvp-pro-2.7.0-01260312/WEB-INF/classes/all-application.yml

all-application.yml,application.yml使用哪一组都可以,这里使用application.yml进行修改.最近的版本里没有all-application.yml了。直接使用上面的application.yml一样的。

下面的配置是在application.yml 中配置的

11.1.1 Mysql数据库配置

这里有两点注意:

1:share数据库删除

2: master数据库wvp2需要修改为wvp,必须要和建立的数据库名称对应

# [必选] jdbc数据库配置
datasource:
	# mysql配置
	dynamic:
		primary: master
		datasource:
			master:
				type: com.zaxxer.hikari.HikariDataSource
				driver-class-name: com.mysql.cj.jdbc.Driver
				url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true
				username: root
				password: root123
				hikari:
					connection-timeout: 20000             # 是客户端等待连接池连接的最大毫秒数
					initialSize: 50                       # 连接池初始化连接数
					maximum-pool-size: 200                # 连接池最大连接数
					minimum-idle: 10                       # 连接池最小空闲连接数
					idle-timeout: 300000                  # 允许连接在连接池中空闲的最长时间(以毫秒为单位)
					max-lifetime: 1200000                 # 是池中连接关闭后的最长生命周期(以毫秒为单位)

中间插下操作=》接下来在服务器上进去MySQL设置 在要部署的服务器中设置

#查看数据库状态

systemctl status mysql

#进入mysql

mysql -u root -

#mysql更改

use mysql;

update user set host='%' where user= 'root';

flush privileges;

select host,user,plugin from user where user='root';

#更改root用户密码为root123,参考上面的配置

alter user 'root'@'%' identified with mysql_native_password by 'root123';

flush privileges;

grant all on *.* to 'root'@'%';

flush privileges;

#wvp数据库修改,需要和url: jdbc:mysql://127.0.0.1:3306/wvp?对应

#初始化-mysql-2.7.3.sql是源代码中对应路径下附带的初始化sql ,替换路径就行

create DATABASE wvp;

use wvp;

source /mnt/wvp28181pro/wvp-GB28181-pro/数据库/2.7.3/初始化-mysql-2.7.3.sql

flush privileges;

Exit

11.1.2 REDIS数据库配置

直接按照第4步骤安装就行,没有设置密码的话,wvp里的redis配置,注意密码要为空

11.1.3 配置服务启动端口

# [可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
server:
    port: 18080

11.1.3 配置28181相关信息
sip:
	#SIP信令服务器IP地址
    ip: 你的公网ip
    port: 8116
    domain: 3204020043
    id: 32040200432162000001
    password: 456123
11.1.4 配置ZLMediaKit连接信息
#zlm 默认服务器配置
media:
   # ZLMediaKit的服务ID,必须配置
    id: htketiannanpro
    # [必须修改] zlm服务器的内网IP,sdp-ip与stream-ip使用默认值的情况下,这里不要使用127.0.0.1/0.0.0.0
    ip:  你的公网ip
    # [必须修改] zlm服务器的http.port
    http-port: 80       
    # [可选] 返回流地址时的ip,置空使用 media.ip
    #stream-ip:
    # [可选] wvp在国标信令中使用的ip,此ip为摄像机可以访问到的ip, 置空使用 media.ip
    #sdp-ip:
    # [可选] zlm服务器的hook所使用的IP, 默认使用sip.ip
    #hook-ip:  
    # [可选] zlm服务器的http.sslport, 置空使用zlm配置文件配置
    #http-ssl-port:
    # [可选] zlm服务器的rtmp.port, 置空使用zlm配置文件配置
    #rtmp-port:
    # [可选] zlm服务器的rtmp.sslport, 置空使用zlm配置文件配置
    #rtmp-ssl-port:
    # [可选] zlm服务器的 rtp_proxy.port, 置空使用zlm配置文件配置
    #rtp-proxy-port:
    # [可选] zlm服务器的 rtsp.port, 置空使用zlm配置文件配置
    #rtsp-port:
    # [可选] zlm服务器的 rtsp.sslport, 置空使用zlm配置文件配置
    #rtsp-ssl-port:    
    # [可选] zlm服务器的hook.admin_params=secret
    secret: BkPj2ca6QPpY5RccREJq4kAOu9ZEt70x
    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
    rtp:
        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
        enable: true
        # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功
        port-range: 40000,45000 # 端口范围
        # [可选] 国标级联在此范围内选择端口发送媒体流,请不要与收流端口范围重合
        send-port-range: 35002,35006 # 端口范围    

***配置ZLMediaKit连接信息注意点**:

1:id必须和12.2.ZLM配置中general.mediaServerId设置一致

2: ip必须正确设置

3:http-port和12.2.ZLM配置中http.port相同

4:secret和12.2.ZLM配置api.secret相同

5:rtp和12.2.ZLM配置配置中rtp_proxy.rtp_proxy相同

11.1.6个性化定制信息配置
# [根据业务需求配置]
user-settings:
  # 点播/录像回放 等待超时时间,单位:毫秒
  play-timeout: 180000
  # [可选] 自动点播, 使用固定流地址进行播放时,如果未点播则自动进行点播, 需要rtp.enable=true
  auto-apply-play: true
  # 推流直播是否录制
  record-push-live: false
  # 国标是否录制
  record-sip: false
  # 国标点播 按需拉流, true:有人观看拉流,无人观看释放, false:拉起后不自动释放
  stream-on-demand: true

12 ZLMediaKit配置文件

12.1 使用

./release/linux/Debug/config.ini
./conf/config.ini

#默认使用./release/linux/Debug/config.ini

#修改并保存配置文件后,运行如下命令就能使ZLMediaKit热加载配置文件,而不必先关闭服务然后再开启
killall -1 MediaServer`

12.2 ZLM配置

[api]
    #一些比较敏感的http api在访问时需要提供secret,否则无权限调用
    #如果是通过127.0.0.1访问,那么可以不提供secret
    secret=BkPj2ca6QPpY5RccREJq4kAOu9ZEt70x

[general]
    #服务器唯一id,用于触发hook时区别是哪台服务器
    mediaServerId=htketiannanpro

[http]
    #http服务器监听端口
    port=80

[rtp_proxy]
    #随机端口范围,最少确保36个端口
    #该范围同时限制rtsp服务器udp端口范围
    port_range=40000-45000	

13:相关排查指令

#我现在 在wvp下的websrc/config/index中http请求的127.0.0.1改成 公网ip.web部署在公网,需要公网打开。

curl ipinfo.io/ip  #查看公网地址

sudo iptables -L -n  #查看防护墙 端口规则 防火墙会会导致不通

sudo netstat -tulnp | grep 18080  #查看端口被哪个服务监 端口未开放 会导致不通

#允许TCP和UDP流量通过18080端口的iptables规则

sudo iptables -A INPUT -p udp --dport 18080 -j ACCEPT 

sudo iptables -A INPUT -p tcp --dport 18080 -j ACCEPT

df                #查看磁盘占用情况  磁盘满了 会运行报错,或者数据库相关错误

du -sh /* | sort -hr  #查看哪个盘占用的内存最多

示例配置文件:

Web前端设置,公网部署时

运行过程的问题报错排
​​​排查1:

这个主要检查下

wvp 和 zlm下面配置要保持一致, 每一个都会导致wvp zlm的联通出问题

排查2:

这种数据库错误要检查下 mysql数据源中datasource:的数据库用户密码是否正确

排查3:

碰到这种错误,要检查 redis这块的部分设置

排查4:

碰到编译或者运行错误的,注意看提示:比如no space 这种 就是磁盘满了导致的,这时使用

df                #查看磁盘占用情况  

du -sh /* | sort -hr  #查看哪个盘占用的内存最多

排查5:

运行失败时还会因为mysql未启动 ,或者提示 初始化数据失败时,基本都是mysql未启动或者 因为内存满了导致mysql未启动导致的

排查6:

配置中 media的ip、 id 、wan_ip 、 sdp_ip、 wan_ip要正确设置,公网的话 要设置对

排查7:

运行后报错,和 Redis有关

检查redis运行状态,和运行测试后 执行ping 返回 PONG说明正常

通过df 发现磁盘满了,无法写入RDB.这个是定时写入快照备份的,太消耗空间,这里取消关闭。

打开/etc/redis/redis.conf

配置文件,将类似 save <seconds> <changes>的内容 删除或者#屏蔽掉。

执行systemctl restart redis

重启生效,如果一直在重启中 不返回可以直接kill掉:  sudo pkill -9 redis-server

http api access-token web上抓前端包得到 例如我的是如下!

这里在web 前端界面上 有个在线文档,上面测试接口时需要。

JhbGciOiJSUzI1NiIsImtpZCI6IjNlNzk2NDZjNGRiYzQwODM4M2E5ZWVkMDlmMmI4NWFlIn0.eyJqdGkiOiJ3VGhsUDJ1M0IzR3RJbzV1bGlJbmVRIiwiaWF0IjoxNzMyNTE5ODA2LCJleHAiOjE3MzUxMTE4MDYsIm5iZiI6MTczMjUxOTgwNiwic3ViIjoibG9naW4iLCJhdWQiOiJBdWRpZW5jZSIsInVzZXJOYW1lIjoiYWRtaW4ifQ.aF2_Xd-_tYhn2KQf7UVF_XeQF3fRlRgSAgctlIw-GOC9oIsaUKXtUZL8ONqsewtaZxCrVuWgOnJNiXVViPnuNi3f3MDGOQ2xCIvDLpLCABekOK7ryCXMEkJ2F7ccIEAW_HBxOmxq5iqmsOaEJX8ofqvrj9dWmo8CbLTWYtF_FK5qlRXR3BmRYaA01m7AehzqulDl60YmnRhlf13sTLwYKunSA_Pvh4gNdGXelAkx-zoEPgVHpzKXDoG9vYp1KZWXvIP2MTIzKrIZKr6_8G2-4KdtDD7ZCGV5-KH107kDJArJXTDPej8w23A14ogFM6vJJF8AyAhtkpXMivdgmam

最后的application.yml配置参考:

spring:

  # 设置接口超时时间

  mvc:

    async:

      request-timeout: 20000

  thymeleaf:

    cache: false

  # [可选]上传文件大小限制

  servlet:

    multipart:

      max-file-size: 10MB

      max-request-size: 100MB

  cache:

    type: redis

  # REDIS数据库配置

  redis:

    # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1

    host: 127.0.0.1

    # [必须修改] 端口号

    port: 6379

    # [可选] 数据库 DB

    database: 7

    # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接

    password:

    # [可选] 超时时间

    timeout: 10000

    # mysql数据源

  datasource:

    dynamic:

      primary: master

      datasource:

        master:

          type: com.zaxxer.hikari.HikariDataSource

          driver-class-name: com.mysql.cj.jdbc.Driver

          url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true

          username: root

          password: root123

          hikari:

            connection-timeout: 20000             # 是客户端等待连接池连接的最大毫秒数

            initialSize: 50                       # 连接池初始化连接数

            maximum-pool-size: 200                # 连接池最大连接数

            minimum-idle: 10                       # 连接池最小空闲连接数

            idle-timeout: 300000                  # 允许连接在连接池中空闲的最长时间(以毫秒为单位)

            max-lifetime: 1200000                 # 是池中连接关闭后的最长生命周期(以毫秒为单位)

#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口

server:

  port: 18080

  # [可选] HTTPS配置, 默认不开启

  ssl:

    # [可选] 是否开启HTTPS访问

    enabled: false

    # [可选] 证书文件路径,放置在resource/目录下即可,修改xxx为文件名

    key-store: classpath:test.monitor.89iot.cn.jks

    # [可选] 证书密码

    key-store-password: gpf64qmw

    # [可选] 证书类型, 默认为jks,根据实际修改

    key-store-type: JKS

# 作为28181服务器的配置

sip:

  # [可选] 28181服务监听的端口

  port: 8116

  # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)

  # 后两位为行业编码,定义参照附录D.3

  # 3701020049标识山东济南历下区 信息行业接入

  # [可选]

  domain: 3204020043

  # [可选]

  id: 32040200432162000001

  # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验

  password: 456123

  # 是否存储alarm信息

  alarm: false

#zlm 默认服务器配置

media:

  id: htketiannanpro

  # [必须修改] zlm服务器的内网IP

  ip: 192.168.0.174

  # [可选] 有公网IP就配置公网IP, 不可用域名

  wan_ip: 你的公网ip

  stream-ip: 你的公网ip

  # [可选] wvp在国标信令中使用的ip,此ip为摄像机可以访问到的ip, 置空使用 media.ip

  sdp-ip: 你的公网ip

  # [可选] zlm服务器访问WVP所使用的IP, 默认使用127.0.0.1,zlm和wvp没有部署在同一台服务器时必须配置

  hook-ip: 192.168.0.174

  # [必须修改] zlm服务器的http.port

  http-port: 80

  # [必选选] zlm服务器的hook.admin_params=secret

  secret: BkPj2ca6QPpY5RccREJq4kAOu9ZEt70x

  # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试

  rtp:

    # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输

    enable: true

    # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功

    port-range: 40000,45000 # 端口范围

    # [可选] 国标级联在此范围内选择端口发送媒体流,

    send-port-range: 50000,55000 # 端口范围

# [根据业务需求配置]

user-settings:

  # 点播/录像回放 等待超时时间,单位:毫秒

  play-timeout: 180000

  # [可选] 自动点播, 使用固定流地址进行播放时,如果未点播则自动进行点播, 需要rtp.enable=true

  auto-apply-play: true

  # 推流直播是否录制

  record-push-live: true  #录播需要注意 会占用内存 需要策略处理

  # 国标是否录制

  record-sip: true  #录播需要注意 会占用内存 需要策略处理

  # 国标点播 按需拉流, true:有人观看拉流,无人观看释放, false:拉起后不自动释放

  stream-on-demand: true

 14:docker部署

  14.1 docker 安装

Docker 是一个开源平台,用于开发、交付和运行应用程序。它允许开发者打包他们的应用以及应用的依赖包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的平台上。

sudo apt-get update #更新软件

sudo apt-get install ca-certificates curl gnupg lsb-release  #安装docker依赖

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

#添加docker密钥

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

#添加阿里云docker软件源

apt-get install docker-ce docker-ce-cli containerd.i

#安装docker

//-------

#配置用户组(非必须操作,此操作目的是为了以后执行docker命令时无需输入sudo密码

sudo usermod -aG docker $USER

sudo reboot

//---------

systemctl start docker  #启动Docker服务

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

#apt-transport-https:允许APT通过HTTPS获取软件包。

#a-certificates:包含证书权威机构的证书,用于验证HTTPS连接。

#curl:一个命令行工具,用于传输数据,常用于下载文件。

#software-properties-common:包含添加和管理软件源的工具。 -y参数表示自动回答“yes”来确认安#装,无需手动干预。

service docker restart #重启Docker服务

sudo docker run hello-world

#用于测试Docker是否正确安装。docker run命令用于运行一个新的容器实例。

#hello-world是一个特殊的Docker镜像,它被设计为Docker安装后的测试镜像。当你运行这个命令#时,Docker会从Docker Hub下载hello-world镜像(如果本地没有的话),并运行它。

#如果Docker安装正确,并且你的系统可以连接到Docker Hub,这个命令会输出一条欢迎消息,并#显示Docker的版本信息。如果出错 没关系,因为没有安装image,运行下面语句 有版本号返回就成功了

root@hecs-76136:~# docker --version

Docker version 27.3.1, build ce12230

root@hecs-76136:~#

sudo docker images  #查看镜像,有ID之类就是安装的,一行就是没安装,我这里就是没安装

root@hecs-76136:~# sudo docker images

REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

root@hecs-76136:~#

14.2 Docker Compose 安装

Docker Copose 是 Docker 官方支持的一个工具,用于定义和运行多容器 Docker 应用程序。它允许用户通过一个 YAML 文件(docker-compose.yml)来配置应用程序的服务,然后使用一个简单的命令 docker-compose up 来启动所有服务。

Docker Compose 是 Docker 生态系统的一部分,但它不是 Docker 的核心组件,需要单独安装

sudo apt-get update

sudo apt-get install -y docker-compose 

docker-compose --version

14.3 编译wvp docker

wvp使用的docker-compose.yml配置启动=》wvp/Dockfile的方式

yml方式需要使用Docker Compose

进入到/mnt/wvp28181pro/wvp-GB28181-pro/docker目录下 也就是docker-compose.yml所在目录

docker-compose up -d  #运行docker-compose.yml 这时会因为dockerhub网站在墙外的原因,导致提示网络某个链接 超时需要替换软件源

增加Docker的镜像源配置文件 /etc/docker/daemon.json

如果没有配置过镜像源该文件默认是不存在的

sudo vi /etc/docker/daemon.json

在其中增加如下内容注意url正确,且末尾不可有空格

{

"registry-mirrors": ["https://y0qd3iq.mirror.aliyuncs.com"]

}

重新加载 Docker 配置并重启 Docker 服务:

sudo systemctl daemon-reloadsudo

systemctl restart docker

3、查看配置是否生效

docker info|grep Mirrors -A 1

里因为网络问题失败了,目前我的云服务器 暂时没法搞这个,docker部署暂时不使用,后面会在更新

比较有用的网址参考

彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错-CSDN博客

在Ubuntu系统中安装Docker以及添加国内镜像源_ubuntu docker添加镜像源-CSDN博客

15:编译方式部署-守护进程

sudo vi /etc/systemd/system/wvp-pro.service#创建 systemd 服务文件

[Unit]
Description=WVP Service
After=network.target

[Service]
Type=forking
User=root
ExecStart=/usr/bin/java -jar /mnt/wvp28181pro/wvp-GB28181-pro/target/wvp-pro-2.7.3-11260736.jar
Restart=on-failure

[Install]
WantedBy=multi-user.target

systemctl daemon-reload

sudo systemctl enable wvp-pro.service #启用新创建的服务,使其在系统启动时自动运行

sudo systemctl start wvp-pro.service

sudo systemctl status wvp-pro.service

sudo vi /etc/systemd/system/wvp-zlm.service

[Unit]
Description=ZLMediaKit MediaServer Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/mnt/wvp28181pro/ZLMediaKit/release/linux/Debug
ExecStart=/mnt/wvp28181pro/ZLMediaKit/release/linux/Debug/MediaServer
Restart=on-failure

[Install]
WantedBy=multi-user.target

systemctl daemon-reload

sudo systemctl enable wvp-zlm.service

sudo systemctl start wvp-zlm.service

sudo systemctl status wvp-zlm.service

到此基本完成WVP和ZLM的部署,有些细节 我还在找,其他的部分,慢慢补充,有很需要的各位可以去 官网上 寻找支持,或者留言讨论。

部署wvp-gb28181-pro需要以下步骤: 1. 安装CentOS:首先需要安装CentOS操作系统,可以选择最新版本的CentOS 7或8。 2. 安装依赖库:在CentOS上安装wvp-gb28181-pro所需的依赖库,包括FFmpeg、OpenSSL、libxml2、libcurl、libevent、zlib、pcre等。可以使用以下命令安装: ```shell yum install -y epel-release yum install -y openssl-devel libxml2-devel libcurl-devel libevent-devel zlib-devel pcre-devel ``` 3. 下载wvp-gb28181-pro:从wvp-gb28181-pro的官方网站下载wvp-gb28181-pro的源码,解压缩到指定目录。 4. 编译wvp-gb28181-pro:在wvp-gb28181-pro的源码目录下执行以下命令编译: ```shell ./configure make make install ``` 这将会编译并安装wvp-gb28181-pro到系统中。 5. 配置wvp-gb28181-prowvp-gb28181-pro的配置文件位于/etc/wvp-gb28181-pro下,可以根据需要编辑配置文件。 6. 启动wvp-gb28181-pro:可以使用以下命令启动wvp-gb28181-pro: ```shell systemctl start wvp-gb28181-pro ``` 启动后可以使用以下命令查看wvp-gb28181-pro的状态: ```shell systemctl status wvp-gb28181-pro ``` 7. 配置防火墙:如果系统开启了防火墙,需要打开wvp-gb28181-pro所需的端口。可以使用以下命令开启端口: ```shell firewall-cmd --zone=public --add-port=5060/udp --permanent firewall-cmd --reload ``` 这将会开启5060端口,如果需要开启其他端口,请根据需要修改以上命令。 以上就是在CentOS上部署wvp-gb28181-pro的完整步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值