Centos7搭建coturn服務器
前言
最近想上線一個多功能的在線音視頻聊天應用,需要STUN_TURN服務器,新出的 開源專案coturn同時實作了stun和turn服務的功能,所以,我打算直接安裝coturn中繼服務器
安裝
1. 安裝依賴
yum install -y make gcc cc gcc-c++ wget openssl-devel libevent libevent-devel openssl
yum install git (不必須)
2. 下載conturn專案包
我們為了防止云服務器下載慢,直接在github上clone下來(但是你的服務器上擁有git也是很重要的)

上傳解壓后起一個你喜歡的名字

接下來,配置,編譯,安裝
cd coturn
./configure //配置
make //編譯
make install //安裝
直接./configure,會比較亂,這里你可以指定檔案夾配置編譯安裝,比如
./configure --prefix=/usr/local/coturn
編譯的時候
make -j 2 //指定核數安裝,1核為2, 2核為4
我在編譯的時候報錯

沒有找到解決方案,我估計是turnserver官方的問題,在他們官方的issues找到了,可以通過yum下載(其實是一個人用Ubuntu出現了類似的問題),官方給出的是
sudo apt-get install coturn //(注意如果用這個命令,前面的所有操作都可以省略,因為這是通過命令列直接下載安裝編譯的)
我們是centos,用yum
sudo yum install coturn //(注意如果用這個命令,前面的所有操作都可以省略,因為這是通過命令列直接下載安裝編譯的)
安裝完后,試了下 which turnserver,竟然成功了

3. 配置
接下來,我們要找到 turnserver.conf,對他進行配置
find / -name turnserver.conf
然后進入這個目錄

接著 ifconfig 查看ip (windows為 ipconfig)

我的內網IP為 172.24.52.189 ,外網IP為 47.95.234.230
接下來,我們要是用openSSL生成cert和pkey配置的自簽名證書
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes

要知道這兩個證書的位置,應該在 /etc下面(默認位置)

編輯 turnserver.conf
vi turnserver.conf
# 網卡名
relay-device=eth0
#內網IP
listening-ip=172.24.52.189
listening-port=3478
#內網IP
relay-ip=172.24.52.189
tls-listening-port=5349
# 外網IP
external-ip=47.95.234.230
relay-threads=500
#打開密碼驗證
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
min-port=40000
max-port=65535
#設定用戶名和密碼,創建IceServer時使用
user=admin:123456
# 外網IP系結的域名
realm=www.codeting.top
# 服務器名稱,用于OAuth認證,默認和realm相同,部分瀏覽器本段不設可能會引發cors錯誤,
server-name=www.codeting.top
# 認證密碼,和前面設定的密碼保持一致
cli-password=123456
接下來,我們去阿里云云端(防火墻)開啟tcp與udp這兩個埠
3478/udp
3478/tcp
40000~65535/udp

我們服務器本地也要開啟
#開放埠
firewall-cmd --zone=public --add-port=3478/udp --permanent
firewall-cmd --zone=public --add-port=3478/tcp --permanent
#重啟防火墻
firewall-cmd --reload
接下來,啟動 coturn
turnserver -o -a -f
接下來,我們要真正看一下,coturn是否安裝成功
在線檢測ICE穿透的地址:殺殺殺

這里的賬號密碼就是你上面配置的
點擊第二步如下

relay回來你的公網IP就算是穿透成功了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/337861.html
標籤:其他
