Red5是一个开源的Flash流媒体服务器软件,可以运行在Linux环境下,相对于Adobe的FMS每license $4500的价格,Red5是一个不错的解决方安案。
安装JDK
1.下载:
http://java.sun.com/javase/downloads/
2.JDK1.5安装
下载Linux版的Jdk,将得到的jdk-6u10-xxxx.bin拷贝到/usr/local下,在shell下直接运行.bin可执行文件。
# cp jdk-6u10-rc-bin-b28-linux-i586-21_jul_2008.bin /usr/local
# cd /usr/local
# chmod +x jdk-6u10-rc-bin-b28-linux-i586-21_jul_2008.bin
# ./jdk-6u10-rc-bin-b28-linux-i586-21_jul_2008.bin
# mv jdk-6u10-rc-bin-b28-linux-i586-21_jul_2008 jdk
3.配置Jdk1.5
使用vi打开全部变量配置文件,加上下面的配置信息。
# vi /etc/profile
JAVA_HOME=/usr/local/jdk
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar:
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JDK_HOME CLASSPATH PATH
# source /etc/profile
4.检查
# java -version
java version “1.6.0_10-rc”
Java(TM) SE Runtime Environment (build 1.6.0_10-rc-b28)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
下载安装-ant
# wget http://labs.xiaonei.com/apache-mirror/ant/ant-current-bin.zip
# unzip ant-current-bin.zip
# mv apache-ant-1.7.1 /usr/local/ant
使用vi打开全部变量配置文件,加上下面的配置信息。
# vi /etc/profile
ANT_HOME=/usr/local/ant
PATH=$PATH:$ANT_HOME/bin
export ANT_HOME PATH
# source /etc/profile
安装Red5
1.下载:从http://osflash.org/red5下载
源在国外,下载时才4~6K,24M的东西下载了快3小时。好像不支持断点续传,因为我下载时用wget,居然还断开过。虽然自动续传,但却是两个文件。好在我迅雷也同时在下。所以下载时,请耐心,最好用迅雷保险点。
2.安装并运行:
# tar zxvf red5-release.tar.gz
# mv dist /usr/local/red5
# cd /usr/local/red5
# export RED5_HOME=’pwd’
# ./red5.sh
将RED5_HOME=/usr/local/red5写进/etc/profile,方法和上边一样。
3.编写启动脚本:
(网上找了很多,都是随意抄来抄去的。在这里我狠狠的鄙视那些站长,随意的把东西抄来,连看都不看就放上自己的网站去。结果是存在很多错误地方。更想不通的是,如此垃圾脚本,还有很多站长转来转去的。)
下边脚本中的java $OPTIONS主要参考red5.sh里的参数。本脚本是使用0.8 rc1版本。如果启动有问题,可能是因为版本差别。请参考red5.sh修改。直接方式是使用red5.sh脚本启动后,用ps -aux |grep java检查参数,然后修改参数。
#!/bin/sh
#
# Startup script for Red5 flash streaming server
#
# chkconfig: 345 81 81
# description: RED5 by java
# processname: java (unfortunately)
# pidfile: /var/run/red5.pid
# Source function library.
. /etc/rc.d/init.d/functions
PID_FILE=/var/run/red5.pid
PID=`ps ax |grep java|grep red5|awk '{print $1;}'`
DESCR='red5 Server'
RETVAL=0
if [ -z "$RED5_HOME" ]; then export RED5_HOME=/usr/local/red5; fi
if [ ! -x "$JAVA_HOME" ]
then
echo "Unable to locate Java. Please set JAVA_HOME environment variable."
exit
fi
start() {
echo -n $"Starting $DESCR: "
# daemon java $OPTIONS > /dev/null 2>&1 &
exec $JAVA_HOME/bin/java -Dpython.home=lib -Dred5.root=$RED5_HOME -Djava.security.manager -Djava.security.policy=$RED5_HOME/conf/red5.policy -cp $RED5_HOME/red5.jar:$RED5_HOME/conf:.:/usr/local/jdk/lib/dt.jar:/usr/local/jdk/lib/tools.jar org.red5.server.Standalone > /dev/null 2>&1 & RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/red5 && echo $! >$PID_FILE && echo_success
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $DESCR: "
#killproc $PID_FILE
[[ $PID != "" ]] && success && kill $PID || failure
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/red5 $PID_FILE
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo $"Usage: $DESCR {start|stop|restart}"
exit 1
esac
exit $RETVAL |
4.设置RED5为系统服务
# chkconfig –add red5
# chkconfig -level 345 red5 on
# /etc/rc.d/init.d/red5 start