Write the Code. Change the World.

4月 27

coturn

https://coturn.net/turnserver/

https://github.com/coturn/coturn/wiki/Downloads

安装

安装依赖

yum install -y make gcc cc gcc-c++ wget openssl-devel libevent libevent-devel

下载和编译

cd /usr/local/src

wget https://coturn.net/turnserver/v4.5.2/turnserver-4.5.2.tar.gz

tar -xzvf turnserver-4.5.2.tar.gz

cd turnserver-4.5.2

./configure --prefix=/usr/local/turnserver

make && make install

这中间,发现错误,解决错误。

设置环境变量

vim ~/.bashrc

export turnserver_home=/usr/local/turnserver
export PATH=$PATH:$turnserver_home/bin

执行 source ~/.bashrc 使得修改的环境变量生效。

找到合修改配置文件

找。

find /usr/local/turnserver -name turnserver.conf

地址是: /usr/local/turnserver/share/examples/turnserver/etc/turnserver.conf

修改。

cp /usr/local/turnserver/share/examples/turnserver/etc/turnserver.conf /usr/local/turnserver/turn.conf

配置以下信息。

listening-port=3478  # 监听的端口
listening-ip=0.0.0.0 # 监听的内网IP
external-ip=x.x.x.x  # 监听的外网IP
user=user:123456     # 设置账号密码
realm=xxx.com        # realm 名称,通常是一个域名 
log-file=/var/log/turn.log # 配置日志位置

配置自启动

添加

vim /usr/lib/systemd/system/turnserver.service

# 配置以下内容
[Unit]
Description=turnserver for p2p
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/turnserver/bin/turnserver -o -c /usr/local/turnserver/turn.conf
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

# :wq 保存

启用

  • systemctl daemon-reload 重置服务列表
  • systemctl enable turnserver.service 开启开机自启
  • systemctl start turnserver.service 启动服务
  • systemctl restart turnserver.service 重启服务
  • systemctl status turnserver.service 查看状态
  • systemctl disable turnserver.service 关闭开机自启。()不关闭,就不执行这个)

查看进程

ps -ef|grep turnserver

# 只显示主进程
pgrep -a turnserver

测试检查

turnutils_uclient -v -t -y -u user -w password ip

替换对应的 user, password, ip 为配置的值。

参考

https://sanyers.github.io/blog/web/webrtc/turn%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2.html#_6%E3%80%81%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1