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也出现了。证明,可能有时候需要多点几次。