在生产环境中只有一台MediaProxy作为Relay服务器的情况下一般很少见,除非用户量极少,否则单台Relay很难去支撑大量的Relay服务。这里我们配置单Dispatcher多Relay的情景,以及配置官方自带的Web监控界面。
我们现在就实现图中红色的部分,MediaProxy有两部分构成:dispatcher和relay。所以我们单机的时候需要启动2个程序media-dispatcher和media-relay。现需要实现如下部分:
MediaProxy的安装详见:
http://fengwan.blog.51cto.com/508652/1652807 (CentOS 5)
http://fengwan.blog.51cto.com/508652/1655392 (CentOS 6)
1.按照以上方法的安装我们都已经安装好了MediaProxy,下面是192.168.1.245的MediaProxy配置文件/etc/mediaproxy/config.ini
[Relay] dispatchers = 192.168.1.245 passport = None relay_ip = 192.168.1.245 port_range = 50000:60000 log_level = DEBUG on_hold_timeout = 1800 [Dispatcher] socket_path = dispatcher.sock listen = 192.168.1.245 listen_management = 192.168.1.245 management_use_tls = no passport = None management_passport = None log_level = DEBUG [TLS] [Database] [Radius] [OpenSIPS] socket_path = /var/run/opensips/socket max_connections = 1000
现在在192.168.1.245服务器上启动media-dispatcher及media-relay。这个时候mediaproxy就可以正常运行了,也可以正常转发了。
2.现在我们要添加192.168.1.246这台relay服务器,也是按照上面的安装方法安装好,但是配置文件及启动就有些不同。
[Relay] dispatchers = 192.168.1.245 #这里指向dispatcher服务器地址 passport = None relay_ip = 192.168.1.246 #这里为本机的地址 port_range = 50000:60000 log_level = DEBUG on_hold_timeout = 1800
在192.168.1.246上执行media-relay即可。
配置MediaProxy自带的Web监控界面:
1.安装基础的httpd及php环境
yum -y install httpd php php-gd php-common php-mysql php-mbstring php-devel
2.配置php(mediaproxy需要php支持解析phtml和short_open_tag = On)
echo 'AddType application/x-httpd-php .phtml' >>/etc/httpd/conf/httpd.conf sed -i 's/short_open_tag = Off/short_open_tag = On/g' /etc/php.ini
3.复制官方监控程序到/var/www/html(网站的根目录为/var/www/html)
进入到mediaproxy的源码目录,复制web目录到/var/www/html
cp -rf mediaproxy-2.4.4/web/ /var/www/html/
4.配置监控程序的配置文件及dispatcher
cd /var/www/html/web
cp config/media_sessions.conf.sample config/media_sessions.conf
sed -i 's/undefined/192.168.1.245/g' config/media_sessions.conf
5.启动web服务
service httpd restart
6.可以查看下:
总结:MediaProxy的扩展可以说是相当的容易及便捷,可以随时灵活的增加及减少自己的转发服务器,而且不需要在dispatcher做任何操作。