Установка медиа-сервера Red5 на удаленную машину с Ubuntu, как оказалось, дело не такое уж и сложное. Опишу вкратце, как это делается.
Итак, для начала, у кого еще не стоит :), ставим subversion:
Затем ставим дистрибутивы Java (на данный момент последняя версия 1.6.0.15) и утилиту Ant:
Далее получаем из SVN сам Red5:
Компилируем Red5 из SVN:
Копируем скомпилированный сервер в нужную папку. Я выбрал /usr/share/red5/
Выставляем права и тадам! Все почти готово!
Теперь можно запускать и останавливать сервер следующими командами:
Либо мочить процесс по ps ax | grep java, если что-то пошло не так (:
В итоге, зайдя по адресу http://[ваш_домен]:5080/ , вы увидите стартовую страницу работающего сервера:
Для того, чтобы было удобно использовать сервер как сервис, заюзаем скрипт, который я позаимствовал у Simon Eisenmann:
Создаем файл в /etc/init.d/red5, куда вставляем следующий код:
Затем выставляем ему права и добавляем в сервисы:
sudo -u root -H /etc/init.d/red5 start
или лучше сделать так
Все, сервер Red5 готов, запускать и останавливать можно следующими командами:
Red5 испозует следующие порты в дефолтной настройке, не забывайте их открыть, если у вас стоит файрволл:
Тепер можно зайти в панель установки приложений (http://[ваш_домен]:5080/installer/) и установить основное приложение oflaDemo, c которого можно начинать разбираться в устройстве Red5.
Проверить, открыты ли порты, можно приложением, входящим в комплект Red5, по адресу http://[ваш_домен]:5080/demos/port_tester.html
Итак, для начала, у кого еще не стоит :), ставим subversion:
sudo apt-get install subversion |
|
apt-get install openjdk-6-jdk |
apt-get install openjdk-6-jre |
apt-get install ant |
Добавляем в окружение пути:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/ |
export ANT_HOME=/usr/share/ant/ |
cd red5 |
/usr/share/ant/bin/ant |
mkdir /usr/share/red5 |
cp -R ./dist/* /usr/share/red5/ |
cd /usr/share/red5 |
chmod 755 red5.sh |
/usr/share/red5/red5.sh & |
/usr/share/red5/red5- shutdown .sh & |
В итоге, зайдя по адресу http://[ваш_домен]:5080/ , вы увидите стартовую страницу работающего сервера:
Для того, чтобы было удобно использовать сервер как сервис, заюзаем скрипт, который я позаимствовал у Simon Eisenmann:
Создаем файл в /etc/init.d/red5, куда вставляем следующий код:
#! /bin/sh |
# |
# red5 red5 initscript |
# |
# Author: Simon Eisenmann <simon@struktur.de>. |
# |
set -e |
PATH=/usr/ local /sbin:/usr/ local /bin:/sbin:/bin:/usr/sbin:/usr/bin |
DESC= "Red5 flash streaming server" |
NAME=red5 |
RED5_HOME=/usr/share/red5 |
DAEMON=$RED5_HOME/$NAME.sh |
PIDFILE=/var/run/$NAME.pid |
SCRIPTNAME=/etc/init.d/$NAME |
# Gracefully exit if the package has been removed. |
test -x $DAEMON || exit 0 |
# Read config file if it is present. |
if [ -r /etc/default/$NAME ] |
then |
. /etc/default/$NAME |
fi |
# |
# Function that starts the daemon/service. |
# |
d_start() { |
start-stop-daemon --start --pidfile $PIDFILE \ |
--chdir $RED5_HOME --background -- make -pidfile \ |
-- exec $DAEMON |
} |
# |
# Function that stops the daemon/service. |
# |
d_stop() { |
start-stop-daemon --stop --quiet --pidfile $PIDFILE \ |
--name java |
rm -f $PIDFILE |
} |
case "$1" in |
start) |
echo -n "Starting $DESC: $NAME" |
d_start |
echo "." |
;; |
stop) |
echo -n "Stopping $DESC: $NAME" |
d_stop |
echo "." |
;; |
restart|force-reload) |
echo -n "Restarting $DESC: $NAME" |
d_stop |
sleep 1 |
d_start |
echo "." |
;; |
*) |
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 |
exit 1 |
;; |
esac |
exit 0 |
chmod 755 /etc/init.d/red5 |
что | бы севис сам запускался можно просписать строку запуска в /etc/rc.local |
или лучше сделать так
| update-rc.d red5 defaults |
Все, сервер Red5 готов, запускать и останавливать можно следующими командами:
/etc/init.d/red5 start |
/etc/init.d/red5 stop |
/etc/init.d/red5 restart |
Default ports: |
1935,8088,5080,1936 |
RTMP: 1935 |
RTMPT: 8088 |
HTTP servlet engine port: 5080 |
Debug proxy port: 1936 |
Проверить, открыты ли порты, можно приложением, входящим в комплект Red5, по адресу http://[ваш_домен]:5080/demos/port_tester.html
Здраствуйте, у меня не получаеться запустить red5
ОтветитьУдалитьпри запуске выдает, в чем может быть причина ?
root@emerald-fortress:/home/trinity# /usr/share/red5/red5.sh
Running on Linux
Starting Red5
Exception in thread "main" java.lang.NoClassDefFoundError: org/red5/server/Bootstrap
Caused by: java.lang.ClassNotFoundException: org.red5.server.Bootstrap
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.red5.server.Bootstrap. Program will exit.
Попробуйте сначала перейти в каталог с red5 а потом запустить
ОтветитьУдалитьcd /usr/share/red5
./red5.sh
или
sudo ./red5.sh
ТУТ (http://forum.ru-board.com/topic.cgi?forum=24&topic=9383) нашёл ответ на вопрос с ошибкой. Может будет кому интересно :
ОтветитьУдалитьЧтобы пофиксить этот баг нужно удалить из папки lib 2 файла:
com.springsource.slf4j.juli-1.6.1.jar
com.springsource.slf4j.log4j-1.6.1.jar
У меня после удаления всё запустилось!
Red5-1.0.0-RC1 работает на jre-6u24
Этот комментарий был удален автором.
ОтветитьУдалитьЕсли не работают демо-приложения нужно сделать
ОтветитьУдалитьsvn co http://red5.googlecode.com/svn/flash/trunk/deploy/
mkdir RED5_SOURCE_FOLDER/webapps/root/demos
mv deploy/* RED5_SOURCE_FOLDER/webapps/root/demos/
где RED5_SOURCE_FOLDER - каталог куда установлен сервер. Взял тут: https://groups.google.com/forum/?fromgroups#!topic/red5interest/o3ZV9qsHGNE
Ничего удалять не надо, просто автор забыл еще одну переменную:
ОтветитьУдалитьexport RED5_HOME=/usr/share/red5/
и усе пашет - ура!
Этот комментарий был удален автором.
ОтветитьУдалитьexport JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
ОтветитьУдалитьпотребовалось заменить на
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386/
А также не находит build.xml
сбилдил отсюда http://red5.googlecode.com/svn/java/server/tags/
ОтветитьУдалитьПри запуске выдало
Running on Linux
Starting Red5
Exception in thread "main" java.lang.NoClassDefFoundError: org/red5/server/Bootstrap
Caused by: java.lang.ClassNotFoundException: org.red5.server.Bootstrap
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.red5.server.Bootstrap. Program will exit.
Установил последнюю версию все заработало
ОтветитьУдалить