Linux平台-单体部署

本手册详细叙述在Linux下HiperMATIC制造协同系统的单一部署方式,以及部署和实施中的步骤和注意事项,包括系统运行环境的推荐配置、前后端部署、注意事项、可能遇到的问题及解决办法等内容。部署人员在进行实际安装前务必详细阅读本手册。本文主要是根据2.4.1版本部署流程进行的设置。可能后续版本有部分细节的调整。

系统概要以及所需软件版本
组件版本
LinuxUbuntu 16.04 (推荐)及以上,CentOS 7.9 及以上
Docker版本 19.03.13及以上
Docker-Compose版本 2.2.2及以上
系统配置
配置版本
Ubuntu 系统16.04 (推荐)及以上
CentOS 系统7.9 及以上
CPU1.2GHz*8核心
内存32G+
磁盘500G,数据库服务器1T以上

1. 环境准备

1.1 下载安装包并检查系统版本、镜像源

1、下载HiperMATIC系统Linux安装包
APP下载
下载地址:https://www.pgyer.com/MqEy
密码:huicheng
提示:
将部署包中全部文件放置于"/home/dockerDeployFile"下路径下,后续部署均按照此路径进行,请确保路径无误!
cd /home mkdir dockerDeployFile
2、检查当前服务器是否满足配置要求(Docker安装目前只支持64位操作系统Linux内核版本>=3.10)
查看位数命令:uname -i
如果是x86_64 则代表64位系统
查看内核版本命令:uname -a
内核版本>3.10
3、检查镜像源(以Ubuntu 16.04为例)
检查系统镜像源是否能正常更新:
apt-get update apt-get list --upgradable
若不能正常更新镜像源,需配置镜像源为国内镜像:
sudo su //进入root用户安装 cd /etc/apt mv sources.list sources.list.bak //备份原配置 touch sources.list chmod 777 sources.list vim sources.list
中科大最新镜像源配置内容复制写入:
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse ## Not recommended # deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

1.2 安装Docker

安装命令:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:curl -sSL https://get.daocloud.io/docker | sh
安装完成后,查看版本号:docker -v
设置docker开机自启动:systemctl enable docker
启动docker服务:systemctl start docker
查看docker的运行状态:systemctl status docker
注意:
docker版本低于19.03.13时需卸载重新安装!
删除docker,及其安装时自动安装的所有包:
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
删除docker其他没有卸载的:
dpkg -l | grep docker
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
卸载没有删除的docker相关插件:
sudo apt-get autoremove docker-ce-*
删除docker的相关配置&目录:
sudo rm -rf /etc/systemd/system/docker.service.d
sudo rm -rf /var/lib/docker
查看是否卸载成功(卸载成功后,直接上一步安装docker):
docker –v

1.3 安装Docker-Compose

安装命令如下(要安装其他版本的 Compose,请替换 v2.2.2):
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
也可以使用国内 daocloud 一键安装命令(推荐):
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
查看docker-compose版本号:
docker-compose --version
若提示“-bash: /usr/local/bin/docker-compose: 权限不够”,可执行:
chmod +x /usr/local/bin/docker-compose

2. 前后端服务部署

2.1 Docker-compose部署应用

进入/home/HiperMaticDeploy/dockerDeployFile 路径下,根据实际服务器ip以及端口占用情况配置.env文件:
参数说明:
必填项可以直接使用默认值,也可以修改,红字说明的配置项一般使用默认值即可;
  • server_ip: 服务端ip地址,用于修改common.yaml配置中的数据库连接ip,前端访问地址(必填);
  • rabbitmq_data_port:  rabbitmq连接地址(必填);
  • rabbitmq_stomp_port: 前端stomp端口(必填);
  • rabbitmq_management_port: rabbitmq管理端端口(必填);
  • rabbitmq_default_user:  rabbitmq用户名(必填);
  • rabbitmq_default_pass: rabbitmq密码(必填)
  • redis_port: redis端口(必填);
  • mysql_port: mysql端口(必填);
  • mysql_username: mysql用户名(必填);
  • mysql_password: mysql密码(必填);
  • nacos_port: nacos端口(必填);
  • nacos_discovery_namespace: nacos服务发现命名空间(必填,建议不要修改,容器其他服务都使用了这个命名空间,后期可以自行调整,2.5.1版本默认空间名改为了dev);
  • nacos_config_namespace: nacos配置中心命名空间 (必填,建议不要修改,容器其他服务都使用了这个命名空间,后期可以自行调整,2.5.1版本默认空间改为了dev);  
修改完成后,执行以下启动脚本,注意使用chmod +x deploy.sh 加上执行权限;
./deploy.sh
查看当前docker-compose都启动了哪些服务:
docker-compose ps

2.2 Nacos注册中心管理配置

全部服务显示状态为done后, 通过浏览器(推荐Chrome)访问nacos的管理界面:http://localhost:8848/nacos/index.html#/login      (IP地址根据项目部署情况自行修改)  
用户名:nacos  密码:nacos
  可以在nacos中查看服务的注册情况
2.3 问题及解决方案
1. 如何查看服务是否启动成功?
  • 使用docker ps命令查看容器是否创建完成;
  • 查看nacos的服务列表,检查服务是否全部注册;
2. 如何解决有的服务没有启动成功?
  • 使用docker logs -f 容器名查看启动日志;
  • 服务名可以使用docker ps查看,名称为NAMES这列;
      可能会有以下两种错误:
1.
此种错误原因是服务启动时会存在服务之间的调用,而这类操作需要授权,需要等到服务授权完成后,使用docker restart 容器名重启服务解决;
2.
此种错误原因是因为服务启动时需要连接mysql,而mysql容器创建完成后并不能马上接受服务的连接,所以出现连接不上的状况,需要使用docker restart 容器名重启服务解决;  
3. 如何部署自己的服务及与其他服务通信?
部署方式分为两种:
 1. 使用java启动jar包(需要安装java8的运行环境),nacos的注册端口已经从容器中暴露,默认值为8848,可以修改配置中的server-addrnamespace与其他服务通信;
2. 打包成镜像启动,具体打包镜像不在此处说明,将自己的服务配置添加到docker-compose文件中,然后docker-compose up:
2024-01-12
1