使用Nginx架设高性能流媒体服务器
前言* 随着Nginx 大量被各互联网公司使用,常见的Nginx 用来做反向代理WEB 服务器、缓存服务器,nginx 应用很广泛,今天我们来研究一下使用Nginx架设高性能流媒体服务器 。
一、 系统环境
系统版本:CentOS 5.8x86_64 Nginx版本: Nginx-1.4.2.tar.gz Yamdi版本:Yamdi-1.9.tar.gz
二、 自动化安装
Linux 采用自动化安装非常便捷,快速,而且这也每个Linux SA 必须掌握的,直接上代码,欢迎大家提更好的意见,让脚本更有实用性。
#!/bin/sh
#Auto Make Install Nginx FLV MP4 Server
#系统版本:CentOS 5.8 x86_64
#Nginx版本: Nginx-1.4.2.tar.gz
#Yamdi版本:Yamdi-1.9.tar.gz
#Define Path
SRC_DIR=/usr/src
NGX_DIR=/usr/local/nginx/
CODE=0
SOFT_URL=(
http://nginx.org/download/nginx-1.4.2.tar.gz
http://downloads.sourceforge.net/project/yamdi/yamdi/1.9/yamdi-1.9.tar.gz
http://chinaapp-wordpress.stor.sinaapp.com/uploads/2013/08/player.swf
)
if
[ $UID -ne $CODE ];then
echo "Must to be use Root Exec Shell ......"
exit 0
fi
for i in `echo ${SOFT_URL[0]} ${SOFT_URL[1]} ${SOFT_URL[2]} `
do
cd $SRC_DIR ;wget $i
if
[ "$?" == "$CODE" ];then
echo "---------The $i Soft Download Success ! "
else
echo "---------The $i Soft Download Success ! "
fi
done
#Nginx install Include Flv Mp4
cd $SRC_DIR ; tar -xzf nginx-1.4.2.tar.gz ;cd nginx-1.4.2 && ./configure --prefix=/usr/local/nginx --with-http_gzip_static_module --with-http_stub_status_module --with-http_flv_module --with-http_mp4_module && make &&make install
if
[ "$?" == "$CODE" ];then
echo "The Nginx Make install Success ! "
else
echo "The Nginx Make install Failed ! "
fi
#Install Yamdi Tools
cd $SRC_DIR ; tar -xzf yamdi-1.9.tar.gz ;cd yamdi-1.9/ &&make &&make install
#Config Nginx Service And Flv
cp wugk.mp4 player.swf /usr/local/nginx/html/
/usr/local/bin/yamdi -i 51cto.mp4 -o wugk.mp4
grep -E "(flv|mp4)" $NGX_DIR/conf/nginx.conf
[ $? -eq $CODE ]&&sed -i '46c \\tlocation ~ \.flv$ {\n\tflv;\n\t}\n\tlocation ~ \.mp4$ {\n\tmp4;\n\t}' /usr/local/nginx/conf/nginx.conf
#start Nginx service
$NGX_DIR/sbin/nginx -t
[ $? -eq $CODE ]&&/usr/local/nginx/sbin/nginx
IP=`ifconfig eth0|grep "Bcast" |awk -F":" '{print $2}'|cut -d" " -f 1`
echo "All Config Successful , You Can Use http://$IP/player.swf?type=http&file=wugk.mp4 to access nginx flv server !!"
exit 1
三、测试验证
(1)、脚本执行效果:
(2)、视频访问效果: