项目部署
# 一、项目在本地打包
- iot平台到手,后端需要改动的地方
- 改动mysql密码,下载时序数据库3.0.7.1win版本,下载redis,JDK为1.8
- 清空数据,并且下载依赖打包
- 前端需要改动的地方
- 首先要将资源全部下载下来,通过在终端输入npm install或npm install --registry=https://registry.npmmirror.com
- 在本来机启动项目npm run dev没有问题,就打包前端项目
# 二、部署到服务器上
- 在var下面创建一个data目录,并且将相当于的文件导入到data目录下,详细的如图所示
- 文件介绍 java目录里面存放java项目打包的地方, nginx目录里面存放前端的打包文件,vue为前端项目打包文件,h5为小程序打包文件, mysql目录下面的init为数据库打包文件存放地,(存放新的数据库时需要将原来的数据库删除), zlmedia是视频流项目存放地
- 修改配置文件
1.将dockey-compose.yml配置文件下的的nginx:下的volumes: 将/var/data/nginx/html:/usr/share/nginx/html 改为/var/data/nginx/vue:/usr/share/nginx/vue 2.将java项目中的打包的文件中的配置文件下的视频流(sip)关闭 3.nginx目录下的nginx.conf配置文件下的 #SSL默认访问端口号为443 listen 443 ssl; #证书文件的路径 ssl_certificate/usr/share/nginx/ssl/fastbee.crt; #私钥文件的路径 ssl_certificate_key/usr/share/nginx/ssl/fastbee.key; ssl_session_timeout10m; 照以下协议配置 ssl_protocolsTLSv1.2TLSv1.3; #请按照以下套件配置,配置加密套件,写法遵循openssl标准 ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_cipherson; 删除,并且将 location{ root/usr/share/nginx/html; 改为 location{ root/usr/share/nginx/vue;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 - 下载环境 1.一种是在根据docker-compose部署记录.sh文档来一步一步的操作 注意:
# 安装docker
# centos7
# 设置镜像
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum clean all
sudo yum makecache
sudo yum update
yum repolist
# 删除原有的docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce
docker -v
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# Euler 操作系统安装
dnf install -y docker
# 设置docker 开启启动
systemctl start docker
systemctl enable docker
1
2
2
# 设置 docker
国内镜像
vim /etc/docker/daemon.json
{
"dns": [
"8.8.8.8",
"114.114.114.114"
],
"registry-mirrors": [
"https://slycxkzw.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://ccr.ccs.tencentyun.com",
"https://mirror.ccs.tencentyun.com",
"https://dockerproxy.com",
"https://docker.m.daocloud.io",
"https://docker.1panel.live"
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 重启docker
systemctl daemon-reload
systemctl restart docker
1
2
2
# 安装docker-compose
curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
#curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
1
2
3
4
5
6
7
2
3
4
5
6
7
# 运行命令
先把项目中的 docker/data/ 文件夹上传到服务器或本地的 /var/ 目录下
进入服务器或本地的 /var/data/ 目录执行:docker-compose up -d 等待执行后完成部署
通过18083端口,访问EMQX控制台,默认账号密码 admin public,登录后在 管理 / 插件 菜单中启用 emqx_auth_http 、 emqx_web_hook、emqx_delayed_publish 插件
# 可先拉取服务中镜像,时间取决于网络情况,可配置docker采用国内镜像源
docker-compose pull
# 构建并启动服务中容器
docker-compose up -d
# 停止并删除服务中容器
docker-compose down
# 创建data文件夹
mkdir /var/data
# 文件夹分配读写可执行权限
sudo chmod 777 /var/data
docker-compose -f docker-compose-netty-all.yml pull
docker-compose -f docker-compose-netty-all.yml up -d
docker-compose -f docker-compose-netty-all.yml down
mkdir /usr/data
sudo chmod 777 /usr/data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 根据宝塔来下载docker环境,并且手动导入镜像文件到 注意:
# (可选) 宝塔安装命令
CentOS安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Deepin安装脚本 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
Debian安装脚本 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
Fedora安装脚本 wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
```需要将访问的ip地址合用户名,密码需要截图保存,防止遗忘
1
2
3
4
5
2
3
4
5
1.将镜像文件导入带服务器中
2.访问宝塔外网地址,配置好docker环境和镜像的导入 3.镜像的配置注意:
需要开放的端口
nginx(前端程序) 80-85,15060/udp
redis(缓存服务) 6379
tdengine(时序数据库) 6030-6049,6030-6049/udp
zlmedia-record(视频流相关) 18081,8082,8443,554,1935,8000,30000-30100
java(主程序,设备通讯等) 8080,8084,8888,8889,1883,8083,5061
mysql(主数据库) 3306
RocketMQ(消息队列服务) 9876
emqx(emqx消息通讯服务) 8083,8084,1883,18083
rmqbroker(队列服务) 10909-10911
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11