文章目录
- 相关配置版本关系
 - 拉取代码
 - 使用`Git clone`
 - 下载源码
 
- MYSQL配置
 - Nacos配置
 - Windows本地下载
 - 也可以Docker部署
 - Nacos持久化配置
 - 启动Nacos
 - 访问Nacos
 
- Redis配置
 - RocketMQ配置
 - 新建相应目录`rocketmq`, 然后在里面新建`broker`文件夹, 放`broker.conf`
 - 在 `rocketmq` 新建 `data` 文件夹,用来存放持久化数据,防止容器重启数据丢失
 - 新建 `docker-compose` 文件夹,里面新建文件 `docker-compose.yml` 文件
 - 最终文件夹目录如下:
 - 在`docker-compose`目录下执行`cmd`命令, 然后再执行`docker-compose up -d`
 - `docker-compose`相关命令
 - 在`Nacos`中的`application-dev.yml`添加如下配置
 
- 修改`bootstrap.yml`配置文件
 - 启动前端UI - `pmhub-ui`
 - 最终结果如下
 - 问题汇总
 - 出现`user not found!`
 - 注入`bean`失败
 
相关配置版本关系
| 技术 | 名称 | 版本 | 官网 | 
|---|---|---|---|
| SpringBoot | 基础框架 | 2.7.18 | Spring Boot | 
| SpringCloud | 微服务框架 | 2021.0.8 | Spring Cloud | 
| SpringCloud Alibaba | 阿里微服务框架 | 2021.0.5.0 | SpringCloud Alibaba | 
| SpringCloud Gateway | 服务网关 | 3.1.8 | Spring Cloud Gateway | 
| Redis | 分布式缓存数据库 | Latest | Redis | 
| RocketMQ | 消息队列 | 2.2.3 | RocketMQ · 官方网站 | 
| Sentinel | 流控防护框架 | 1.8.6 | GitHub - Sentinel | 
| MyBatis-Plus | 持久层框架 | 3.5.1 | MyBatis-Plus 🚀 | 
| HuTool | 小而全工具集项目 | 5.8.11 | Hutool - 🍬 | 
拉取代码
使用Git clone
 
git clone git@github.com:laigeoffer/pmhub.git
 
git clone https://gitee.com/laigeoffer/pmhub.git
 
下载源码
- GitHub 地址:https://github.com/laigeoffer/pmhub
 - 码云地址:https://gitee.com/laigeoffer/pmhub
 
MYSQL配置
- 将下面的
**sql文件**都导入到数据库中, 成功后如右图所示 - **相信大家将来都是进大厂的人, 导入sql数据就不用小的我多说了吧, 嘻嘻~**😄
 


Nacos配置
Windows本地下载
Nacos Server 下载
- **尽量和苍何老师的Nacos版本同步哦~, 不然改报错要改红温啦~**🤣
 

 
也可以Docker部署
docker run \
-d -p 8848:8848 \
-p 9848:9848 \
--name nacos2 \
-e MODE=standalone \
-e TIME_ZONE='Asia/Shanghai' \
nacos/nacos-server:v2.1.1
 
- *可以参考博客 : 三分钟极速部署Nacos与服务注册_命令创建nacos服务-CSDN博客*
 
Nacos持久化配置
- PmHub 通过 nacos 的持久化将数据永久的存储在 MySQL 中,避免每次启动配置丢失。
 - 找到 
**/conf/application.properties**文件,修改数据库连接信息。 - 可以直接复制 
**pmhub/docker/nacos/conf/application.properties**内容。 - 对应的数据库配置改成自己的, ip / 端口 / mysql密码等
 

 
启动Nacos
①、如果你是 macOS 用户,可以直接在终端输入**sh startup.sh -m standalone**启动 Nacos。
 ②、如果你是 Windows 用户,可以直接双击 **startup.cmd** 启动 Nacos。
访问Nacos
- **启动成功后访问 http://localhost:8848/nacos **
 - **即可看到 Nacos 控制台。默认用户名密码都是 **
**nacos** - 登录成功之后如下图所示
 

Redis配置
- 本地启动Redis即可, 如果是云端的Redis记得修改地址, 有密码记得加上密码
 - 下面这些都是带有
**redis**配置的配置文件, 如果要启动记得先去**redis**修改ip和端口 **pmhub-gateway-dev.yml******pmhub-auth-dev.yml****pmhub-system-dev.yml******pmhub-gen-dev.yml****pmhub-job-dev.yml******pmhub-project-dev.yml******pmhub-workflow-dev.yml**

RocketMQ配置
● 官网地址:https://rocketmq.apache.org/****
● 开源地址:**https://github.com/apache/rocketmq
- 基于
**windows**的**docker**的**docker-compose**部署, 有点绕口哈哈~ 
新建相应目录rocketmq, 然后在里面新建broker文件夹, 放broker.conf
 
brokerClusterName = DefaultCluster
brokerName = broker
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 你的本机ip, 注意不要写localhost,127.0.0.1等,因为这是放到docker容器中的,我们需要指向mac本机
brokerIP1 = 192.168.200.47
# 禁用 tsl
tlsTestModeEnable = false
 
在 rocketmq 新建 data 文件夹,用来存放持久化数据,防止容器重启数据丢失
 
新建 docker-compose 文件夹,里面新建文件 docker-compose.yml 文件
 
- 文件挂载的路径记得换成自己的
 

version: '3.8'
services:
  namesrv:
    image: apache/rocketmq:5.1.0
    container_name: rocketmq-pmnamesrv
    command: sh mqnamesrv
    networks:
      - rocketmq
    ports:
      - "9876:9876"
  broker:
    image: apache/rocketmq:5.1.0
    container_name: rocketmq-pmbroker
    command: sh mqbroker -n namesrv:9876 -c /home/rocketmq/rocketmq-5.1.0/conf/broker.conf
    ports:
      - "10911:10911"
      - "10909:10909"
      - "10912:10912"
    depends_on:
      - namesrv
    networks:
      - rocketmq
    volumes:
      - D:/rocketmq/broker/broker.conf:/home/rocketmq/rocketmq-5.1.0/conf/broker.conf
      - D:/rocketmq/data:/home/rocketmq/store
  proxy:
    image: apache/rocketmq:5.1.0
    container_name: rocketmq-pmproxy
    networks:
      - rocketmq
    depends_on:
      - broker
      - namesrv
    ports:
      - 8080:8080
      - 8081:8081
    restart: on-failure
    environment:
      - NAMESRV_ADDR=rocketmq-pmnamesrv:9876
    command: sh mqproxy
  dashboard:
    image: apacherocketmq/rocketmq-dashboard:latest
    container_name: rocketmq-dashboard
    environment:
      - JAVA_OPTS=-Drocketmq.namesrv.addr=rocketmq-pmnamesrv:9876
    ports:
      - "8082:8080"
    networks:
      - rocketmq
    depends_on:
      - namesrv
      - broker
      - proxy
networks:
  rocketmq:
    driver: bridge
 
最终文件夹目录如下:

在docker-compose目录下执行cmd命令, 然后再执行docker-compose up -d
 

docker-compose相关命令
 
# 一键启动
docker-compose up -d
# 一键停止所有容器
docker-compose stop
# 一键删除所有容器
docker-compose rm
# 一键查看所有启动的容器
docker-compose ps
 
在Nacos中的application-dev.yml添加如下配置
 
# 企微消息相关
  workWx:
    host: https://laigeoffer.cn:7880
    corpid: ww212312313
    corpsecret: DIPuyCcN7C1231231
    addressSecret: eFTxBtSvzUyBO1JCNTT1jfzzRq1OG123123
    agentid: 1000008
    aeskey: txwiJmdUJlC8T5c8oaXm4G3OiM12312
    path:
 # rocketMQ 配置
  rocketMQ:
   # 配置nameserver代理地址
    addr: 127.0.0.1:8081
    topic:
     # 企微消息topic
      wxMessage: pmhub_local
    # 消费者组  
    group:
      wxMessage: PMHUB_GROUP
 

修改bootstrap.yml配置文件
 
- 不懂是不是苍何老师忘改nacos的密码
 - 我这
**nacos**用的是默认密码不用改, 你们改成自己**nacos**的密码即可 

- 最后启动对应的服务
 

启动前端UI - pmhub-ui
 
- 用
**VSCode / WebStorm**打开项目里的**pmhub-ui** **node.js**要在17或以下, 太高会**install**失败的- 可以用NVM来切换
**Node.js**的版本 - **安装NVM可以参考: **nvm-下载、安装、使用(2023/07/12更新)-CSDN博客
 
npm install # 安装node_modules
npm run dev # 启动ui
 
最终结果如下

问题汇总
下面的语雀文档会不定期更新碰到的问题, 可以收藏一手哈哈~
 https://www.yuque.com/yuqueyonghubra2ax/yncnyp/rc55evxoe5sbt48u?singleDoc#
出现user not found!
 

- **问题原因 : **
 
- 这是因为对应的服务理由
**seata**的配置, 同时**nacos**开启了验证 - 但是没加上
**nacos**用户的账号密码, 所以找不到**user** 
- **解决办法 : **
 
- 在对应的服务的Nacos配置文件加上nacos账号密码
 

注入bean失败
 

- **问题原因 : **
 
- **我也不太清楚, **
**redisService**在另一个模块, 估计是启动的模块没有成功注入进来 
- **解决办法 : **
 
**maven**先**clean**再**compile**, 最后再重新构建项目





















