• 【教程】部署apprtc服务中安装google-cloud-cli组件的问题及解决


    #0# 前置条件
    已经安装完成node,grunt,node 组件和python pip包等。需要安装google-cloud-cli组件。

    Ubuntu安装google-cloud-cli组件

    apprtc项目运行需要google-cloud-cli前置组件,且运行其中的dev_appserver.py。
    根据google官方的关于安装gcloud cli的说明:https://cloud.google.com/sdk/docs/install?hl=zh-cn。
    可以通过apt命令直接安装这两个组件,分别是:

    sudo apt install google-cloud-cli
    sudo apt install google-cloud-cli-app-engine-python
    
    • 1
    • 2

    过程中apt命令访问google组件库失败,需要借助代理,在只需在正常的apt-get install命令前加上代理参数即可,如:sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:8087" install google-cloud-cli
    然而即便如此,最终在apptrc项目下执行python3 /snap/google-cloud-cli/165/bin/dev_appserver.py /out/app_engine报错。

    ERROR: (dev_appserver) You cannot perform this action because this Google Cloud CLI installation is managed by an external package manager.
    
    • 1

    因此尝试从源码安装google-cli。不依赖apt包管理工具/snap包安装工具。此时需要先卸载原来安装的google-cloud-cli:sudo apt remove google-cloud-cli。及sudo snap remove google-cloud-cli
    根据官方指导,得到安装步骤如下(本机是64位linux,不同版本的命令不同,详见 安装 gcloud CLI):

    cd ~/Desktop
    wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-444.0.0-linux-x86_64.tar.gz  # 可通过-e参数指定代理:-e "http_proxy=http://127.0.0.1:8087"
    tar -xf google-cloud-cli-444.0.0-linux-x86_64.tar.gz
    sudo ./google-cloud-sdk/install.sh
    ./google-cloud-sdk/bin/gcloud init --skip-diagnostics
    ./google-cloud-sdk/bin/gcloud components install app-engine-python
    # 如上命令执行后 dev_appserver.py 正常情况下应该就在google-cloud-sdk文件夹的bin目录下
    cd apprtc
    # 注意这里要打开一个新的终端以使之前的更改生效
    python3 google-cloud-sdk/bin/dev_appserver.py /out/app_engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    最终成功运行起apprtc项目

    在这里插入图片描述

    访问 http://127.0.0.1:8080 可以看到聊天室:
    在这里插入图片描述

    Docker部署

    因为网络问题,从项目中的Dockerfile构建镜像失败。在apk add命令处执行出现问题。决定从Docker Hub官方pull一个镜像并部署。
    下载量最高的是4年前的一个镜像

    docker pull piasy/apprtc-server
    docker run --rm --net=host \
      -e PUBLIC_IP=127.0.0.1 \
      -it piasy/apprtc-server
    
    • 1
    • 2
    • 3
    • 4

    命令行输出结果如下图所示:
    在这里插入图片描述
    可以在网页中访问 http://127.0.0.1:8080。进入到apprtc聊天室。
    当两个人(此处由两个浏览器表示)进入到同一间聊天室,即可进行通话(未测试更多人的情况),如下图所示:
    在这里插入图片描述
    更详细的代码和webrtc工作原理有待后续分析。

  • 相关阅读:
    SpringBoot大文件上传实现分片、断点续传
    python中的集合详解
    面试进阶双飞,Alibaba新产SpringBoot深度历险(嵩山版)开源
    寄存器介绍
    C++并发与多线程(4) | 传递临时对象作为线程参数的一些问题Ⅰ
    餐饮冷库安全守护神:可燃气体报警器检定的科学性与有效性
    linux:需要注意docker和aws的rds的mysql默认是UTC而不是中国时区
    人体内数量最多的神经元,人体内有多少个神经元
    Android技术分享| 视频通话开发流程(一)
    【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码
  • 原文地址:https://blog.csdn.net/dive668/article/details/132568714