在CentOS7下部署ZLMediaKit
本文参考这位大神在CentOS6上的部署过程,在此感谢大神!
0.CentOS7版本
cat /etc/redhat-release
1.升级GCC
wget http://mirrors.nju.edu.cn/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz
tar -zxvf gcc-5.4.0.tar.gz
cd gcc-5.4.0
./contrib/download_prerequisites
cd ..
mkdir gcc-build-5.4.0
../gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#这一步耗时比较长,一两个小时
make
make install
#结束后重启一下
reboot
#使用gcc -v查看版本
gcc -v
2.安装CMAKE
2.1. 删除原来的cmake,有的话,没有就不用执行
yum remove cmake
2.2. 安装cmake
tar -zxvf cmake-3.10.0-rc4.tar.gz
mv ./cmake-3.10.0 ./cmake
cd cmake
./bootstrap
gmake
gmake install
#在gmake的时候报了一个GLBCXX_3.4.21 not found,执行以下操作,再次gmake
cp /usr/local/lib64/libstdc++.so.6.0.21 /lib64
cd /lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
vi ~/.bashrc
export PATH=$PATH:/usr/local/cmake/bin
source ~/.bashrc
#查看cmake版本
cmake -version
3.安装ffmpeg
#需要先安装yasm
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install
#安装ffmpeg
tar -zxvf ffmpeg-4.1.tar.xz
mv ./ffmpeg-4.1 ./ffmpeg
cd ffmpeg
./configure --enable-shared --prefix=/usr/local/ffmpeg
#make过程略长,十几分钟
make
make install
#修改/etc/ld.so.conf
vi /etc/ld.so.conf
#加入以下语句
/usr/local/ffmpeg/lib/
#保存退出
ldconfig
#加入bash
vi ~/.bashrc
export PATH=$PATH:/usr/local/cmake/bin:/usr/lobal/ffmpeg/bin
#保存退出
source ~/.bashrc
#查看ffmpeg版本
ffmpeg -version
4.其他依赖
4.1. mysql
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
#启动mysql
systemctl start mysqld.service
4.2. libx264-devel
#安装nasm
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
tar -jxvf nasm-2.14.02
./configure
make && make install
#安装x264
git clone https://code.videolan.org/git/x264.git
cd x264
./configure --enable-static --enable-shared
make && make install
#修改文件/etc/ld.so.conf,加入以下语句
vi /etc/ld.so.conf
/usr/local/x264
#保存退出
ldconfig
#如果这里不修改/etc/ld.so.conf的话,在运行ZLMediaKit的时候会报
#error while load shared libraries:libx264.s0.159
4.3. libmp4v2-devel
wget http://springdale.princeton.edu/data/pringdale/7/x86_64/os/Addons/Packages/libmp4v2-2.0.0-2.el7.x86_64.rpm
rpm -ivh libmp4v2-2.0.0-2.el7.x86_64.rpm
4.4. libfaac-devel(依赖libmp4v2,后安装)
wget https://download1.rpmfusion.org/nonfree/el/updates/7/x86_64/f/faac-1.28-7.el7.x86_64.rpm
wget https://download1.rpmfusion.org/nonfree/el/updates/7/x86_64/f/faac-devel-1.28-7.el7.x86_64.rpm
rpm -ivh faac*
5.编译ZLMediaKit
编译之前需要将c和c++指定5.4,要么编译之前检测到的版本还是4.8.5
export C=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++
#git速度慢的话,可以去码云上拉取
git clone https://github.com/xiongziliang/ZLMediaKit.git
#修改build_for_linux.sh脚本,将里面需要的依赖注释掉,上面已经安装好了
./build_for_linux.sh
#等待编译完成,运行MediaServer
./linux_build/bin/MediaServer
6.总结
在编译的过程中发现了两个错:
1、c/c++编译版本还是4.8.5;
2、error while load shared libraries:libx264.s0.159;
按照上面的步骤即可解决。