# microservices **Repository Path**: ruiqimao/microservices ## Basic Information - **Project Name**: microservices - **Description**: 基于spring cloud的项目 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-28 - **Last Updated**: 2024-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 基于spring cloud的项目。 # 软件说明 参考文档:https://mp.weixin.qq.com/s?__biz=MzAxNjk4ODE4OQ==&mid=2247484647&idx=1&sn=f6439e38b3c89a0c5f184db08bf2157c&chksm=9bed2595ac9aac831f4b88c65d8d18df1cc6888ad310681e7d0187750fe808213c7ef282e691&mpshare=1&scene=2&srcid=11139YgAAWb8mht1bfPJlEEZ&from=timeline#rd 。这个文档可以帮助不太了解微服务架构的朋友们大致了解一下什么是微服务,微服务可以做什么,虽然谷歌和亚马孙公司不在使用微服务框架。 # 组织结构 ``` lua xxxx ├── xxxx-common -- 工具类及通用代码模块 ├── xxxx-mbg -- MyBatisGenerator生成的数据库操作代码模块 ├── xxxx-auth -- 基于Spring Security Oauth2的统一的认证中心 ├── xxxx-gateway -- 基于Spring Cloud Gateway的微服务API网关服务 ├── xxxx-monitor -- 基于Spring Boot Admin的微服务监控中心 ├── xxxx-admin -- 后台管理系统服务 ├── xxxx-search -- 基于Elasticsearch的商品搜索系统服务 ├── xxxx-portal -- 移动端商城系统服务 ├── xxxx-demo -- 微服务远程调用测试服务 └── config -- 配置中心存储的配置 ``` ## 项目文档 -在Document文件中挨个查看! ## 项目演示 ## 技术选型 ### 后端技术 | 技术 | 说明 | 官网 | | ---------------------- | -------------------- | ---------------------------------------------------- | | Spring Cloud | 微服务框架 | https://spring.io/projects/spring-cloud | | Spring Cloud Alibaba | 微服务框架 | https://github.com/alibaba/spring-cloud-alibaba | | Spring Boot | 容器+MVC框架 | https://spring.io/projects/spring-boot | | Spring Security Oauth2 | 认证和授权框架 | https://spring.io/projects/spring-security-oauth | | MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html | | MyBatisGenerator | 数据层代码生成 | http://www.mybatis.org/generator/index.html | | PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper | | Knife4j | 文档生产工具 | https://github.com/xiaoymin/swagger-bootstrap-ui | | Elasticsearch | 搜索引擎 | https://github.com/elastic/elasticsearch | | RabbitMq | 消息队列 | https://www.rabbitmq.com/ | | Redis | 分布式缓存 | https://redis.io/ | | MongoDb | NoSql数据库 | https://www.mongodb.com/ | | Docker | 应用容器引擎 | https://www.docker.com/ | | Druid | 数据库连接池 | https://github.com/alibaba/druid | | OSS | 对象存储 | https://github.com/aliyun/aliyun-oss-java-sdk | | MinIO | 对象存储 | https://github.com/minio/minio | | JWT | JWT登录支持 | https://github.com/jwtk/jjwt | | LogStash | 日志收集 | https://github.com/logstash/logstash-logback-encoder | | Lombok | 简化对象封装工具 | https://github.com/rzwitserloot/lombok | | Seata | 全局事务管理框架 | https://github.com/seata/seata | | Portainer | 可视化Docker容器管理 | https://github.com/portainer/portainer | | Jenkins | 自动化部署工具 | https://github.com/jenkinsci/jenkins | | Kubernetes | 应用容器管理平台 | https://kubernetes.io/ | ### 前端技术 | 技术 | 说明 | 官网 | | ---------- | --------------------- | ------------------------------ | | Vue | 前端框架 | https://vuejs.org/ | | Vue-router | 路由框架 | https://router.vuejs.org/ | | Vuex | 全局状态管理框架 | https://vuex.vuejs.org/ | | Element | 前端UI框架 | https://element.eleme.io/ | | Axios | 前端HTTP框架 | https://github.com/axios/axios | | v-charts | 基于Echarts的图表框架 | https://v-charts.js.org/ | ## 环境搭建 ### 前端环境 下载nodejs并安装 ### 开发环境 | 工具 | 版本号 | 下载 | | ------------- | ------ | ------------------------------------------------------------ | | JDK | 1.8 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html | | Mysql | 5.7 | https://www.mysql.com/ | | Redis | 5.0 | https://redis.io/download | | Elasticsearch | 7.6.2 | https://www.elastic.co/cn/downloads/elasticsearch | | Kibana | 7.6.2 | https://www.elastic.co/cn/downloads/kibana | | Logstash | 7.6.2 | https://www.elastic.co/cn/downloads/logstash | | MongoDb | 4.2.5 | https://www.mongodb.com/download-center | | RabbitMq | 3.7.14 | http://www.rabbitmq.com/download.html | | nginx | 1.10 | http://nginx.org/en/download.html | ### 搭建步骤 # 开始Docker环境安装及常用命令 ## 使用Docker来搭建各种环境是非常方便的,有时候仅需一个命令即可完成,honghaipaiche-swarm项目在Linux下的部署也是使用的Docker。下面大家讲解下Docker环境安装及个人总结的一套非常实用的Docker命令。 ### Docker简介 Docker是一个开源的应用容器引擎,让开发者可以打包应用及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上。使用Docker可以更方便地打包、测试以及部署应用程序。 ### Docker环境安装 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 或者 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 运行 yum makecache 生成缓存 #### step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #### Step 2: 添加软件源信息 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #### Step 3: 安装Docker sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #### Step 4: 开启Docker服务 sudo service docker start ## 下面直接上干货。Docker常用命令。 ### 修改镜像的存放位置 #### 查看镜像存放位置 docker info | grep "Docker Root Dir" ### 关闭Docker服务: systemctl stop docker systemctl restart docker ### 先将原镜像目录移动到目标目录: mv /var/lib/docker /mydata/docker #### 建立软连接: ln -s /mydata/docker /var/lib/docker Docker容器清理 #### 查看Docker占用的磁盘空间情况: docker system df #### 删除所有关闭的容器! docker stop docker rm docker rmi 强制删除正在运行的容器: docker rm -f 删除所有已停止的容器: docker container prune docker ps -a|grep Exit | cut -d '' -f 1 | xargs docker rm #### 删除所有 dangling 镜像(没有Tag的镜像): docker rmi $(docker images | grep "^" | awk "{print $3}") #### 删除所有 dangling 数据卷(即无用的 volume): docker volume rm $(docker volume ls -qf dangling=true) du -hs /var/lib/docker/ # 使用du统计docker目录大小 docker system df -v # 使用docker的df命令可查看image,container,volume的大小 操作之前需要请三思而后行: docker swarm leave --force #强制离开集群 docker rm $(docker ps -a -q) #删除所有containe docker volume prune --force #删除所有volume docker network rm $(docker network ls -q) #删除所有network docker rmi --force $(docker images -q) #删除所有image docker system prune --force #删除未被使用镜像、容器和网络 #### 然后使用vim编辑Docker的 daemon.json 配置文件; vim /etc/docker/daemon.json #### 配置好加速器地址; { "registry-mirrors": [ "https://docker.1ms.run", "https://registry-1.docker.io/v2/" ] } #### 然后重启Docker服务即可应用。 sudo systemctl daemon-reload sudo systemctl restart docker 设置docker 开机启动: systemctl enable docker.service #### 查看docker权限 ls -ld /var/lib/docker firewall-cmd --list-ports #删除依赖 yum remove docker-ce docker-ce-cli containerd.io 删除资源 rm -rf /var/lib/docker docker默认的工作目录 rm -rf /var/lib/docker ps aux | grep docker # 项目运行需要MySQL、Redis、Nginx、RabbitMQ、Elasticsearch、Logstash、Kibana. MongoDB、Minl0、Nacos这些服务,需要先把它们启动起来。 ![输入图片说明](document/jdk%E5%92%8C%E9%93%BE%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93/%E6%89%80%E6%9C%89%E8%BD%AF%E4%BB%B6.png) docker search java ![输入图片说明](document/jdk%E5%92%8C%E9%93%BE%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93/Docker%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A41.png) 可以看到第一次执行命令提示找不到资源,我直接用了梯子,才搜到。下面用命令拉取openjdk8。 ## step 1: 安装openjdk docker pull openjdk:8 、 docker pull openjdk:11 ## step 2: 安装nginx docker pull nginx:1.22 先运行一次容器(为了拷贝配置文件): docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -d nginx:1.22 将容器内的配置文件拷贝到指定目录: docker container cp nginx:/etc/nginx /mydata/nginx/ cd nginx/ 修改文件名称: mv nginx conf 终止并删除容器: docker stop nginx docker rm nginx 使用如下命令启动Nginx服务: docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/conf:/etc/nginx \ -d nginx:1.22 docker logs -f nginx ### 将容器启动方式修改为always,这里用了nginx 作为示例,简单记录启动方式的命令。 docker container update --restart=always nginx ### 查看所有网络 docker network ls ### 创建外部网络 docker network create -d bridge my-bridge-network ## step 3: 安装mysql docker pull mysql:5.7 docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 **参数说明** -p 3306:3306:将容器的3306端口映射到主机的3306端口 -v/mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机 -v/mydata/mysql/data:/var/lib/mysq!/:将数据文件夹挂载到主机 -eMYSQL ROOT PASSWORD=root:初始化root用户的密码 ### 查询容器ID docker inspect --format "{{.State.Pid}}" nginx 5137 docker inspect --format "{{.State.Pid}}" mysql 3254 ### 查询容器IP地址: docker inspect --format '{{ .NetworkSettings.IPAddress }}' nginx (下面是我虚拟机nginx的IP地址,不用理会。这里只作记录用) 172.17.0.2 docker inspect --format '{{ .NetworkSettings.IPAddress }}' mysql (下面是我虚拟机mysql的IP地址,不用理会。这里只作记录用) 172.17.0.3 进入运行mysql的容器: cd /mydata/ docker exec -it mysql /bin/bash mysql -uroot -proot --default-character-set=utf8 create database honghaipmdb character set utf8; use honghaipmdb 安装linux文件传输程序:yum -y install lrzsz 把数据库文件拷贝到服务器 docker cp /mydata/honghaipm.sql mysql:/ 数据创建用户并取消限制访问 mysql -root -p 输入密码进入mysql source /honghaipm.sql; 安装mysql: wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm sudo yum install mysql-community-server rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql sudo systemctl start mysqld 在命令行中通过日志文件查看初始密码 sudo cat /var/log/mysqld.log | grep password ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' 怎么导入数据这里不在赘述。1:上传数据库文件到服务器,然后用mysql命令导入数据库;2:既然能链接到虚拟机,那就可以用数据库管理工具链接虚拟机的数据库,然后导入数据。 grant all privileges on *.* to 'uhhpm' @'%' identified by 'Mysql_123456'; FLUSH PRIVILEGES; sudo systemctl restart mysqld systemctl stop firewalld.service systemctl start firewalld.service systemctl status firewalld.service //下面这个wait_timeout默认好像是28800(8h) show global variables like 'wait_timeout'; //然后把时间设置长点(7day) set global wait_timeout=604800; set global interactive_timeout=604800; 数据库的操作尽量别用root账号操作,容易出现重大灾害。这里都懂的就不说了。 ## step 4: 安装redis docker pull redis:7 docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -d redis:7 redis-server --appendonly yes 进入Redis容器使用 redis-cli 命令进行连接: cd /mydata/redis docker exec -it redis redis-cli docker logs -f redis ## step 5: 安装rabbitmq docker pull rabbitmq:3.9.11-management 使用如下命令启动RabbitMQ服务: docker run -p 5672:5672 -p 15672:15672 --name rabbitmq \ --hostname honghaipaiche-rabbit \ -v /mydata/rabbitmg/data:/var/lib/rabbitmg \ -d rabbitmq:3.9.11-management 开启防火墙: firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --reload 访问地址查看是否安装成功 。 上面有演示这里不在详细说明 。用户名和密码:guest 创建帐号并设置其角色为管理员:honghai @honghai@ 创建容器:/honghaipaiche docker logs -f rabbitmq ## stop 6: 安装elasticsearch docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.3 docker pull elasticsearch:7.17.3 因为源程序中的名字是elasticsearch:7.17.3,所以给镜像修改名字,方便后面的匹配,这里给它修改名字 docker tag docker.elastic.co/elasticsearch/elasticsearch:7.17.3 elasticsearch:7.17.3 删除docker.elastic.co/elasticsearch/elasticsearch:7.17.3 docker rmi docker.elastic.co/elasticsearch/elasticsearch:7.17.3 再用docker images 查看镜像 修改虚拟内存区域大小,否则会因为过小而无法启动 sysctl -w vm.max_map_count=262144 使用如下命令启动Elasticsearch服务,内存小的服务器可以通过 ES_JAVA_OPTS 来设置占用内存大小: docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.type=single-node" \ -e "cluster.name=elasticsearch" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d elasticsearch:7.17.3 启动时会发现 /usr/share/elasticsearch/data 目录没有访问权限,只需要修改 /mydata/elasticsearch/data 目录的权限,再重新启动即可; chmod 777 /mydata/elasticsearch/data/ docker start elasticsearch docker logs -f elasticsearch 安装中文分词器IKAnalyzer,注意下载与Elasticsearch对应的版本,下载地址: https://release.infinilabs.com/analysis-ik/stable/ https://github.com/infinilabs/analysis-ik/releases/tag/v7.17.3 上传到 /mydata/elasticsearch/plugins cd analysis-ik/ 下载完成后解压到Elasicsearch的 /mydata/elasticsearch/plugins 目录下 tar -zxvf analysis-ik.tar.gz pwd 重启elasticsearch服务: docker restart elasticsearch 开启防火墙 firewall-cmd --zone=public --add-port=9200/tcp --permanent firewall-cmd --reload iptables -A INPUT -p tcp --dport 3306 -j ACCEPT docker logs -f elasticsearch ## stop 7 :安装logstash docker pull docker.elastic.co/logstash/logstash:7.17.3: docker pull logstash:7.17.3 因为源程序中的名字是logstash:7.17.3,所以给镜像修改名字,方便后面的匹配,这里给它修改名字 docker tag docker.elastic.co/logstash/logstash:7.17.3 logstash:7.17.3 删除docker.elastic.co/logstash/logstash:7.17.3 docker rmi docker.elastic.co/logstash/logstash:7.17.3 修改Logstash的配置文件 logstash.conf 中 output 节点下的Elasticsearch连接地址为 es:9200,配置文件地址: https://gitee.com/ruiqimao/honghaipaiche-swarm/blob/master/document/elk/logstash.conf output { elasticsearch { hosts => "es:9200" index => "honghaipaiche-%{type}-%{+YYYY.MM.dd}" } } 创建 /mydata/logstash 日录,并将Logstash的配置文件 logstash.conf 拷贝到该目录; mkdir /mydata/logstash 使用如下命令启动Logstash服务: docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \ --link elasticsearch:es \ -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \ -d logstash:7.17.3 docker logs -f logstash ## stop 8 : 安装kibana docker pull kibana:7.17.3 因为源程序中的名字是kibana:7.17.3,所以给镜像修改名字,方便后面的匹配,这里给它修改名字 docker tag docker.elastic.co/kibana/kibana:7.17.3 kibana:7.17.3 删除docker.elastic.co/kibana/kibana:7.17.3 docker rmi docker.elastic.co/kibana/kibana:7.17.3 使用如下命令启动Kibana服务 docker run --name kibana -p 5601:5601 \ --link elasticsearch:es \ -e "elasticsearch.hosts=http://es:9200" \ -d kibana:7.17.3 开启防火墙: firewall-cmd --zone=public --add-port=5601/tcp --permanent firewall-cmd --reload docker logs -f kibana ## stop 9 : 安装mongo docker pull mongo:4 使用docker命令启动: docker run -p 27017:27017 --name mongo \ -v /mydata/mongo/db:/data/db \ -d mongo:4 ## stop 10 : 安装minio docker pull minio/minio docker run -p 9090:9000 -p 9001:9001 --name minio \ -v /mydata/minio/data:/data \ -e MINIO_ROOT_USER=minioadmin \ -e MINIO_ROOT_PASSWORD=minioadmin \ -d minio/minio server /data --console-address ":9001" 输入账号密码 minioadmin:minioadmin 即可登录 ## stop 11 : 安装nacos docker pull nacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.3.0 docker pull nacos/nacos-server:v2.3.0 因为源程序中的名字是nacos/nacos-server:v2.3.0,所以给镜像修改名字,方便后面的匹配,这里给它修改名字 docker tag nacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.3.0 nacos/nacos-server:v2.3.0 删除nacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.3.0 docker rmi nacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.3.0 接下来使用如下命令启动Nacos服务 docker run -p 8848:8848 -p 9848:9848 --name nacos-registry \ -e MODE=standalone \ -d nacos/nacos-server:v2.3.0 # 应用镜像打包上传 ## Docker开启远程管理API 在打包上传应用镜像之前,我们需要先开启Docker的远程管理API。 ### 用vim编辑器修改 docker.service 文件: vim /usr/lib/systemd/system/docker.service ### 需要修改的部分: ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ### 修改后的部分: ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock ### 修改配置后需要重新启动Docker服务才能生效; systemctl daemon-reload systemctl restart docker ### 开启防火墙打开的Docker远程管理API端口 2375 sudo systemctl start firewalld sudo systemctl enable firewalld sudo systemctl status firewalld firewall-cmd --zone=public --list-ports firewall-cmd --zone=public --add-port=2375/tcp --permanent firewall-cmd --reload ## 构建所有Docker镜像并上传 修改项目根目录下的 pom.xml中的 docker.host 属性: http://服务器IP地址:2375 如果项目根目录的 pom.xml中 docker-maven-plugin 的节点被注释掉了就打开注释使项目在打包时直接构建Docker镜像: ## 在Nacos添加配置 xxxx-admin、xxxx-gateway、xxxx-portal、xxxx-search、xxxx-socket服务的配置 ### 在Nacos中添加配置文件,注意Nacos中的 Data Id 需要与配置文件的名称一致; **_注意Nacos里的配置内容 要和xxxx-admin-prod.yaml 文件里的内容一样!直接复制粘贴进去就行。同时选择YAML格式!_** ### 运行:docker start nacos-registry **运行:docker start mysql(nginx等服务,具体有哪些docker容器上面有描述。这里不再赘述。)** ### 应用部署 使用如下命令依次启动服务,启动顺序为xxxx-gateway、xxxx-auth、xxxx-admin、xxxx-portal、xxxx-search、xxxx-monitor、xxxx-socket。 检查docker容器运行 docker ps -a **如果有哪些容器没有运行,用docker start mysql 运行,注意这里只是举例,有可能并不一定是mysql** 全部启动后运行:docker stats,查看运行状态。 #### xxxx-gateway docker run -p 8201:8201 --name honghaipaiche-gateway \ --link nacos-registry:nacos-registry \ --link mysql:db \ --link redis:redis \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/honghaipaiche-gateway/logs:/var/logs \ -d honghaipaiche/honghaipaiche-gateway:1.0.0 docker logs -f honghaipaiche-gateway #### xxxx-auth docker run -p 8401:8401 --name honghaipaiche-auth \ --link nacos-registry:nacos-registry \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/honghaipaiche-auth/logs:/var/logs \ -d honghaipaiche/honghaipaiche-auth:1.0.0 docker logs -f honghaipaiche-auth #### xxxx-admin docker run -p 8080:8080 --name honghaipaiche-admin \ --link nacos-registry:nacos-registry \ --link mysql:db \ --link redis:redis \ -v /etc/localtime:/etc/localtime \ -v/mydata/app/honghaipaiche-admin/logs:/var/logs \ -d honghaipaiche/honghaipaiche-admin:1.0.0 docker logs -f honghaipaiche-admin #### xxxx-portal docker run -p 8085:8085 --name honghaipaiche-portal \ --link nacos-registry:nacos-registry \ --link mysql:db \ --link redis:redis \ --link mongo:mongo \ --link rabbitmq:rabbitmq \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/honghaipaiche-portal/logs:/var/logs \ -d honghaipaiche/honghaipaiche-portal:1.0.0 docker logs -f honghaipaiche-portal #### xxxx-search docker run -p 8081:8081 --name honghaipaiche-search \ --link nacos-registry:nacos-registry \ --link elasticsearch:es \ --link mysql:db \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/honghaipaiche-search/logs:/var/logs \ -d honghaipaiche/honghaipaiche-search:1.0.0 docker logs -f honghaipaiche-search #### xxxx-socket docker run -p 8087:8087 --name honghaipaiche-socket \ --link nacos-registry:nacos-socket \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/honghaipaiche-socket/logs:/var/logs \ -d honghaipaiche/honghaipaiche-socket:1.0.0 docker logs -f honghaipaiche-socket #### xxxx-monitor docker run -p 8101:8101 --name honghaipaiche-monitor \ --link nacos-registry:nacos-registry \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/honghaipaiche-monitor/logs:/var/logs \ -d honghaipaiche/honghaipaiche-monitor:1.0.0 docker logs -f honghaipaiche-monitor # 至此后端所有配置已经完成,下面我们说一下前端部署 ## 进入xxxx-admin-web目录 admin 运行:npm run build 打包秤dist文件,然后上传到服务器,并解压移动到 /mydata/nginx/html/ tar -zxvf dist.tar.gz mv dist admin 由于我们将使用服务器IP进行访问,所以我们还需要修改nginx的默认配置文件 dfault.conf; 将默认的 server name从localhost改为服务器IP地址; 修改完配置后重启nginx; docker restart nginx ## 进入xxxx-windows目录 操作方式同上,只是修改一下目录的名字,这里不在赘述。 # 总结: ## 后端和前端技术上面有描述,不在赘述。 ## 坑点:因为用的是docker镜像,因网络问题虚拟机不好下载,docker容器莫名的不能启动。 ## sudo systemctl start mysqld ## sudo systemctl enable mysqld ## service mysqld status ## ps aux | grep mysql