linux下部署WVP+ZLMediaKit服务实现获取GB28181视频(使用nginx、docker)

linux下打包wvp和ZLMediaKit的文章很多,这里不再叙述。

WVP后端可以先在idea开发工具中配置好参数,然后打包成jar文件,再用docker去跑服务,又或者使用命令直接运行

java -jar wvp.jar   

WVP的前端则可以导出html后,放到nginx中运行

ZLMediaKit在编译完后,可以通过命令行运行

直接运行
./MediaServer

后台运行
nohup ./MediaServer

下面详细展开说一下注意事项

WVP前端

1、通过开发工具可以将web_src目录下的文件导出成html,放到指定的目录

例如这里放的目录位置是

/home/kwb/dist

2、 然后找到nginx所在的文件目录,找到配置文件nginx.conf

在里面添加配置,注意这个需要添加在http块下添加

server {
    listen 8080;
    # gzip config
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

    root /home/kwb/dist;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
      resolver 8.8.8.8;
      proxy_pass http://192.168.3.111:18080;
      proxy_set_header   X-Forwarded-Proto $scheme;
      proxy_set_header   X-Real-IP         $remote_addr;
    }
}

这里配置需要注意的地方有3个,其他参数可以不改

listen是监控的端口,这里跟前端config下的index.js里面的port参数一致

root配置前端放的位置

proxy_pass是后端接口的地址

3、在浏览器访问服务器的ip加端口,即可访问,如果成功,会跳到登录界面

http://192.168.3.111:8080

WVP后端

直接用java命令跑jar可以,但是不利于管理,所以这里介绍的是将后端打包成docker去跑

1、修改配置文件

因为docker是一个独立的容器,不能直接用服务器ip访问,所以在达成jar之前,需要修改sip.ip的参数,按照说明,使用0.0.0.0即可

# 作为28181服务器的配置
sip:
  # [必须修改] 本机的IP,对应你的网卡,监听什么ip就是使用什么网卡,
  # 如果要监听多张网卡,可以使用逗号分隔多个IP, 例如: 192.168.1.4,10.0.0.4
  # 如果不明白,就使用0.0.0.0,大部分情况都是可以的
  # 请不要使用127.0.0.1,任何包括localhost在内的域名都是不可以的。
  ip: 0.0.0.0
  # [可选] 28181服务监听的端口
  port: 5060

2、将后端生成jar包,并通过java命令先测试jar是否能正常运行,确认无误后,添加到指定的目录,例如我这里放到的是/home/kwb/wvpdocker目录下

3、在同目录下创建Dockerfile,用于生成docker文件

vim Dockerfile
FROM openjdk:11
  
COPY wvp.jar /app/wvp.jar

EXPOSE 18080/tcp

EXPOSE 5060/tcp
EXPOSE 5060/udp


CMD ["java","-jar","/app/wvp.jar"]

from这里是构建的jdk版本,可以换成其他的版本,例如jdk8

copy是将wvp复制到docker镜像里面

expose的3个端口,是需要映射到外面供其他服务调用的,其中5060需要tcp和udp

cmd是运行docker镜像后在镜像内自动执行的命令

4、创建docker镜像,执行build命令后,会自动根据当前目录下的Dockerfile去处理

#-t后面跟的是镜像名,冒号后面的0.1是自定义的版本号,最后“.”不能少
docker build -t wvp:0.1 .

5、等待镜像创建,如果正常创建成功,会提示

然后通过命令查看镜像

docker images

 6、启动容器

#多个映射的端口需要用多个-p,name后面跟的是服务名可以自定义,服务名后面的是对应的镜像名和版本号
docker run -d -it -p 5060:5060 -p 5060:5060/udp -p 18080:18080  --name wvp wvp:0.1

在命令启动容器后,可能不会自动运行,那么就需要再次启动,可以通过命令确认,这个命令只会显示已在运行的docker服务

docker ps

如果没有看到wvp服务,那就表示没有启动,这时候就需要查看docker容器

docker ps -a

 如果没有启动,status会是Exited状态,因为我这里是已经正常启动,所以是up状态。而且会看到映射端口的参数已经自动加上

最后启动容器

#docker start 容器id
docker start xxxxx

如果要确认服务是否正常,可以通过查看日志

#docker logs -f 容器id,-f是持续输出的意思
docker logs -f xxxxx

ZLMediaKit服务

ZLMediaKit服务编译后,就会有可以直接运行的文件,直接执行即可

直接运行
./MediaServer

后台运行
nohup ./MediaServer

如果使用nohup命令后,没有指定日志的名字,那么会在同目录自动生成一个nohup.out的日志文件,这个文件会记录运行日志,如果占用的空间太大,可以自行手动删除

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值