step1:centOS7镜像下载
一开始用的win10的WSL搭建的,某些端口一直无法访问,于是转战虚拟机加centOS7。阿里云站点进行镜像下载
阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/
选择 CentOS-7-x86_64-DVD-1804.iso下载
各个版本的ISO镜像文件说明:
CentOS-7-x86_64-DVD-1708.iso 标准安装版(推荐)
CentOS-7-x86_64-Everything-1708.iso 完整版,集成所有软件(以用来补充系统的软件或者填充本地镜像)
CentOS-7-x86_64-LiveGNOME-1708.iso GNOME桌面版
CentOS-7-x86_64-LiveKDE-1708.iso KDE桌面版
CentOS-7-x86_64-Minimal-1708.iso 精简版,自带的软件最少
CentOS-7-x86_64-NetInstall-1708.iso 网络安装版(从网络安装或者救援系统)
step2:创建虚拟机
下载VMware 社区版,创建一个虚拟机加载自定义镜像。参数设置自行设置,需要注意的是网络适配器选择桥接模式。
一开始没有ifconfig命令;使用 ip addr命令显示只要lo和ens33网卡(并且ens33网卡是未启用的),解决方法参考:https://www.cnblogs.com/Drajun/p/12271054.html
step3:开始私有部署
starRTC-server的github官方wiki文档:https://github.com/starrtc/starrtc-server/wiki
1.下载服务端程序
git clone https://github.com/starrtc/starrtc-server.git
这里我没有用git直接下载的压缩包放到/opt/目录下,解压命令:
unzip starRTC-starrtc-server-master.zip
提示没有unzip命令的,需要yum安装
yum install unzip
进入目录:
cd starrtc-server
cd web-supported
进入目录后,里面有个start.sh是一键启动所有服务端的脚本。由于服务器程序会写日志,需要权限,所以最好以root用户启动服务端程序。
给脚本加上执行权限并运行(请使用root用户执行,或命令前加上sudo)。
sudo chmod +x *.sh
./start.sh
效果如下:
如果想确认服务端程序是否已成功启动,可以通过命令
ps -aux | grep Server
看看是否有相应的服务端进程(下图中因为没有启动录制服务端,共有8个进程)
./supervise.msgServer 是对应的守护程序。
2.关闭防火墙(测试方便)
CentOS7关闭防火墙:
systemctl stop firewalld
测试通过后,自行再详细配置防火墙规则。
浏览器访问下http://192.168.0.93:29991 查看是否可正常访问。
step4:安装nginx部署web-demo
安装nginx
yum -y install nginx
若提示没有可用的nginx安装包,那是因为nginx不在centOS官方源中,解决方法如下:
yum install epel-release
yum update
yum install -y nginx
安装完成后,查询下版本,看是否安装成功。
nginx -v
nginx version: nginx/1.16.1
启动nginx
systemctl start nginx.service
访问看下,地址是centOS的ip地址即可。
下载starRTC-web
github地址:https://github.com/starrtc/starrtc-web-demo
下载之后放到nginx网页根目录下/usr/share/nginx/html/。有个可能目录不一样,可以通过nginx.conf配置文件查看。配置文件一般在/etc/nginx下。
nginx 配置https访问
自做ssl证书,请参考:https://www.cnblogs.com/weifeng1463/p/7943633.html
nginx.conf进行相应的参数配置
# Settings for a TLS enabled server.
#
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name _;
root /usr/share/nginx/html;
ssl_certificate "/opt/ssl.crt";
ssl_certificate_key "/opt/ssl.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
主要是把前面的#注释去掉,设置下crt和key文件的目录。重启nginx服务。https://ip试试效果。
修改index.js
打开web/index.js 将下面修改为对应的ip地址.
var privateURL = "192.168.0.93";
var webrtcIP = "192.168.0.93";