在Debian上部署coturn以实现WebRTC的STUN/TURN服务
在 WebRTC 应用中,STUN(Session Traversal Utilities for NAT)和 TURN(Traversal Using Relays around NAT)服务是解决网络地址转换(NAT)问题的关键。coturn 是一个开源的 STUN/TURN 服务器
一、安装依赖
在 Debian 上,我们需要安装一些依赖库来编译和运行 coturn。打开终端,执行以下命令:
sudo apt-get update
sudo apt-get install build-essential libssl-dev libevent-dev
二、下载和编译 coturn
- 从 coturn 的官方网站下载最新的源代码。
- 解压下载的文件,并进入解压后的目录。
执行以下命令进行编译和安装:
./configure make sudo make install
三、配置 coturn
创建配置文件
/etc/turnserver.conf
,并添加以下内容:# 指定侦听的端口。 listening-port=3478 # 云主机 内网 IP 地址。 listening-ip=xxx.xxx.xxx.xxx # 云主机的 公网 IP 地址。 external-ip=xxx.xxx.xxx.xxx # 这个很重要,如果没有配置这个就服务使用中转服务。 # 云主机的 公网 IP 地址或域名。 realm=xxx.xxx.xxx.xxx # 访问 STUN/TURN 服务的用户名和密码。 user=username:password # 日志级别 log-file = /var/log/turnserver.log verbose
请将
xxx.xxx.xxx.xxx
替换为服务器的实际IP地址,username
和password
替换为您想要设置的用户名和密码。启动 coturn 服务:
sudo turnserver -c /etc/turnserver.conf
最后就是主机防火墙和云平台防火墙上开放3478端口
设为开机服务
添加一个service文件/etc/systemd/system/coturn.service
添加如下内容
[Unit]
Description=Coturn Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
User=root
Group=root
ExecStart=/usr/local/bin/turnserver -c /etc/turnserver.conf
LimitNOFILE = 5000
Restart=always
开机启动systemctl enable coturn
启动服务systemctl start coturn
启动报错
/usr/local/bin/turnserver: error while loading shared libraries: libmysqlclient.so.21: cannot open shared object file: No such file or directory
我本地运行的时候,有这个错误,这个错误是由于系统缺少 libMySQLclient.so.21 共享库。turnserver 依赖于 MySQL 客户端库,但在系统中找不到所需的库版本。你可以通过以下步骤解决该问题sudo apt install libmariadb-dev
安装一下这个就可以了
版权声明:本文为原创文章,版权归 全栈开发技术博客 所有。
本文链接:https://www.lvtao.net/tool/deploy-coturn-on-debian-for-webrtc-stun-turn-service.html
转载时须注明出处及本声明