大疆三方云平台部署
安装docker
- 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine -y
- 安装工具
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 配置镜像源
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io -y
- 启动服务
sudo systemctl start docker
sudo systemctl enable docker
- 验证服务
sudo docker version
- 配置镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://ssxtm5jf.mirror.aliyuncs.com","https://docker.m.daocloud.io","https://mirror.ccs.tencentyun.com","http://hub-mirror.c.163.com"
]
}
EOF
- 重启服务
sudo systemctl daemon-reload && sudo systemctl restart docker
安装Docker Compose(非必须)
访问 Docker Compose 页面,找到最新版本的下载链接。例如,最新版本是 v2.35.1,则下载链接为:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.35.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
赋予权限
sudo chmod +x /usr/local/bin/docker-compose
查看是否成功
docker-compose version
安装openssl-1.1.1
- 下载
wget https://distfiles.macports.org/openssl/openssl-1.1.1l.tar.gz
tar -zxvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
- 配置编译路径设置安装路径
./config --prefix=/usr/local/openssl
- 测试配置是否成功
./config -t
- 开始编译并安装执行以下命令进行编译和安装
make && make install
- 备份旧版本为避免问题
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
- 创建新版本的软链接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
- 链接库文件替换系统的动态库文件
ln -sf /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so
ln -sf /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.soln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
- 查看
openssl version
安装redis
- 拉取镜像
docker pull redis
- 挂载目录
mkdir -p /home/data/redis/{conf,data,log}
3.启动redis
docker run -p 26379:6379 \
--name redis \
--restart unless-stopped \
-v /home/data/redis/data:/data \
-v /home/data/redis/log:/var/log/redis \
-d redis redis-server \
--appendonly yes --requirepass '密码'
安装minio
- 拉取镜像
docker pull minio/minio
- 创建目录
mkdir -p /home/data/minio/{config,data}
chmod -R 777 /home/data/minio
- 启动临时容器
docker run -d \--name minio \--restart unless-stopped \-e TZ=Asia/Shanghai \-p 9000:9000 \-p 9001:9001 \-v /home/data/minio/data:/data \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=密码" \minio/minio server /data --console-address ":9001"
- 复制配置
docker stop minio
docker cp minio:/root/.minio /home/data/minio/config
# 删除临时容器
docker rm minio
- 启动minio
docker run -d \
--name minio \
--privileged \
--restart unless-stopped \
-e TZ=Asia/Shanghai \
-p 9000:9000 \
-p 9001:9001 \
-v /home/data/minio/data:/data \
-v /home/data/minio/config:/root/.minio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=密码" \
-v /usr/share/zoneinfo:/usr/share/zoneinfo:ro \
minio/minio server /data --console-address ":9001"
登录
http://ip:9001/
安装emqx
- 拉取镜像
docker pull emqx/emqx
- 创建目录
mkdir -p /home/data/emqx/{etc,lib,data,log}
chmod -R 777 /home/data/emqx
3.启动 emqx
docker run -d \
--name emqx \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8081:8081 \
-p 18083:18083 \
emqx/emqx
- 复制配置
docker stop emqx
docker cp emqx:/opt/emqx/etc /home/data/emqx
# 删除临时容器
docker rm emqx
- 启动emqx
docker run -d \
--name emqx \
--privileged \
--restart unless-stopped \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8081:8081 \
-p 18083:18083 \
-v /home/data/emqx/etc:/opt/emqx/etc \
emqx/emqx
登陆地址
http://ip:18083/
默认用户名admin、默认密码public
安装mysql
- 拉取镜像
docker pull mysql:8.0.19
- 创建目录
mkdir -p /home/data/mysql/{config,data,log}
2.编辑配置文件
sudo tee /home/data/mysql/config/my.cnf <<EOF
[mysql]
default-character-set=utf8
[mysqld]
user=mysql
skip-name-resolve
log_bin=on
binlog_expire_logs_seconds=604800
max_connections=400
character-set-server=utf8mb4
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=32M
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
EOF
- 启动
docker run -d \
--name mysql \
--privileged \
--restart unless-stopped \
-v /home/data/mysql/config:/etc/mysql/conf.d \
-v /home/data/mysql/data:/var/lib/mysql \
-v /home/data/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD='密码' \
-e TZ=Asia/Shanghai \
-p 31190:3306 \
mysql:8.0.19
- 导入sql文件
将sql文件上传到服务器
docker cp /tmp/cloud_sample.sql mysql:/cloud_sample.sqldocker exec -it mysql bash
mysql -u root -pCREATE DATABASE cloud_sample;
USE cloud_sample;SOURCE /cloud_sample.sql;show tables;
安装nginx
- 依赖安装
yum install -y gcc pcre glibc gcc-c++ pcre-devel zlib zlib-devel openssl openssl-devel curl perl libpcre libssl unzip
- 下载解压
wget 'https://openresty.org/download/openresty-1.27.1.2.tar.gz'
tar -xzf openresty-1.27.1.2.tar.gz
cd openresty-1.27.1.2
- 编译
./configure --prefix=/home/apps/openresty --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-luajit --with-stream --with-threads --with-file-aio --with-http_v2_module
gmake&&gmake install
赋予权限
chmod +s /home/apps/openresty/bin/openresty
编辑配置文件/home/apps/openresty/nginx/conf
- 开机自启
vim /etc/rc.local
输入以下内容
/bin/su - root -c ‘/home/apps/openresty/bin/openresty’
chmod 755 /etc/rc.d/rc.local
- 配置环境变量
vim ~/.bash_profile
在末尾追加以下内容
export PATH=/home/apps/openresty/bin:$PATH
source ~/.bash_profile
echo $PATH
安装ffmpeg
sudo yum install yum-utils -y
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
yum install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm -y
sudo yum install ffmpeg ffmpeg-devel
查看
ffmpeg -version
ffprobe -version
cmake安装
sudo yum install gcc-c++ -y
wget https://github.com/Kitware/CMake/releases/download/v3.17.0-rc3/cmake-3.17.0-rc3.tar.gz
tar -xvf cmake-3.17.0-rc3.tar.gz
cd cmake-3.17.0-rc3
export OPENSSL_ROOT_DIR=/usr/local/openssl
./configure
make -j4
sudo make install
mv /usr/bin/cmake /usr/bin/cmake.back
ln -s /usr/local/bin/cmake /usr/bin/
安装ZLMediaKit
官方编译地址zlm启用webrtc编译指南
- libsrtp
下载连接libsrtp
tar -zxvf libsrtp-2.3.0.tar.gz
cd libsrtp-2.3.0
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make -j8 && make install
- 下载zlm源码
yum install git
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init
- 编译
mkdir build
cd build
cmake .. -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR=/usr/local/openssl -DOPENSSL_LIBRARIES=/usr/local/openssl/lib
cmake --build . --target MediaServer
- 修改配置文件
将已经配置好的文件上传到
/home/apps/ZLMediaKit/release/linux/Debug