CenterOS7.2&Ubuntu14.04配置TURN服务器
来源:互联网 发布:潇湘馆的竹叶 知乎 编辑:程序博客网 时间:2024/06/07 09:56
由于项目需求,要做一个基于WebRTC协议多方视频的一个项目,视频流互传是机遇TCP协议,这里面要用到NAT穿透,把位于各个子网或路由器后面的主机(iPhone)IP地址转换成外网IP地址。介绍一下配置的主要步骤:
- 下载对应CenterOS的TURN安装包
- 安装TURN的依赖库
- 拷贝到服务器解压安装TURN服务
- 修改TURN配置文件
- 启动TURN服务测试
1.1下载对应安装包:
目前Ubuntu所能安装的最新版本为v4.4.5.3(Ubuntu安装稍后讲),这里我们选取CenterOS最新版本v4.5.0.6对应CenterOS7.2下载之后是一个后缀为.gz的压缩包。
1.2通过Xshell远程到到我们的服务器,如果没有安装lrzsz工具,在命令行输入yum install -y lrzsz
安装lrzsz工具代替ftp。
1.3通过rz
命令把选取安装包,拷贝到CenterOS服务器。
2.1配置依赖库,CenterOS系统中使用命令行工具依次安装以下库:
sudo yum install openssl-develsudo yum install sqlitesudo yum install sqlite-develsudo yum install libeventsudo yum install libevent-develsudo yum install postgresql-develsudo yum install postgresql-serversudo yum install mysql-devel sudo yum install mysql-server 或者是:sudo yum install mysql - serve(中间加空格不同版本安装命令不一样试一下)sudo yum install hiredissudo yum install hiredis-devel
根据命令完成安装。
3.1进入安装包所在目录: ls
找到对应安装包,例如我的为turnserver-4.5.0.6-CentOS7.2-x86_64.tar.gz
3.2输入解压命令tar xvfz turnserver-4.5.0.6-CentOS7.2-x86_64.tar.gz
3.3完成后进入刚刚解压出来的turnserver的文件夹,如果里面有install.sh文件,直接执行./install.sh
或者chmod a+x install
生成install文件 。
3.4总之我们有了可执行文件了,./install
完成安装
4.1修改配置文件,配置文件在/etc/turnserver目录下turnserver.conf,执行: cd /etc/turnserver/
vi turnserver.conf
在文件末尾加入一下参数:
#监听端口可以不设置会默认的使用3478listening-port=3478#listening-ip,注意必须是你的内网IP地址如:listening-ip=10.10.xx.xx#relay-ip可以不设置,默认会使用你的外网ip地址作为转发包的中继地址,建议不设置,使用默认就可以:relay-ip=10.10.xx.xx#external-ip,注意必须使用你的外网IP地址如:external-ip=133.110.xx.xx#设置用户名及密码,这个是作为TURN服务器使用必须设置的,可以设置多个user=user:password 或者使用ssh也是可以的user=user:passKey#realm,目前没发现有什么用,可设置可不设置:realm=companyName.com.cn#turndb数据库位置,/var/db/turndb以上就是配置的主要内容,更详细的配置可以直接查看turnserver.conf,里面的注释很详细,可以设置tls,mysql,redis,mongodb等等内容这里不做详细解释了。另外:STUN和TURN的区别,turn服务器是一个特殊的stun服务器,turn具备了stun的功能,并且具备stun不具备的中继转发功能,我们按照的服务可以不提供turn功能只作为stun使用,打开turnserver.conf中的stun-only即可。
5.1启动和关系TURN服务:
启动命令: turnserver -v -r 外网ip -a -o -c /etc/turnserver/turnserver.conf
关闭命令:
执行 cat /var/run/turnserver/turnserver.pid 或者 cat /var/tmp/turnserver.pid
找到进程编号,例如:2059
执行kill 2059
结束进程。
测试地址:
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
测试样例:
点击gather candidates按钮测试,正确结果如下:
如果没有产生3种类型的ip地址则配置失败(该服务可能会用到80端口,在公司机房服务器配置没有成功,最后用阿里云配置成功)。
- CenterOS7.2&Ubuntu14.04配置TURN服务器
- Ubuntu14.04配置ssh服务器
- ubuntu14.04 samba服务器配置
- ubuntu14.04配置samba服务器
- Ubuntu14.04配置TFTP服务器
- ubuntu14.04 配置 tftp 服务器
- rfc5766-turn-server webrtc穿透服务器配置
- ubuntu14.04的samba服务器配置
- ubuntu14.04 ldap服务器安装和配置
- Ubuntu14.04 64位配置XAMPP服务器
- ubuntu14.04 samba服务器安装配置
- Ubuntu14.04环境下配置TFTP服务器
- Ubuntu14.04环境下配置TFTP服务器
- Ubuntu14.04环境下配置TFTP服务器
- Ubuntu14.04环境下配置TFTP服务器
- Ubuntu14配置tftp服务器
- centerOS7下配置Tomcat7环境
- 2行代码启动webrtc turn服务器
- Ajax请求成功后,获取success中的返回的问题
- facebook zencart登录插件
- Web api global Exception Handler
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 《算法笔记-2》
- CenterOS7.2&Ubuntu14.04配置TURN服务器
- Android Studio提升项目的编译速度
- centos 重启 php-fpm
- 生产者/消费者问题的多种Java实现方式
- Codeforces Round #406 (Div. 2)
- 通过指针、数组,讲静态存储区、栈、堆的区别(转载)/C
- linux shell file 与magic file文件
- 一行代码实现EditText数字输入逗号和位数限制
- STL源码分析——迭代器(二)