> CentOS > CentOS服务器 > 环境配置 >

CentOS 6.2下安装并配置Red5流媒体服务器

CentOS 6.2下安装并配置Red5流媒体服务器
环境说明
操作系统 CentOS 6.2
JDK SUN JDK 1.6.2
Red5 Red5 0.9.1final
 
 
步骤1
卸载自带的OpenJDK,具体方法,百度上有很多。建议使用yum –y remove方式
 
步骤2
安装Sun JDK1.6,具体方法,百度上有很多
 
步骤3
安装Red5(重点)
 
1、下载red5并解压到/usr/local/red5目录
2、测试Red5
cd /usr/local/red5
./red5.sh
如果最后一行显示:Installer service created,则说明安装成功了。此时可ctrl+c退出red5状态监测。
如果需要将Red5服务配置成系统服务(并可以设置在开机启动或手动启动)
3、编辑启动脚本
按i键,在insert模式下,将以下内容粘贴进去。ESC,shift+ZZ保存退出。也可直接下载以下内容的txt文档,以免因格式造成错误。http://www.sohailriaz.com/downloads/red5.txt
提示:直接下载的red5.txt放到/etc/init.d/中时,去掉扩展名,并且内容上需要添加几句代码
最重要的是export JAVA_HOME=JDK的具体目录
vi /etc/init.d/red5
 
#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5
# Created By: Yulijia (yu_lijia@163.com)
 
PROG=red5
RED5_HOME=/usr/local/red5
TOSTART=$RED5_HOME/$PROG.sh
TOSTOP=$RED5_HOME/red5-shutdown.sh
PIDFILE=/var/run/$PROG.pid
JAVA_HOME=/usr/java/jdk1.6.0_32
 
# Source function library
. /etc/rc.d/init.d/functions
 
[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5
 
RETVAL=0
export JAVA_HOME=$JAVA_HOME
case "$1" in
   start)
   echo -n $"Starting $PROG: "
   cd $RED5_HOME
   $TOSTART >/dev/null 2>/dev/null &
   RETVAL=$?
   if [ $RETVAL -eq 0 ]; then
      echo $! > $PIDFILE
      touch /var/lock/subsys/$PROG
   fi
   [ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
   echo
   ;;
   stop)
   echo -n $"Shutting down $PROG: " 
   cd $RED5_HOME
   #$TOSTOP >/dev/null 2>/dev/null &  
   killproc -p $PIDFILE
   RETVAL=$?
   if [ $RETVAL -eq 0 ]; then
      rm -f /var/lock/subsys/$PROG
   fi
   [ $RETVAL -eq 0 ] && success $"$PROG stop" || failure $"$PROG stop"
   echo
   ;;
   restart)
   $0 stop
   $0 start
   ;;
   status)
   status $PROG -p $PIDFILE
   RETVAL=$?
   ;;
   *)
   echo $"Usage: $0 {start|stop|restart|status}"
   RETVAL=1
esac
 
exit $RETVAL
注意:
需要对/etc/init.d/functions进行授权
chmod +x /etc/init.d/functions
否则killproc函数无法识别,将导致无法停止red5服务
其它的需要授权的操作
chmod +x /etc/rc.d/init.d/red5
chmod +x /usr/local/red5/red5.sh
chmod +x /usr/local/red5/red5-shutdown.sh
步骤4将启动脚本添加到服务
/sbin/chkconfig --add red5 说明:添加服务
/sbin/chkconfig red5 on  说明:on表示开机自动启动 off表示开机不自动,需要手动启动
/sbin/service red5 start  说明:手动启动服务
步骤5设置CentOS防火墙
如果用setup设置防火墙,将会覆盖以下内容,需重新设置。如果只是测试,建议关闭防火墙,以免不必要的障碍
在/etc/sysconfig/iptables文件中
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
下增加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1935 -j ACCEPT
重启防火墙
/sbin/service iptables restart
查看端口是否开放
/sbin/iptables -L -n
步骤6测试Red5
在浏览器中访问 http://127.0.0.1:5080
* 注意Red5中所有Demo需要先安装后运行,在前述页面点击Install即可安装
可能会遇到的其它问题(我没有遇到)
http://ip:5080/demos/port_tester.html
测试网站的端口情况,如果发现都是失败,或许还有问题:
But if you went to port_tester.swf using demos above or your application shows connections FAILS, this is an issue of RTMPT and RTMPTS. You can see it by running
02步
/usr/local/red5/red5.sh
03步
output trancated
04步
[INFO] [main] org.red5.server.tomcat.TomcatLoader – RTMPT server bean was not found
05步
[INFO] [main] org.red5.server.tomcat.TomcatLoader – RTMPS server bean was not found
06步
output truncated
07步
If you see this you have to uncomment the RTMPT and RTMPTS TomcatLoader in/usr/local/red5/conf/red5-core.xml
08步
vi /usr/local/red5/conf/red5-core.xml
09步
Search for a lines
<!– RTMPT –>
<!–
<bean id=”rtmpt.server” class=”org.red5.server.net.rtmpt.TomcatRTMPTLoader” init-method=”init” lazy-init=”true”>
13步
Remove the <!– from start of <bean and –> from end of
14步
Same goes for RTMPS
查找代码:
<!– RTMPS –>
<!–
 <bean id=”rtmps.server” class=”org.red5.server.net.rtmps.TomcatRTMPSLoader” init-method=”init” lazy-init=”true”>
18步
Remove the <!– from start of <bean and –> from end of
19步
 
Restart the red5 services and connection fails problem will be fixed.
20步
 
If you any question please use comments.


(责任编辑:IT)