2022最新IntellJ IDEA的zheng开发部署文档
友情提示:本文黑夜模式下阅读效果更佳,请点击右侧浮窗的太阳符号
前景提示
- zheng是国内一款很好的开源项目,非常的便于学习,而且它是开源免费的,但是,它的开发部署文档实在是没法按照那个文档,快速高效的在本地搭建一套可以运行的项目,对于学习开发和使用实在是一大难题,为此本博主耗时一个多星期,特意编辑了这套高效,快捷合理的部署文档,希望看到的人可以快速搭建项目,快速学习,文档不全,不合理,不可复用性一直是我国开发界的弊病,看看邻国印度,就是文档写的好,都享誉硅谷了,希望我国的开发不要仅仅是技术好,文档的状况也要提上日程,毕竟可以一直让更多人开发学习的才是最好的开源软件,才能更好的做大做强.
| 日期 | 修改人 | 修改内容 |
|---|---|---|
| 2022年4月13日 | 北极的大企鹅 | 九.启动配置 |
| 2022年4月15日 | 北极的大企鹅 | 环境配置 |
| 2022年4月17日 | 北极的大企鹅 | 环境配置 |
| 2022年4月19日 | 北极的大企鹅 | 环境配置 |
| 2022年4月20日 | 北极的大企鹅 | TreeInfotip添加 |
一、环境整合
构建工具(参考工具部署方式)
| 软件名称 | 版本 | 相关文章推荐 |
|---|---|---|
| Git | 13.5.0 | https://www.cnblogs.com/liuyangfirst/p/15996063.html |
| JDK | 1.8 | https://www.cnblogs.com/liuyangfirst/p/14334385.html |
| Maven | 3.6.0 | https://www.cnblogs.com/liuyangfirst/p/15981202.html |
| MySQL | 5.6.10 | https://www.cnblogs.com/liuyangfirst/p/15997667.html |
| Redis | 5.0.10 | https://www.cnblogs.com/liuyangfirst/p/15998117.html |
| ActiveMQ | 5.16.4 | https://www.cnblogs.com/liuyangfirst/p/16180817.html |
| Nginx | 1.18.0 | https://www.cnblogs.com/liuyangfirst/p/13438745.html |
| Zookeeper | 3.8.0 | https://www.cnblogs.com/liuyangfirst/p/16181427.html |
| Tomcat | 10.0.1 | https://www.cnblogs.com/liuyangfirst/p/16181735.html |
| Dubbo-admin | 2.5.4 | https://www.cnblogs.com/liuyangfirst/p/16183180.html |
| DBeaver | 7.3.0 | https://www.cnblogs.com/liuyangfirst/p/15997753.html |
| IntelliJ IDEA | 尽量使用比较新的版本 | https://www.jetbrains.com/idea/ |
| RedisDesktopManager | 0.9.3.817 | https://www.cnblogs.com/liuyangfirst/p/15998132.html |
二、git 导入编译器
如图: git ->clone


三、模块描述浅析
- 文件路径:zheng/pom.ml
| 模块名称 | 描述 | |
|---|---|---|
| zheng-admin | 后台管理模板 | |
| zheng-upms | 用户权限管理系统,框架怎么运行的仔细看看,这个是核心重点 | |
| zheng-common | SSM框架公共模块,公共的都放这里 | |
| zheng-api | API接口总线系统 | |
| zheng-message | 实时通知系统 | |
| zheng-ucenter | 用户系统(包括第三方登录) | |
| zheng-oss | 对象存储系统 | |
| zheng-cms | 内容管理系统 | |
| zheng-pay | 支付系统 | |
| zheng-shop | 电子商务系统(这个还有待开发) | |
| zheng-wechat | 微信系统 | |
| zheng-demo | 示例模块(包含一些示例代码等) | |
| project-datamodel | 数据库脚本 | |
| project-tools | 项目工具脚本 |
- 可以看到项目所以模块的位置

四、配置文档
1.总配置
| 模块 | 路径 | 文件名称 | |
|---|---|---|---|
| 开发模式配置 | zheng-cms/zheng-cms-admin | src/main/resources/profiles | dev.properties(默认) |
| 生产模式配置 | zheng-cms/zheng-cms-admin | src/main/resources/profiles | prod.properties |
| 测试模式配置 | zheng-cms/zheng-cms-admin | src/main/resources/profiles | test.properties |
- 配置简单说明

2.数据库配置
- (1).jdbc.properties配置
| 模块 | 路径 | 文件名称 | |
|---|---|---|---|
| zheng-cms-admin | src\main\resources\ | jdbc.properties | |
| zheng-cms-rpc-service | src\main\resources\ | jdbc.properties | |
| zheng-pay-rpc-service | src\main\resources\ | jdbc.properties | |
| zheng-ucenter-rpc-service | src\main\resources\ | jdbc.properties | |
| zheng-upms-rpc-service | src\main\resources\ | jdbc.properties | |
| zheng-ucenter-web | src\main\resources\ | jdbc.properties | |
| zheng-upms-server | src\main\resources\ | jdbc.properties | |
| zheng-wechat-mp | src\main\resources\ | jdbc.properties |
jdbc是这样的文档在总配置dev.properties中修改,就会映射到这里

(2).redis.properties配置
| 模块 | 路径 | 文件名称 | |
|---|---|---|---|
| zheng-cms-admin | src\main\resources\ | redis.properties | |
| zheng-cms-rpc-service | src\main\resources\ | redis.properties | |
| zheng-cms-web | src\main\resources\ | redis.properties | |
| zheng-oss-admin | src\main\resources\ | redis.properties | |
| zheng-pay-rpc-service | src\main\resources\ | redis.properties | |
| zheng-ucenter-rpc-service | src\main\resources\ | redis.properties | |
| zheng-upms-rpc-service | src\main\resources\ | redis.properties | |
| zheng-ucenter-web | src\main\resources\ | redis.properties | |
| zheng-upms-server | src\main\resources\ | redis.properties | |
| zheng-wechat-mp | src\main\resources\ | redis.properties |
- jdbc是这样的文档在总配置dev.properties中修改,就会映射到这里

3.密码设置
- 由于采用的是AES加密配置,所以每个密码要从明文,转化为AES加密模式.
| 模块 | 路径 | 文件名称 | |
|---|---|---|---|
| zheng-common | src/main/java/com/zheng/common/util | AESUtil.java |
- 在这个main中点击run就会在控制界面生成密码的加密模式.


4.配置建议
- 初期刚上手不建议修改基础配置,毕竟改错了出了bug想调试和修复还需要大量时间,所以本次以默认为主.
- 默认mysql,需要建立数据库zheng(下文详谈),账户/密码 : root/123456
- 默认redis,需要配置好环境,端口/密码: 6379/无(那个密码位置的加密码默认是没有密码)
五、在IDEA中执行MySQL的脚本
- 在本地DBeaver建立数据库zheng,(不建立,以下步骤操作不了)



- 右侧栏,找到DATABASE,选择加号,找到MYSQL

- 填写配置信息,测试连接,测试连接的时候可能要下载相关的jar包.

- 找到需要运行的脚本,然后选择run

- 填写数据库信息,选择右侧加号,导入刚刚配置的数据库.

- 然后点击run,就会成功运行脚本.

- 打开DBeaver检查数据执行成功.

六、启动后台项目
1.编译器配置
保证IDE的maven配置为本地的maven,JDK为1.8以上的在项目对应上,还有编码格式没有问题(这些基础问题没有问题)
- File -> setting

- File -> Project Struct

- File->Settings->Editor ->File Encodings

- File->Settings->Build -> Compiler -> Java Compiler

- File -> setting
2.maven加载依赖包
- 点击maven这里的刷新

点击项目的这三项加载(三个同时选中,然后点击run的绿色三角形).

成功后如图(没有报错表示成功,如果有错误,请自行检查自己的maven配置)(友情提示:包多加载比较慢,请耐心等待,同时注意是否有报错信息)

小建议,建议关闭测试如图点击这里,有的测试会报错.

5.修改host,做个本地映射
- 进入本地C盘,这个路径下(默认的),C:\Windows\System32\drivers\etc

- 右键选择文本方式打开

- 将如下代码贴到文件中保存.
## zheng项目使用
127.0.0.1 ui.zhangshuzheng.cn
127.0.0.1 upms.zhangshuzheng.cn
127.0.0.1 cms.zhangshuzheng.cn
127.0.0.1 pay.zhangshuzheng.cn
127.0.0.1 ucenter.zhangshuzheng.cn
127.0.0.1 wechat.zhangshuzheng.cn
127.0.0.1 api.zhangshuzheng.cn
127.0.0.1 oss.zhangshuzheng.cn
127.0.0.1 config.zhangshuzheng.cn
127.0.0.1 zkserver
127.0.0.1 rdserver
127.0.0.1 dbserver
127.0.0.1 mqserver

5.启动redis技巧
启动redis,这里写了这样的脚本,然后把脚本的快捷方式发送到了桌面

找到本地安装redis的路径

新建文件redis_start.bat,写入如下脚本

cd D:\ProgramFiles\Redis
redis-server.exe redis.windows.conf
pause
选择redis_start.bat右键,发送快捷方式到桌面,就生成了快捷启动方式

双击redis_start.bat启动redis

- 全部做好快捷键

6.启动activemq
- 双击建立的快捷键,启动后如图所以表示没问题.

7.启动zookeeper
- 双击建立的快捷键,启动后如图所以表示没问题.

8.配置tomcat
(1).监控器dubbo-admin打成war包.
- 官网打包怎么搞,不求人,不花钱,很随意,企鹅教你.
| 名称 | 推荐 | |
|---|---|---|
| Dubbo-Admin | https://www.cnblogs.com/liuyangfirst/p/16183180.html |
(2).放入tomcat中,注意文件夹

备份ROOT,复制它粘贴到其他文件内.
右键war包解压


- 复制文件内的文件,替换ROOT下的文件


- 访问配置好的tomcat,http://localhost:8080/,如下表示成功.账户/密码 :guest/guest



9.后台启动
(1).rpc服务提供者启动
- 项目的启动位置

右键选择run执行

如图所示为启动成功

(2).用户权限系统及SSO服务端[端口:1111]
项目的启动位置,右键选择run执行

如图所示为启动成功

七、IDEA前端配置
1、修改nginx配置
- 复制项目自带脚本

- 修改脚本内容

2、修改nginx内的配置文件

备份配置文件,以免修改错误导致nginx无法启动

修改内容

- 完整文档
#user nobody;
worker_processes 1;
error_log D:/software/nginx-1.20.1/logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid D:/software/nginx-1.20.1/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log D:/software/nginx-1.20.1/logs/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
## 启动zheng
server {
listen 1000;
server_name localhost;
error_page 500 502 503 504 /50x.html;
location / {
#root后面内容需要修改为本机的zheng-ui项目的绝对路径位置
root D:/workspace____java/zheng/zheng-ui/;
index index.html index.htm;
add_header Access-Control-Allow-Origin *;
}
location = /50x.html {
root html;
}
}
}
3、启动nginx
- 双击项目脚本,弹出如下

- 选择1启动.

4.访问项目前端浏览器,地址: http://upms.zhangshuzheng.cn:1111/

八、登陆
- 登陆: 账户/密码 :admin/123456

- 进入主页

- swagger-UI接口文档访问(全网首家书写,使用标注出处)
访问地址 : http://upms.zhangshuzheng.cn:1111/swagger-ui.html


九、本地调试好使版
上传到本博主gitee,仅供学习:https://gitee.com/mrliuNumberOne/local_zheng.git
其他模块启动
| 模块 | 路径 | 文件名称 | |
|---|---|---|---|
| zheng-cms | zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc | ZhengCmsRpcServiceApplication.java | |
| zheng-ucenter-web | zheng-ucenter/zheng-ucenter-rpc-service/src/main/java/com/zheng/ucenter/rpc | ZhengUcenterRpcServiceApplication.java |
zheng-cms

zheng-ucenter-web

- 推荐插件,便于标识和学习代码.
| 名称 | 推荐 | |
|---|---|---|
| TreeInfotip | https://www.cnblogs.com/liuyangfirst/p/16182964.html |
结语
呕心沥血,爆肝一个星期(需要写配置环境的文档,还要反复测试,以便为各位看官老爷提供最好的精品文章),希望点赞,收藏,评论,转发,您的支持就是本博主前进的动力.
2022最新IntellJ IDEA的zheng开发部署文档的更多相关文章
- 2022最新IntellJ IDEA诺依开发部署文档
前景提示 若伊是国内一款很好的开源项目,非常的便于学习,而且它是开源免费的,但是,它的开发部署文档实在是没法按照那个文档,快速高效的在本地搭建一套可以运行的项目,对于学习开发和使用实在是一大难题,为此 ...
- 2022最新IntellJ IDEA的mall开发部署文档
目录 版本说明 一.概述 二.基本构建 三.Git 导入编译器 四.模块描述浅析 五.配置文档 application.yml修改,涉及模块 application-dev.yml修改,涉及模块 ge ...
- CDH简易离线部署文档
CDH 离线简易部署文档 文档说明 本文为开发部署文档,生产环境需做相应调整. 以下操作尽量在root用户下操作,避免权限问题. 目录 文档说明 2 文档修改历史记录 2 目录 3 ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- yapi部署文档
windows 下 yapi部署文档 安装nodejs 安装mongodb 安装yapi 介绍 随着 web 技术的发展,前后端分离成为越来越多互联网公司构建应用的方式.前后端分离的优势是一套 Api ...
- jcseg-1.8.7版本发布 - 多配置适应+完整开发帮助文档
jcseg是使用java开发的一款开源中文分词器, 并且提供了最新版本的lucene和solr分词接口. jcseg 1.8.7版本发布了: 1. 更改了内部设计, 加入JcsegTaskConfig ...
- Flink 部署文档
Flink 部署文档 1 先决条件 2 下载 Flink 二进制文件 3 配置 Flink 3.1 flink-conf.yaml 3.2 slaves 4 将配置好的 Flink 分发到其他节点 5 ...
- Redis集群部署文档(Ubuntu15.10系统)
Redis集群部署文档(Ubuntu15.10系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如 ...
- Enterprise Solution 2.2 开发帮助文档集合
首先是一个PPT文档,从宏观层面展示Enterprise Soltion的几个功能特色. Enterprise Solution解决方案安装与配置 将源代码解决方案和演示程序在电脑中进行配置,作为了解 ...
随机推荐
- 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)
1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...
- C++各种输入
https://blog.csdn.net/qq_29735775/article/details/81165882 1.cin 2.cin.get() 3.cin.getline() 4.getli ...
- Zookeeper 的典型应用场景 ?
Zookeeper 是一个典型的发布/订阅模式的分布式数据管理与协调框架,开发人员 可以使用它来进行分布式数据的发布和订阅. 通过对 Zookeeper 中丰富的数据节点进行交叉使用,配合 Watch ...
- spring-boot-EnvironmentPostProcessor
原理: 1-从启动类入口的run方法进入: public ConfigurableApplicationContext run(String... args) { -SpringApplication ...
- 学习GlusterFS(四)
基于 GlusterFS 实现 Docker 集群的分布式存储 以 Docker 为代表的容器技术在云计算领域正扮演着越来越重要的角色,甚至一度被认为是虚拟化技术的替代品.企业级的容器应用常常需要将重 ...
- .NET 6学习笔记(3)——在Windows Service中托管ASP.NET Core并指定端口
在上一篇<.NET 6学习笔记(2)--通过Worker Service创建Windows Service>中,我们讨论了.NET Core 3.1或更新版本如何创建Windows Ser ...
- Spring Security OAuth 笔记
1 单点登录 关于单点登录的原理,我觉得下面这位老哥讲的比较清楚,有兴趣可以看一下,下面我把其中的重点在此做个笔记总结 https://juejin.cn/post/6844904079274197 ...
- CSS的inline、block与inline-block
基本知识点 行内元素一般是内容的容器,而块级元素一般是其他容器的容器,行内元素适合显示具体内容,而块级元素适合做布局. 块级元素(block):独占一行,对宽高的属性值生效:如果不给宽度,块级元素就默 ...
- vue-baidu-map 进入页面自动定位的解决方案!
写在前面:我只是一个前端小白,文章中的提到可能会有不足之处,仅提供一个参考.若有不完善的地方,欢迎各位大佬指出!,希望对你有帮助! 好了,入正题.其实之前也被这问题困扰过,在网上也查了一番,没找到解决 ...
- 前端面试题整理——VUE相关题目与回答
1.v-if与v-show的区别? v-if的原理是根据判断条件来动态的进行增删DOM元素, v-show是根据判断条件来动态的进行显示和隐藏元素,频繁的进行增删DOM操作会影响页面加载速度和性能所以 ...