CentOS上webRTC的coturn服务器部署

1.系统环境

CentOS 7.6
64位

yum install git
yum install gcc
yum install gcc-c++
yum install openssl
yum install openssl-devel
yum install libevent2
yum install libevent-devel

2.部署前准备

我conturn的目录放在了/opt/ 下
所以:

cd /opt

这里有个问题,尝试git clone https://github.com/coturn/coturn.git拉取当前版本的代码会出现编译问题:
报一个类似undefined reference to `SSL_CTX_up_ref'的错误。如果出现编译错误,换用另一个版本就好了。
直接去拿稳定的 wget https://github.com/coturn/coturn/archive/4.5.1.1.tar.gz
然后依次执行:

tar -zxvf 4.5.1.1.tar.gz
cd coturn-4.5.1.1
./configure
make
make install

如果成功了,可以通过which turnserver验证。如果出现路径即为成功,默认路径为:

usr/local/bin/turnserver

然后进入文件夹:
cd /usr/local/etc/ 会看到一个叫做 turnserver.conf.default的配置文件。将它备份:

cp turnserver.conf.default turnserver.conf

在当前文件夹生成签名:

openssl req -x509 -newkey rsa:2048 -keyout /usr/local/etc/turn_server_pkey.pem -out /usr/local/etc/turn_server_cert.pem -days 99999 -nodes 

当前文件夹内容如下:


文件夹内容

可以通过xftp把turnserver.conf拉取到本地,通过sublime等编辑器本地编辑,也可以通过vim指令直接改。
可以先通过ifconfig指令,查看网卡名称,一般默认是eth0

relay-device=eth0
listening-ip=#内网IP
listening-port=3478
tls-listening-port=5349
relay-ip=#内网IP
external-ip=#公网IP
relay-threads=50
lt-cred-mech
cert=/usr/local/etc/turn_server_cert.pem
pkey=/usr/local/etc/turn_server_pkey.pem
pidfile=”/var/run/turnserver.pid”
min-port=49152
max-port=65535
user=admin:123456
cli-password=123456

将配置文件更新如上。

  • 请一定要设置cli-password这一项,不设置会报错。
  • 注意检查cert和pkey的路径和名称。检查内网ip和公网ip是否填写准确。
  • 注意文本格式准确。

3.启动服务

turnserver -o -a -f -user=admin:123456 -c /usr/local/etc/turnserver.conf -r Harbin
-o 是让程序在后台启动
-r 后面填个地区就行。
-user 一定要和配置文件中一样。
如果出现下图,则成功:
结果

通过ps -ef|grep turnserver 指令查看是否启动服务,如果有

启动结果

则证明有服务的进程。

4.验证

可以通过 ICE测试 来检验是否成功。

这里需要注意一点!Chrome浏览器在测试的时候有问题,请用Firefox浏览器测试!!!!!!!

验证

测试STUN和TURN服务器,写上 公网ip:3478 还有设置的用户名和密码。
点击add Server,他就在上面出现了。双击后,点击这个按钮:


测试按钮
成功

STUN和TURN都要测试。都出现公网ip,则部署完成。

这里我使用STUN的时候,没有出现,但使用TURN之后,ip就出现了,这时候回到STUN,ip也出现了。证明,可能有时候需要多点几次。

你可能感兴趣的:(CentOS上webRTC的coturn服务器部署)