超详细的linux环境安装部署easydarwin流媒体服务器教程
概述
EasyDarWin服务器是流媒体服务器,其实主要就是为了做直播用的,因为之前项目需要,也研究搭建过,如果你想搭建该服务器我觉得你应该也知道这是什么,干什么用的,我也就不说它的作用了。网上关于EasyDarWin官网配置视频资料文档一大堆,眼花缭乱,配置和他们的步骤一样,可是过程中的结果完全是不同的,下面介绍下我的搭建过程,基于ubuntu14.04系统。
一、安装环境
查看 Ubuntu 的版本号:
#sudo lsb_release -a
gcc 版本查看:
#gcc -v
ubuntu14.04 自带的是4.8版本,而最新的4.9.2对c++11的支持更好一些。可惜直接sudo apt-get install gcc-4.9不好用,所以可以这样安装更新:
<span data-wiz-span="data-wiz-span" style="font-family: 微软雅黑; font-size: 1rem;">sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.9 sudo apt-get install g++-4.9
装了ppa,各种版本就可以共存了。不过有一个问题,每次要用的时候,必须使用g++-4.9,如果直接用g++会运行4.8版本的,非常麻烦。所以需要改一下/usr/bin/下的链接:
sudo su cd /usr/bin ln -s /usr/bin/g++-4.9 /usr/bin/g++ -f ln -s /usr/bin/gcc-4.9 /usr/bin/gcc -f
二、编译、安装
下载目录:/usr/local
#wget https://github.com/EasyDarwin/EasyDarwin/archive/v7.0.5.zip
解压
#unzip v7.0.5.zip
编译
cd EasyDarwin-7.0.5/EasyDarwin/ chmod +x ./Buildit ./Buildit (这里会出现86、64、debug三个版本) ./Buildit x64 (选择64位进行编译)
编译错误:
/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
原因:由于gcc 版本太低,建议升级为4.9以上,经过测试5.3版本的库是最新的,但是兼容不了,所以推荐版本在大于4.9小于5.3版本。
./easydarwin: relocation error: ./easydarwin: symbol _ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
编译完成后,出现可执行文件在X64文件夹下面
root@ubuntu:/usr/local/EasyDarwin-7.0.5/EasyDarwin# cd x64/ root@ubuntu:/usr/local/EasyDarwin-7.0.5/EasyDarwin/x64# ll total 2376 drwxr-xr-x 2 root root 4096 Oct 25 19:43 ./ drwxr-xr-x 17 root root 4096 Oct 25 19:43 ../ -rwxr-xr-x 1 root root 2424068 Oct 25 19:43 easydarwin*
在x64目录下执行:复制html文件夹到当前文件夹(x64)下面
cp ../WinNTSupport/html/ ./ -r cp ../WinNTSupport/Movies/ ./ -r
三、整理文件
复制x64文件内容到指定文件夹并重命名x64为EasyDarwin
复制配置文件到easydarwin目录下
四、启动easydarwin:
root@ubuntu:/usr/local/EasyDarwin# ./easydarwin -c /usr/local/EasyDarwin/easydarwin.xml -d WARNING: No module folder exists. INFO: Loading Module...QTSSFileModule [static] INFO: Loading Module...QTSSReflectorModule [static] INFO: Loading Module...EasyRelayModule [static] **********************EasyPusher SDK********************** /* Platform: Linux */ /* Process Name[10]: easydarwin */ /* Coding Time: 2016-03-21 01:00:00 */ /* Start Time: 2016-03-24 17:00:00 */ /* Validity Time Left: 00000000 day(s) */ ********************************************************** ******************EasyRTSPClient SDK********************** /* Platform: Linux */ /* Process Name[10]: easydarwin */ /* Coding Time: 2016-04-11 19:00:00 */ /* Start Time: 2016-05-03 17:00:00 */ /* Validity Time Left: 00000000 day(s) */ ********************************************************** INFO: Loading Module...EasyHLSModule [static] **********************EasyHLS SDK************************* /* Platform: Linux */ /* Process Name[10]: easydarwin */ /* Coding Time: 2016-03-21 01:00:00 */ /* Start Time: 2016-03-27 17:00:00 */ /* Validity Time Left: 00000000 day(s) */ ********************************************************** INFO: Loading Module...QTSSAccessLogModule [static] INFO: Loading Module...QTSSFlowControlModule [static] INFO: Loading Module...QTSSPosixFileSysModule [static] INFO: Loading Module...QTSSAdminModule [static] INFO: Loading Module...QTSSAccessModule [static] Streaming Server done starting up
已经成功开启运行
五、测试
浏览器输入:
http://外网IP地址:8088/
密码:admin/admin
出现以上界面表示配置成功!
easydarwin还有很多功能,大家感兴趣的话也可以自己研究下,虽然后面我们项目并不是采用这套方案,不过研究下也是有点帮助的!后面会分享更多devops和DBA方面的干货,感兴趣的朋友可以关注一下~