主题
本文主要描述webrtc开发过程中所需的环境搭建
环境:
运行环境:ubuntu 20.04
Node.js环境搭建
安装编译 Node.js 所需的依赖包:
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev
下载 Node.js 源码:
curl -sL https://nodejs.org/dist/v14.19.0/node-v14.19.0.tar.gz -o node-v14.19.0.tar.gz
解压源码包:
tar -xzf node-v14.19.0.tar.gz
cd node-v14.19.0
配置、编译和安装 Node.js:
./configure
sudo make && sudo make install
验证 Node.js 和 npm 的安装
node -v && npm -v
测试
app.js
// 引入 http 模块
const http = require('http');
// 创建一个 HTTP 服务器
const server = http.createServer((req, res) => {
// 设置 HTTP 响应头
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
// 向客户端发送响应
res.end('Hello, World!\n');
});
// 指定服务器监听的端口号
const port = 3000;
server.listen(port, () => {
console.log(`服务器正在监听端口 ${port}`);
});
node app.js
coturn搭建
安装 COTURN 软件包:
sudo apt-get install coturn
编辑 COTURN 配置文件:
sudo vim /etc/coturn/turnserver.conf
请根据实际情况修改以下配置项:
-
realm
: 设置 TURN 服务器的域名或 realm。 -
user
: 设置 TURN 服务器的用户名和密码。 -
static-auth-secret
: 设置身份验证的密钥。 -
server-name
: 设置 TURN 服务器的域名或 IP 地址。listening-port=3478
tls-listening-port=5349
#realm=example.com
user=jbj:123456
min-port=49152
max-port=65535
log-file=/var/log/coturn/turnserver.log
verbose
fingerprint
lt-cred-mech
use-auth-secret
static-auth-secret=ABCD1234EFGH5678
server-name=192.168.1.25
启动 COTURN 服务:
sudo systemctl start coturn
检查 COTURN 服务状态:
sudo systemctl status coturn
之后,可以使用 COTURN 服务器提供的 STUN 和 TURN 功能,帮助 WebRTC 等实时通信应用程序解决 NAT 穿透问题。
# nohup是重定向命令,输出都将附加到当前目录的 nohup.out 文件中;
# 命令后加 & ,后台执行起来后按
ctr+c,不会停止
sudo nohup turnserver ‐L 0.0.0.0 ‐a ‐u jbj:123456 ‐v ‐f ‐r nort.gov &
# 前台启动
sudo turnserver ‐L 0.0.0.0 ‐a ‐u jbj:123456 ‐v ‐f ‐r nort.gov
#然后查看相应的端口号3478是否存在进程
sudo lsof ‐i:3478
sar网络上传下载检测
sudo apt-get install sysstat
#每1s检测一次
sudo sar -n DEV 1
09:03:19 PM
: 这表示输出统计信息的时间是下午 9 点 3 分 19 秒。
网络接口信息:
-
lo
: 这是本地回环接口,用于本机之间的通信。 -
ens33
: 这是主网卡接口。 -
docker0
: 这是 Docker 容器网桥接口。 -
docker_gwbridge
: 这是 Docker 网关桥接口。
网络流量统计指标:
-
rxpck/s
: 每秒接收的数据包数量。 -
txpck/s
: 每秒发送的数据包数量。 -
rxkB/s
: 每秒接收的数据量,单位为 KB。 -
txkB/s
: 每秒发送的数据量,单位为 KB。 -
rxcmp/s
: 每秒接收的压缩数据包数量。 -
txcmp/s
: 每秒发送的压缩数据包数量。 -
rxmcst/s
: 每秒接收的多播数据包数量。 -
%ifutil
: 网卡利用率百分比。
nginx环境搭建
安装 Nginx 编译依赖
sudo apt-get update
sudo apt-get install build-essential libtool zlib1g-dev libpcre3 libpcre3-dev openssl
下载 Nginx 源码
wget http://nginx.org/download/nginx-1.15.8.tar.gz
tar xvzf nginx-1.15.8.tar.gz
cd nginx-1.15.8/
配置 Nginx 编译参数 (支持 HTTPS)
./configure --with-http_ssl_module
编译安装
# 编译 Nginx
make
# 安装 Nginx
sudo make install
查看 Nginx 的编译参数
nginx -V
--with-http_ssl_module 表示 Nginx 已经编译了对 SSL/TLS 协议的支持。
学习资料分享