【教程】部署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

过程中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.

因此尝试从源码安装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

最终成功运行起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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/95467.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis——MyBatis插件原理

摘要 本博文主要介绍MyBatis插件机原理,帮助大家更好的理解和学习MyBatis。 一、插件机制概述 MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括: Executor (update, que…

深度学习推荐系统(五)DeepCrossing模型及其在Criteo数据集上的应用

深度学习推荐系统(五)Deep&Crossing模型及其在Criteo数据集上的应用 在2016年, 随着微软的Deep Crossing, 谷歌的Wide&Deep以及FNN、PNN等一大批优秀的深度学习模型被提出, 推荐系统全面进入了深度学习时代, 时至今日&am…

排序算法学习

总体概况 参考自:https://github.com/hustcc/JS-Sorting-Algorithm 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大&#xff0c…

实训笔记8.30

实训笔记8.30 8.30笔记一、项目开发流程一共分为七个阶段1.1 数据产生阶段1.2 数据采集存储阶段1.3 数据清洗预处理阶段1.4 数据统计分析阶段1.5 数据迁移导出阶段1.6 数据可视化阶段 二、项目数据清洗预处理的实现2.1 清洗预处理规则2.2 代码实现 三、项目的数据统计分析阶段3…

C++面试题(丝)-计算机网络部分(1)

目录 1计算机网络 53 简述epoll和select的区别,epoll为什么高效? 54 说说多路IO复用技术有哪些,区别是什么? 55 简述socket中select,epoll的使用场景和区别,epoll水平触发与边缘触发的区别?…

解决npm install报错: No module named gyp

今天运行一个以前vue项目,启动时报错如下: ERROR Failed to compile with 1 error上午10:19:33 error in ./src/App.vue?vue&typestyle&index0&langscss& Syntax Error: Error: Missing binding D:\javacode\Springboot-MiMall-RSA\V…

elasticSearch+kibana+logstash+filebeat集群改成https认证

文章目录 一、生成相关证书二、配置elasticSearh三、配置kibana四、配置logstash五、配置filebeat六、连接https es的java api 一、生成相关证书 ps:主节点操作 切换用户:su es 进入目录:cd /home/es/elasticsearch-7.6.2 创建文件&#x…

MariaDB数据库服务器

目录 一、什么是数据库? 二、什么是关系型数据库? 三、数据库字符集和排序规则是什么? 四、常用数据类型 五、Mariadb数据库相关配置案例 一、什么是数据库? 数据库(DB)是以一定方式长期存储在计算机硬盘内…

docker 安装 Nginx

1、下载 docker pull nginx:latest 2、本地创建管理目录 mkdir -p /var/docker/nginx/conf mkdir -p /var/docker/nginx/log mkdir -p /var/docker/nginx/html 3、将容器中的相应文件复制到管理目录中 /usr/docker/nginx docker run --name nginx -p 80:80 -d nginxdocke…

【一对一学习小组】2023年有三AI-CV高阶-项目实战组发布,超过30个案例,60小时项目实战+2大基础方向专栏+3本书赠送...

2023年有三AI-CV高阶-项目实战组正式发布!有三AI已经推出了CV初-中-高级培养计划(原名有三AI-CV季划),这是我们的终身计算机视觉学习小组。 该培养计划具有以下特点: 【系统性】配套有非常完备的理论与实践 【永久性】…

SpringBoot + layui 框架实现一周免登陆功能

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

二进制安全虚拟机Protostar靶场 安装,基础知识讲解,破解STACK ZERO

简介 pwn是ctf比赛的方向之一,也是门槛最高的,学pwn前需要很多知识,这里建议先去在某宝上买一本汇编语言第四版,看完之后学一下python和c语言,python推荐看油管FreeCodeCamp的教程,c语言也是 pwn题目大部…