当前位置: 首页 > news >正文

【Ubuntu24.04搭建turn服务器】

1.安装与启动

首先安装coturn

sudo apt-get update -y
sudo apt-get install coturn -y

在这里插入图片描述

可以看到默认的TURN服务是不启动的

#
Uncomment it if you want to have the turnserver running as
an automatic system service daemon
#
#TURNSERVER_ENABLED=1

编辑配置文件取消注释

sudo vim /etc/default/coturn
TURNSERVER_ENABLED=1

2.配置

连接数据库
创建database;
用navcat创建coturn;
执行sql文件,就是安装成功之后命令行提示的sql文件

use coturn;
source /usr/share/coturn/schema.sql;

[图片]

接下来配置coturn
首先备份一下默认的配置文件

sudo cp /etc/turnserver.conf /etc/turnserver.conf.backup

接下来编辑/etc/turnserver.conf
这里填服务域(realm)和名字

realm=antalkws.rustfisher.com
server-name=turnantalk

external-ip写你的服务器的IP地址

# IPs the TURN server listens to
listening-ip=本机IP地址
# External IP-Address of the TURN server
external-ip=公网ip地址

使用的端口我们写3478

# Main listening port
listening-port=3478
# Further ports that are open for communication
min-port=10000
max-port=20000

指定log的路径。log等级设置为verbose

# Use fingerprint in TURN message
fingerprint
# Log file path
log-file=/home/szjk/server/turn/turnserver.log
# Enable verbose logging
verbose

user那里配置账号密码,格式account:pwd,中间是冒号

# Specify the user for the TURN authentification
user=自己想的账号:自己想的密码

完整配置

listening-port=3478
realm=antalkws.rustfisher.com
server-name=turnantalk
listening-ip=192.168.1.110
external-ip=111.121.123.203
min-port=10000
max-port=20000
verbose
fingerprint
log-file=/home/szjk/server/turn/turnserver.log
mysql-userdb="host=127.0.0.1 dbname=coturn user=root password=xxxxxxx port=3306 connect_timeout=5 read_timeout=5"
lt-cred-mech
user=user1
cli-password=xxxxxx

用systemctl启动coturn服务

systemctl start coturn

防火墙允许这个端口

sudo ufw allow 3478

至此coturn服务已经启动完毕
3.验证
我们可以去WebRTC Samples Trickle ICE页面验证我们的turn服务是否可用
网络不好的时候可能需要工具打开 webrtc.github.io
URI输入 turn:IP地址:3478,以及配置好的用户名和密码。然后「Add Server」
在这里插入图片描述

然后点击「Gather candidates」按钮,可以看到结果

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Redis主从数据同步原理的详解、以及优化方案
  • AMBA-CHI协议详解(五)
  • 基本卫星介绍
  • STM32 的外设驱动
  • 什么是实时数据仓库?它有哪些不可替代之处?
  • Redis的持久化的策略
  • Java之MySQL
  • [Unity]关闭URP的SRP,开启GPU Instancing。
  • Neural Architecture Search:使用Ultralytics框架进行YOLO-NAS目标检测
  • 代理服务器在HTTP请求中的应用:Ruby实例
  • 腾讯二面 智力题 赛马问题
  • 腾讯大模型算法实习生面试题
  • 二.PhotoKit - 相册权限(彻底读懂权限管理)
  • 程序员变副业达人:AI绘画月入5千+,看我如何用技术打造自媒体收益流
  • 数据结构--树与二叉树
  • .pyc 想到的一些问题
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【mysql】环境安装、服务启动、密码设置
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • classpath对获取配置文件的影响
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • flask接收请求并推入栈
  • JavaScript实现分页效果
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS变量作用域
  • Just for fun——迅速写完快速排序
  • Mysql优化
  • Next.js之基础概念(二)
  • React Transition Group -- Transition 组件
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Shadow DOM 内部构造及如何构建独立组件
  • socket.io+express实现聊天室的思考(三)
  • Vue--数据传输
  • windows-nginx-https-本地配置
  • 码农张的Bug人生 - 初来乍到
  • 使用Gradle第一次构建Java程序
  • 思否第一天
  • 用Canvas画一棵二叉树
  • 再次简单明了总结flex布局,一看就懂...
  • Nginx实现动静分离
  • ​TypeScript都不会用,也敢说会前端?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • $().each和$.each的区别
  • %check_box% in rails :coditions={:has_many , :through}
  • (35)远程识别(又称无人机识别)(二)
  • (9)STL算法之逆转旋转
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (Forward) Music Player: From UI Proposal to Code
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二十六)Java 数据结构
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (四十一)大数据实战——spark的yarn模式生产环境部署