webrtc docker环境

安装于docker

 
docker load -i dev_2.tar 

 
安装于docker中,方便移动,再不也用考虑nodejs的依赖问题了 

(base) [xt@kk wks]$ pwd
/home/xt/wks
(base) [xt@kk wks]$ ll
total 4
drwxrwxr-x. 1 xt xt 4096 Apr  9 05:33 blog
drwxrwxr-x. 1 xt xt   18 Apr  8 10:13 wasm
drwxr-xr-x. 1 xt xt   20 Jun 17 01:14 webrtc

依赖包package

 
这是一个NodeJs项目,首先要有一个 package.json依赖包配置文件 

npm install 
yarn install 
这一步由于网络的原因,可能会失败N次,你需要第N+1次尝试

npm run build 

npm run start 
这一步要先修改webpack.config.js中配置的IP 

https://192.168.1.143:8080

ubantu Nodejs环境

 
二进制版本 
wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz

环境变量

 
export NODEWKS=/opt/wks/nodejs
export NODE_BASE=$NODEWKS/app/node-v14.17.5-linux-x64
export PATH=$NODE_PATH/.bin:$NODE_BASE/bin:$PATH
export NODE_GLOBAL=$NODEWKS/app/global
export PATH=$NODE_GLOBAL/bin:$PATH

 
$ which node
/opt/wks/nodejs/app/node-v14.17.5-linux-x64/bin/node

下面的设置会替代NODE_PATH的作用
mkdir -p /opt/wks/nodejs/app/{global,cache}
npm config set prefix "/opt/wks/nodejs/app/global"
npm config set cache "/opt/wks/nodejs/app/cache"

NODE_GLOBAL就是上面global的路径,将全局安装的包加到PATH路径中

将npm的版本降到8.5.5这个解决兼容python,让node可以兼容python3
npm install -g npm@8.5.5

全局安装会安装到global目录 

yarn

 
npm install -g yarn

下面的根据需要安装,不需要就不用设置
yarn config set -g registry http://mirrors.cloud.tencent.com/npm/
yarn config set -g sass_binary_site http://mirrors.cloud.tencent.com/npm/node-sass/


$ which yarn
/opt/wks/nodejs/app/global/bin/yarn

yarn常用命令

 
安装包:
yarn install // 安装package.json里所有包,并将包即它所有依赖项保存进yarn.lock
yarn install --flat  //安装一个包的单一版本
yarn install --force //强制重新下载所有包
yarn install --production //只安装dependencies里的包
yarn install --no-lockfile  //不读取或生成yarn.lock
yarn install --pure-lockfile //不生成yarn.lock

添加包(会更新package.json 和 yarn.lock):
yarn add [package]  //在当前项目中添加一个依赖包,会自动更新到package.json 和 yarn.lock文件中
yarn add [package]@[version]  //安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用 -E参数
yarn add [package]@[tag] //安装某个tag (比如beta,next或者latest)

不指定依赖类型默认安装到dependencies里,你可以指定依赖类型:
yarn  add --dev/-D   //加到devDependencies
yarn  add --peer/-P  //加到peerDependencies
yarn  add --optional /-O //加到optionalDependencies

默认安装包的主要版本里的最新版本,下面两个命令可以指定版本:
yarn add  --exact /-E  //安装包的精确版本。例如: yarn add foo@1.2.3会接受1.9.1版,但是yarn add foo@1.2.3 --exact直接说1.2.3版
yarn add  --title /-T //安装包的次要版本里的最新版。例如:yarn add foo@1.2.3 --title 会接受1.2.9,但不接受1.3.0

 
yarn install 
npm run start

centos Nodejs环境

 
mkdir -p /wks/nodejs/app 
cd /wks/nodejs/app  
wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz
tar -xvf node-v14.17.5-linux-x64.tar.xz 

环境变量

 
export NODEWKS=/wks/nodejs
export NODE_BASE=$NODEWKS/app/node-v14.17.5-linux-x64
export PATH=$NODE_PATH/.bin:$NODE_BASE/bin:$PATH
export NODE_GLOBAL=$NODEWKS/app/global
export PATH=$NODE_GLOBAL/bin:$PATH

 
$ which node
/wks/nodejs/app/node-v14.17.5-linux-x64/bin/node

下面的设置会替代NODE_PATH的作用
mkdir -p /wks/nodejs/app/{global,cache}
npm config set prefix "/wks/nodejs/app/global"
npm config set cache "/wks/nodejs/app/cache"

NODE_GLOBAL就是上面global的路径,将全局安装的包加到PATH路径中

将npm的版本降到8.5.5这个解决兼容python,让node可以兼容python3
npm install -g npm@8.5.5

全局安装会安装到global目录 

yarn

 
npm install -g yarn

下面的根据需要安装,不需要就不用设置
yarn config set -g registry http://mirrors.cloud.tencent.com/npm/
yarn config set -g sass_binary_site http://mirrors.cloud.tencent.com/npm/node-sass/


$ which yarn
/wks/nodejs/app/global/bin/yarn

 
cd /wks/nodejs/code/yuyin1
yarn install 
npm run start

录音项目搭建

 
cat centos-7-x86_64.tar.gz |docker import - cent7

# ifconfig|grep 192
        inet 192.168.73.1  netmask 255.255.255.0  broadcast 192.168.73.255
        inet 192.168.1.133  netmask 255.255.255.0  broadcast 192.168.1.255
        inet 192.168.0.49  netmask 255.255.255.0  broadcast 192.168.0.255

docker network rm  mydk
docker network create --subnet=192.168.73.0/24 mydk

docker run -itd --privileged  --name luyin -h luyin --net mydk --ip 192.168.73.111 -v /tmp:/tmp -v /data/wks:/wks  cent7  bash

alias luyin="docker exec -it luyin bash"

yum install -y net-tools libaio numactl gcc gcc-c++ autoconf make openssl-devel bzip2-devel

### gcc 升级
yum install centos-release-scl
yum install devtoolset-10-gcc*
/usr/bin/scl enable devtoolset-10 bash

adduser xt
vim /etc/sudoers.d/xt
%xt ALL=(ALL) NOPASSWD:ALL


 
[root@luyin /]# ifconfig|grep 192
    inet 192.168.73.111  netmask 255.255.255.0  broadcast 192.168.73.255

 
二进制版本 
mkdir -p /wks/nodejs/app 
cd /wks/nodejs/app/
wget https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz
tar -xvf node-v14.21.3-linux-x64.tar.xz

vim  ~/.bash_profile 

export NODEWKS=/wks/nodejs
export NODE_BASE=$NODEWKS/app/node-v14.21.3-linux-x64
export PATH=$NODE_BASE/bin:$PATH
export NODE_GLOBAL=$NODE_BASE/global
export PATH=$NODE_GLOBAL/bin:$PATH

. ~/.bash_profile 

[xt@luyin app]$ which node
/wks/nodejs/app/node-v14.21.3-linux-x64/bin/node


下面的设置会替代NODE_PATH的作用
mkdir -p $NODE_BASE/{global,cache}
npm config set prefix "$NODE_BASE/global"
npm config set cache "$NODE_BASE/cache"

npm install -g yarn

下面的根据需要安装,不需要就不用设置
yarn config set -g registry http://mirrors.cloud.tencent.com/npm/
yarn config set -g sass_binary_site http://mirrors.cloud.tencent.com/npm/node-sass/

# npm -v
6.14.18

上面是6就不需要降了 
将npm的版本降到8.5.5这个解决兼容python,让node可以兼容python3
npm install -g npm@8.5.5

 


 

方法一:增加 inotify watchers 的上限数量(临时)

可以临时修改 inotify 中 watcher 的上先数量,提高数量上限,方法如下:

sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p
cat /proc/sys/fs/inotify/max_user_watches
524288


方法二:增加 inotify watchers 的上限数量(永久)

但上述方法只是临时修改了 inotify 的 watcher 上限数量,但重启后就会恢复 inotify 的默认设置。可以用以下方法永久修改:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/fs/inotify/max_user_watches
524288


cd /wks/webrtc/yuyin1/
webpack.config.js 修改IP

启动与访问

 
npm run start 

google浏览器
http://192.168.73.111:8080/

https://192.168.73.111:8080/#/recordVideo


 
docker run -itd --privileged  --name ly -h ly --net host -v /tmp:/tmp -v /data/wks:/wks  cent7  bash
alias ly="docker exec -it ly bash"

adduser xt
vim /etc/sudoers.d/xt
%xt ALL=(ALL) NOPASSWD:ALL
  

环境变量


su - xt 
vim  ~/.bash_profile 

export NODEWKS=/wks/nodejs
export NODE_BASE=$NODEWKS/app/node-v14.21.3-linux-x64
export PATH=$NODE_BASE/bin:$PATH
export NODE_GLOBAL=$NODE_BASE/global
export PATH=$NODE_GLOBAL/bin:$PATH

. ~/.bash_profile 

[xt@luyin app]$ which node
/wks/nodejs/app/node-v14.21.3-linux-x64/bin/node


下面的设置会替代NODE_PATH的作用
npm config set prefix "$NODE_BASE/global"
npm config set cache "$NODE_BASE/cache"

[xt@ly ~]$ npm -v
6.14.18

 
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p
cat /proc/sys/fs/inotify/max_user_watches

524288

 
cd /wks/webrtc/yuyin1/
webpack.config.js 修改IP
192.168.0.49

cd /wks/webrtc/yuyin1
npm run start 

https://127.0.0.1:8080

 


 


 
docker start ly
ly 
su  - xt
cd /wks/webrtc/yuyin1
npm run start 

https://127.0.0.1:8080/


 


 


 


 
mkdir -p /wks/nodejs/app
chown -R xt.xt /wks/nodejs/app


su - xt 
cd /wks/nodejs/app  
tar -xvf node-v14.21.3-linux-x64.tar.gz

环境变量

 
su - xt 
vim  ~/.bash_profile 

export NODEWKS=/wks/nodejs
export NODE_BASE=$NODEWKS/app/node-v14.21.3-linux-x64
export PATH=$NODE_BASE/bin:$PATH
export NODE_GLOBAL=$NODE_BASE/global
export PATH=$NODE_GLOBAL/bin:$PATH

. ~/.bash_profile 

[xt@luyin app]$ which node
/wks/nodejs/app/node-v14.21.3-linux-x64/bin/node


下面的设置会替代NODE_PATH的作用
npm config set prefix "$NODE_BASE/global"
npm config set cache "$NODE_BASE/cache"

[xt@ly ~]$ npm -v
6.14.18
    

 
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p
cat /proc/sys/fs/inotify/max_user_watches

524288
    

 
cd /opt/tpf/webrtc/luyin
tar -xvf yuyin1.tar.gz 
cd /opt/tpf/webrtc/luyin/yuyin1/
vim webpack.config.js 修改IP
192.168.73.11

cd /opt/tpf/webrtc/luyin/yuyin1/
npm run start 

https://127.0.0.1:8080
    

 

    
参考