Red5 Linux Server Optimizations and Tools

Some java optimizations to add in red5.sh :

export JAVA_OPTS=”-Xrs -Xms128M -Xmx256M -Dsun.rmi.dgc.client.gcInterval=300000 -Dsun.rmi.dgc.server.gcInterval=360000 -Djava.net.preferIPv4Stack=true -XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -Xverify:none”

Assuming red5 was installed in /opt/red5/dist admin will often need to restart it or check if it’s running.

Make sure Red5 restarts: restart.sh

#!/bin/bash
#Restart the process
#First see if running
PID=`ps -eo ‘tty pid args’ | grep ‘red5’ | grep -v grep | grep -v restart | tr -s ‘ ‘ | cut -f2 -d ‘ ‘`
cd /opt/red5/dist
if [ -z “$PID” ]
then
#not running
echo “Red5 was not running at `date`” >> /opt/red5/dist/run-restart.log
else
echo “Red5: $PID”
#shutdown
/opt/red5/dist/red5-shutdown.sh
sleep 6
#make sure
kill $PID >> null
sleep 2
fi
#start
/opt/red5/dist/red5.sh >> /opt/red5/dist/red5.log &
echo “On request restarted Red5 at `date`” >> /opt/red5/dist/run-restart.log

Mare sure Red5 process is running, if not start it: running.sh

#!/bin/bash
#set environment
PID=`ps -eo ‘tty pid args’ | grep ‘red5’ | grep -v grep | grep -v running | tr -s ‘ ‘ | cut -f2 -d ‘ ‘`
if [ -z “$PID” ]
then
#Restart the process
cd /opt/red5/dist
/opt/red5/dist/red5.sh >> /opt/red5/dist/red5.log &
echo “Restarted Red5 at `date`” >> /opt/red5/dist/run-restart.log
else
#do nothing
echo “Red5 is already running with PID=$PID at `date`” >> /opt/red5/dist/run-checked.log
fi

Red5 Services
Red5 Hosting
Red5 installation on VPS & Dedicated Servers (Linux / Windows)

Install GeoIP PHP Extension

Install GeoIP C API
Change 1.4.8 to downloaded version.

cd /usr/local/src
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar zxvf GeoIP.tar.gz
cd GeoIP-*
./configure
make
make check
make install

Install PHP PECL extension

pecl install geoip

Find php.ini

php -i | grep php.ini

Enable extension to load in php.ini:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=geoip.so

You may need to restart HTTP server (apache) to apply changes.

Download Geo Lite City database

cd /usr/local/src
wget -N -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat

For more accurate detection and production projects, buy the full GeoCity database from MaxMind.