BigBlueButton服务列表

BigBlueButton由许多开源的服务组成,看似很麻烦,实际上拆分开每一个服务就很简单了,组件化平台化。
究竟BBB都用到了哪些开源服务?
我们来列举一下,名称均带有对应官网链接。
1、Ubuntu乌班图操作系统,友好的用户交互界面;
2、Flex SDK,高效构建Web应用程序,基于所有浏览器的开源框架,AS3编写客户端软件的SDK;
3、Ghostscript文档转换;
4、Grails开源Web框架;
5、ActiveMQ(官网有介绍,但未发现使用位置);
6、Image Magick,图像设计处理工具;
7、MySQL,开源数据库;
8、NGINX,"engine x"提供HTTP服务;
9、Red5,Java编写的Flash服务,类比FMS;
10、SWF Tools,阅读swf文件工具;
11、Tomcat,不知它妄为程序猿;
12、Open Office,文字处理,表格演示,图形,数据库的开源办公软件;
13、FreeSwitch,语音处理交换平台;
14、Redis,内存数据库;
15、popcorn.js,h5多媒体框架。

BigBlueButton服务主要目录结构

1. nginx的配置文件在/etc/nginx/sites-enabled/bigbluebutton

2. 网站目录一般在/var/www/bigbluebutton-default

3. 网站客户端的配置目录一般在/var/www/bigbluebutton/client下,其中的client/conf/config.xml有各个模块的配置

4. 网站日志目录一般在/var/log/nginx/bigbluebutton.access.log和/var/log/nginx/error.log

5. Red5(java的流媒体开源)配置文件在/usr/share/red5/中

6. tomcat配置文件在/var/lib/tomcat6/webapps/bigbluebutton

7. FreeSWITCH(电话软交换机)配置文件在/opt/freeswitch/conf/vars.xml

8. 记录和回放目录/usr/local/bigbluebutton/

9. app的一些中间文件存储在/var/bigbluebutton

10. video记录存储在/usr/share/red5/webapps/video/streams/

11. freeSWITCH记录存储在/var/freeswitch/meetings/

BigBlueButton执行过程和原理

1. bbb服务器nginx默认监听80端口

2. /etc/nginx/nginx.conf会包含/etc/nginx/sites-enabled/*以及/etc/bigbluebutton/nginx/*.conf的配置,通过nginx进行反向代理。

3. /etc/nginx/sites-enabled/bigbluebutton会链接到/etc/nginx/sites-available/bigbluebutton配置文件

4. /etc/nginx/sites-available/bigbluebutton配置了关于bbb的server配置,其中默认“/”会直接访问/var/www/bigbluebutton-default网站目录;并且包含了/etc/bigbluebutton/nginx/*.nginx配置

5. 符合通配的第一个配置文件/etc/bigbluebutton/nginx/client.nginx会链接到/etc/bigbluebutton/nginx/client,指明了"/client"会直接访问/var/www/bigbluebutton

6. 如果是开发client则/etc/bigbluebutton/nginx/client.nginx会链接到/etc/bigbluebutton/nginx/client_dev,它会指明"/client"会直接访问/home/firstuser/dev/bigbluebutton/bigbluebutton-client

7. 符合通配的第二个配置文件/etc/bigbluebutton/nginx/web.nginx会链接到/etc/bigbluebutton/nginx/web,指明了"/bigbluebutton"会访问http://127.0.0.1:8080

8. 8080端口被tomcat监听

9. /var/lib/tomcat6/conf链接到/etc/tomcat6/,/etc/tomcat6/server.xml指明了port="8080",appBase="webapps"也就是app的目录

10. 在/var/lib/tomcat6/webapps中部署了BigBlueButton的webapp,里面有bigbluebutton.war

其他功能:桌面分享、webrtc、视频等服务同理,通过nginx反向代理进行访问。参考2.中的配置文件。

BBB服务器配置文件和日志文件:tomcat\red5-webapps    sip\bigbluebutton
其中配置使用方法及说明详见文件内容,均带有说明;
bbb:文件和对应的目录位置。
    版本:/etc/bigbluebutton/bigbluebutton-release
    conf:/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties
    flash:/var/www/bigbluebutton/
    conf-all:/var/www/bigbluebutton/client/conf/config.xml
    log-red5:/usr/share/red5/log/bigbluebutton.log
    log:/var/log/bigbluebutton/
    access/events/messages日志:/usr/share/red5/log/
nginx:
    conf: /etc/nginx/sites-available/bigbluebutton
    使用: /etc/nginx/sites-available/default
    bbb相关: /etc/bigbluebutton/nginx/
    access: /var/log/nginx/access.log
    bbb日志: /var/log/nginx/bigbluebutton.access.log
    错误日志: /var/log/nginx/error.log
red5:
    conf:/usr/share/red5/conf/red5-core.xml
    bbb模块:/usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties  备注:需重点关注
    sip模块:/usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.sip.properties 包含对freeswitch、redis的配置
    日志:存放在share目录下,而不是log目录
    共享桌面日志: /usr/share/red5/log/deskshare.log
    sip日志:/usr/share/red5/log/sip.log
    video日志:/usr/share/red5/log/video.log 非常有用!
    red5.log:/usr/share/red5/log/red5.log
    error.log:/usr/share/red5/log/error.log
    deskshare-slf.log: /usr/share/red5/log/deskshare-slf.log
tomcat7:
    conf:/etc/tomcat7/server.xml
    log:/var/log/tomcat7/
redis:
    redis.conf\sentinel.conf:/etc/redis/
    redis-server:/etc/default/redis-server
    bbb-redis:/usr/share/red5/webapps/bigbluebutton/WEB-INF/bbb-redis-xxx.xml(messing\pool\recorder)
    bbb-redis:/usr/share/red5/webapps/sip/WEB-INF/bbb-redis-xxx.xml(messing\pool)
    bbb-redis:/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/spring/bbb-redis-xxx.xml(messing\pool)
    properties:/usr/share/red5/webapps/bigbluebutton/WEB-INF/classes/redis.properties
    log:/var/log/redis/redis-server.log
freeswitch:
    vars.xml\conference.conf.xml\public.xml:/opt/freeswitch/conf/vars.xml
Asterisk(sip server):python\perl
    asterisk.xml:/usr/share/kde4/apps/katepart/syntax/asterisk.xml
    sip.nginx:/etc/bigbluebutton/nginx/sip.nginx
    sip:/usr/share/red5/webapps/sip/
    sip.js:/var/www/bigbluebutton/client/lib
    bbb_webrtc_bridge_sip.js:/var/www/bigbluebutton/client/lib
icecast:
    red5存在配置,目前未发现有使用
ffmpeg:
    location:/usr/local/share/ffmpeg/
    doc:/usr/local/share/doc/ffmpeg/
    src:/usr/local/src/ffmpeg-xxx/

启用/禁用webrt相关配置文件:

1) /opt/freeswitch/conf/vars.xml

2) /usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties

3) /var/www/bigbluebutton/client/conf/config.xml

4) /opt/freeswitch/conf/sip_profiles/external.xml

5)  /etc/bigbluebutton/nginx/sip.nginx

更换主机或IP,包括端口:

1) /var/ww/bigbluebutton/client/conf/config.xml

2)  /etc/nginx/sites-available/bigbluebutton

3)  /var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties

4)  /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml

5)  /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp

6)  /var/www/bigbluebutton/check/conf/config.xml

其中5),6)若不安装bbb-demo和bbb-check,是不存在的。

注:更换主机或IP,可通过命令:sudo bbb-conf --setip <hostname or ip >完成。

但若更换端口,请手动更改。

Bigbluebutton服务执行过程及相关配置文件的更多相关文章

  1. 详细分析SQL语句逻辑执行过程和相关语法

    本文目录: 1.SQL语句的逻辑处理顺序 1.2 各数据库系统的语句逻辑处理顺序 1.2.1 SQL Server和Oracle的逻辑执行顺序 1.2.2 MariaDB的逻辑执行顺序 1.2.3 M ...

  2. WCF的执行过程

    既然是实现互通信.那么肯定会有概念意义上的服务端Server  和概念意义上的客户端 Client,在这里,我所说明的都是概念意义上的,单独强调此,是因为,基于WCF的通信没有物理上的划分,但是概念上 ...

  3. HTTPS静态服务搭建过程详解

    HTTPS服务对于一个前端开发者来说是一个天天打招呼的老伙计了,但是之前我跟HTTPS打交道的场景一直是抓包,自己没有亲自搭建过HTTPS服务,对HTTPS的底层知识也是一知半解.最近正好遇到一个用户 ...

  4. SpringCloud系列九:SpringCloudConfig 基础配置(SpringCloudConfig 的基本概念、配置 SpringCloudConfig 服务端、抓取配置文件信息、客户端使用 SpringCloudConfig 进行配置、单仓库目录匹配、应用仓库自动选择、仓库匹配模式)

    1.概念:SpringCloudConfig 基础配置 2.具体内容 通过名词就可以发现,SpringCloudConfig 核心作用一定就在于进行配置文件的管理上.也就是说为了更好的进行所有微服务的 ...

  5. Dubbo系列之服务暴露过程

    点赞再看,养成习惯,微信搜一搜[三太子敖丙]关注这个喜欢写情怀的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系 ...

  6. 《Duubo系列》-Dubbo服务暴露过程

    我今天来就带大家看看 Dubbo 服务暴露过程,这个过程在 Dubbo 中其实是很核心的过程之一,关乎到你的 Provider 如何能被 Consumer 得知并调用. 今天还是会进行源码解析,毕竟我 ...

  7. 小觑数据库(SqlServer)查询语句执行过程

    近年来,越来越多的NoSql产品不断的以技术革命的者的身份跳出来:“你看哥是多么的快,你们关型型数据库真是战五渣阿”.是的,高性能的场景下NoSql真的很出彩.而我们关系型数据库只能在墙角哭泣&quo ...

  8. Struts2执行过程解析

    说到Struts2执行过程就少不了一张图: 1 客户端初始化一个指向Servlet容器的请求: 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextClea ...

  9. 通过搭建一个精简的C语言开发环境了解一个C程序的执行过程

    一.如何搭建一个精简的C语言开发环境 准备:下载TC2.0,并解压,比如说“d:\tc2.0\tc”目录 1.在C盘建立一个目录minic c:\ md minic 2.从解压的目录中将以下文件拷贝到 ...

随机推荐

  1. NHibernate3快速上手教程FluentNHibernate配置与DBHelper(已过期,有更好的)

    很多学习NHibernate的新手很容易卡在配置文件这一关,正所谓万事开头难,上手后再配合官方文档就比较容易了. 网上关于配置文件的资料非常多,但由于版本的问题,许多老的教程中都没有明确指出类库的版本 ...

  2. Python版本切换和Pip安装

    Python版本切换 现在常用的linux系统中都会默认携带python运行环境,在ubuntu 16.04 和centos 7.3中携带有Python 2.7 和Python3.5两个版本, 默认使 ...

  3. 从零开始的Python学习Episode 2——运算符与while循环

    一.算术运算符 加法:+,减法:-,乘法*,除法/,整除(地板除)//,取余%,乘方**.  二.逻辑运算符 且:and,或:or,非:not 优先级:not>and>or 短路原则: 对 ...

  4. CryptoZombies学习笔记——Lesson3

    第三课就开始深入讲解solidity编程技巧了. chapter1: 智能合约的不变性. 合约一旦部署到以太坊后,就不可更改了,所以从一方面来说,智能合约代码的安全性是如此重要,因为一旦发现你的代码里 ...

  5. STM32单片机是如何启动的?

    STM32单片机是如何启动的? STM32中的内存 STM32中的内存包含两块主要区域:flash memory(只读).static ram memory(SRAM,读写).其中,flash mem ...

  6. 20145214 《Java程序设计》第9周学习总结

    20145214 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联机数据库的标准规范.它定 ...

  7. scrapy(1)——scrapy介绍

    Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中.所谓网络爬虫,就是一个在网上到处或定向抓取数据的程序,当然,这种说 ...

  8. PMS

    "通讯录--PMS"功能介绍及界面展示 首先是我们的登陆界面,以绿色为基调,配以繁星组成的星阵图,寓意为"散是满天星",希望每一位同学能在各自的生活中闪耀. 当 ...

  9. lintcode-151-买卖股票的最佳时机 III

    151-买卖股票的最佳时机 III 假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格.设计一个算法来找到最大的利润.你最多可以完成两笔交易. 注意事项 你不可以同时参与多笔交易(你必须在 ...

  10. Delphi DBGrid双击事件、单元格操作

    1.得到当前格子中的内容:DBGrid1.Fields[DBGrid1.SelectedIndex].DisplayText;把DBGrid1.SelectedIndex改为你所希望引用的字段就可以了 ...