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 >完成。
但若更換端口,請手動更改。
