随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

腾讯云服务搭建coturn

一、概述

  之前用的是阿里云的的服务系统是CentOS,服务到期后就没再续了(贵了),继而买了腾讯的云服务。为了使webrtc项目能够正常的启动起来,有必要配置一下coturn。腾讯云用的是ubuntu20

二、具体的步骤

  1.安装coturn依赖库

sudo apt-get install libssl-dev
sudo apt-get install libevent-dev
sudo apt-get install libpq-dev
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
sudo apt-get install libhiredis-dev
sudo apt-get install git

  2.下载并编译cotrun

git clone https://github.com/coturn/coturn
cd coturn
./configure
make
sudo make install

  ps:ubuntu系统也可以直接sudo apt install coturn也是可以的

  3.验证coturn是不是安装完成了,假如安装成功会输出coturn的安装路径

ubuntu@VM-4-9-ubuntu:/usr/local/coturn/etc$ which coturn
ubuntu@VM-4-9-ubuntu:/usr/local/coturn/etc$ 

  ps:假如没有输出此路径,需要查看是否配置了coturn的环境变量。

  4.找到coturn的安装目录,创建配置文件

sudo cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf

  ps:根据自己机器上的实际的安装目录来,创建turnserver.conf ,其实就是复制turnserver.conf.default,并改一下后缀名而已

  5.生成SSL证书:

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

  证书如下所示:

1
turn_server_cert.pemturn_server_pkey.pem 

  6.开始配置trunserver.conf,将如下信息复制进去  

复制代码
cli-password=123456.com//和下面密码保持一致就行
relay-device=eth0
listening-ip=内网ip地址
listening-port=3478
tls-listening-port=5349
external-ip=公网ip地址
relay-ip=内网ip地址
relay-threads=50
lt-cred-mech
cert=/usr/local/coturn/etc/turn_server_cert.pem//第5步生成的证书
pkey=/usr/local/coturn/etc/turn_server_pkey.pem//第5步生成的证书
user=tony:123456.com//用户名密码,可以随便改
复制代码

  7.启动turn服务:

./turnserver -c ../etc/turnserver.conf

  ps:如果不报错就说明成功了

    

三、注意事项

  1.在腾讯云中需要开启对应的端口,不然对应的端口不工作,如下:

  

 

  2.在客服端代码中需要再ice的配置中加上coturn服务的账号和密码,不然ic链接不上,会提示没权限

复制代码
 private void setIceServers(String... args) {
        if (args != null) {
            List<String> list = Arrays.asList(args);
            for (int i = 0; i < list.size(); i++) {
                iceServers.add(PeerConnection.IceServer.builder(list.get(i)).setUsername("tony").setPassword("123456.com").createIceServer());
            }
        }
        Log.e(TAG, "setIceServers----->init_ice_url");
    }
复制代码

 

posted on   飘杨......  阅读(1307)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2016-12-14 FAILURE: Build failed with an exception.
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示