[运维] wvp-GB28181-pro+ZLMediaKit部署GB28181协议视频平台全流程(ubuntu2204)

梦醒贰零壹柒 2024-06-19 09:37:34 阅读 90

部署wvp

系统环境

系统版本ubuntu2204

安装相关工具

sudo apt update## 编译工具sudo apt install git openjdk-11-jdk tar vim cmake gcc g++ libsrtp2-dev libssl-dev## ffmepgsudo apt install ffmpeg

编译zlm

编译zlm

cd ~git clone https://gitee.com/xia-chu/ZLMediaKit.gitcd ZLMediaKitgit submodule update --init --recursivemkdir -p build release/linux/Release/cd build cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_WEBRTC=true -DENABLE_TESTS=false ..cmake --build . --target MediaServer

部署zlm

创建安装目录

mkdir -p /home/media/zlm 复制zlm启动文件到安装目录

# 进入zlm项目目录cd ~/ZLMediaKitcp -r release/linux/Release/* /home/media/zlm 创建开机启动脚本

vim /etc/systemd/system/zlm.service

将以下内容复制到vim编辑器

[Unit]Description=ZLMediaKit[Service]Environment="PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"ExecStart=/home/media/zlm/MediaServer -c /home/media/zlm/config.iniStandardOutput=null[Install]WantedBy=multi-user.target 启动zlm

# 设置开机启动systemctl enable zlm# 启动zlmsystemctl start zlm 其他

# 重启zlmsystemctl restart zlm# 停止zlmsystemctl stop zlm# 查看启动状态 systemctl status zlm

搭建wvp开发环境

安装maven

官网下载地址

cd ~wget https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gzmkdir apptar xf apache-maven-3.9.4-bin.tar.gzmv apache-maven-3.9.4 app/mavenecho "export PATH=~/app/maven/bin:\$PATH" >> ~/.bashrc## 环境变量生效source ~/.bashrc

安装nodejs

官网下载地址

cd ~wget https://nodejs.org/dist/v16.19.0/node-v16.19.0-linux-x64.tar.gztar xf node-v16.19.0-linux-x64.tar.gzmv node-v16.19.0-linux-x64 app/nodeecho "export PATH=~/app/node/bin:\$PATH" >> ~/.bashrc## 环境变量生效source ~/.bashrc

编译wvp

签出代码

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

编译前端

cd wvp-GB28181-pro/web_src# 下载依赖npm install --registry=https://registry.npmmirror.com# 编译npm run build

编译后端

cd ..mvn clean package -DskipTests

部署docker

curl -sfL https://get.rainbond.com/install_docker | bash

部署docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose

部署数据库和redis

创建安装目录

## 创建储存目录mkdir -p /home/media/mysqldata /home/media/redisdata 创建yml文件

cd /home/media/vim video.yml

将以下内容复制到vim编辑器中

version: "3.8"services: redis: image: redis:6.2-alpine restart: always environment: TZ: Asia/Shanghai ports: - 6379:6379 volumes: - /home/media/redisdata/data:/data - /home/media/redisdata/log:/logs command: redis-server --port 6379 --requirepass 12345678 --appendonly yes mysql: image: mysql:8 restart: always command: [ "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci", "--default-time-zone=+8:00", ] ports: - 3306:3306 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 12345678 SQL_MODE: "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" volumes: - /home/media/mysqldata/mysql:/var/lib/mysql:rw 启动数据库和redis

# 将镜像pull下来docker pull redis:6.2-alpinedocker pull mysql:8## 启动docker-compose -f video.yml -p wvp up -d

部署wvp

导入sql文件

## 进入wvp项目cd ~/wvp-GB28181-pro/## 复制mysql.sql、update.sql文件到mysql容器docker cp sql media-mysql-1:/tmp## 进入mysql容器docker exec -it media-mysql-1 bash## 登录数据库mysql -uroot -p12345678## 创建wvp数据库CREATE DATABASE `wvp` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创建安装目录

mkdir -p /home/media/wvp 复制jar文件和配置到安装目录

cd ~/wvp-GB28181-pro/# 复制java包安装目录cp target/wvp-pro-2.6.6-xxxxx.jar /home/media/wvp/wvp-pro.jar# 复制配置文件安装目录cp src/main/resources/all-application.yml /home/media/wvp/application.yml 创建开机启动文件

vim /etc/systemd/system/wvp.service

将以下内容复制到vim编辑器

[Unit]Description=wvp[Service]Environment="PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"ExecStart=/usr/bin/java -jar /home/media/wvp/wvp-pro.jar --spring.config.location=/home/media/wvp/application.ymlStandardOutput=null[Install]WantedBy=multi-user.target 启动wvp

# 设置开机启动systemctl enable wvp# 启动wvpsystemctl start wvp 其他

# 重启wvpsystemctl restart wvp# 停止wvpsystemctl stop wvp# 查看启动状态 systemctl status wvp

登录

登录地址

http://xxx.xxx.xxx.xxx:18080

用户名/密码:admin/admin

需要远程协助可私信我



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。