修订版 | Echo 在 Windows 环境下的部署
最近才发现这篇教程漏掉了两个很重要的地方,导致群里很多小伙伴没弄清楚出现了问题,之前已经看过教程的小伙伴只需要知道相比于之前我们添加了两点:
本地运行的时候,修改全局配置文件的 active 为 develop user 表中一定记得先插入一个 id = 1 的 SYSTEM 用户,否则系统通知无法正常发送
速览
各位如果需要将项目部署在本地进行测试,以下环境请提前备好:
Java 8 MySQL 5.7 Redis Kafka 2.13-2.7.0 Elasticsearch 6.4.3
使用 IDEA 打开本项目,等待所有的依赖下载完毕。然后修改配置文件中的信息为你自己的本地环境,直接运行是运行不了的,而且相关私密信息我全部用 xxxxxxx 代替了。
本地运行需要修改的配置文件信息如下:
1)application.properties
:
因为我们的开发环境和线上环境用的是不同的配置文件,所以各位一定注意把这地方的 active 改为 develop,表示使用 application-develop.properties
这个配置文件。如果以后要把项目上线部署,再改成 produce,然后相应的修改 application-oroduce.properties
文件即可。
2)application-develop.properties
:
MySQL Spring Mail(邮箱需要开启 SMTP 服务) Kafka:consumer.group-id(该字段见 Kafka 安装包中的 consumer.proerties,可自行修改, 修改完毕后需要重启 Kafka) Elasticsearch:cluster-name(该字段见 Elasticsearch 安装包中的 elasticsearch.yml,可自行修改) 七牛云(需要新建一个七牛云的对象存储空间,用来存放上传的头像图片)
3)logback-spring-develop.xml
:
LOG_PATH:日志存放的位置
每次运行之前都需要打开:
MySQL Redis Elasticsearch Kafka
另外,还需要事件建好数据库 greatecommunity,然后依次运行项目 sql 文件夹下的这几个 sql 文件建立数据库表:
下文是各个组件的详细配置,关于 Java、Maven 的配置这里就不说了,各位自行百度。
MySQL
① 下载并安装 MySQL 5.7 版本,下载地址:https://dev.mysql.com/downloads/installer/
② 设置数据库帐号密码
③ 下载并安装客户端连接工具 Navicat,下载地址:http://www.formysql.com/xiazai.html
④ 创建数据库 greatecommunity
⑤ 依次导入本项目 sql 文件夹下的 5 个 sql 文件
⑥ 手动添加 3 个特殊用户:
必须 - SYSTEM(id = 1):发送系统通知 非必须 - admin:管理员(删除帖子) 非必须 - master:版主(置顶、加精帖子)
INSERT INTO `user` VALUES (1,'SYSTEM','SYSTEM','SYSTEM','system@sina.com',0,1,NULL,'http://static.nowcoder.com/images/head/notify.png','2020-01-13 02:11:03'),(2,'admin','d2d5a85cc78dc580aaa8d5d0dafa0a79','0c7b1','admin@qq.com',1,1,'671f3fdb898e455997aec3d2bcb695a6','http://qnvxyvq1p.hd-bkt.clouddn.com/e531e57c933b4c71912fe5396b1881f0','2021-02-10 22:27:00'),
(3,'master','852e951a7398e9853feef981c22e15e7','3d196','master@qq.com',2,1,'3563733cece74ee4b61b86b0b375987c','http://qnvxyvq1p.hd-bkt.clouddn.com/71616bd74fd9418b8b27a67b059ee9e3','2021-02-10 22:29:03');
⑦ 修改项目配置文件 application-develop.properties
下的相关配置
Redis
① 下载 Redis for Windows,下载地址:https://github.com/MicrosoftArchive/redis/releases
② 下载完后直接解压即可
③ 配置环境变量(系统变量 Path),方便通过命令行启动 Redis
④ 通过命令 redis-server
启动 Redis
如果启动报错找不到 6379 端口,可以先输入
redis-cli
命令,然后exit
,再输入redis-server
Elasticsearch
① 下载 Elasticsearch 6.4.3:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-4-3
注意,下载 ElasticSearch 版本一定要与你的 SpringBoot 版本内部规定的一致,我的是 SpringBoot 2.1.5。为了防止后面出现各种各样的 Bug,各位小伙伴还是尽量和我的版本保持一致。
② 解压完毕后,需要简单配置一下:config/elasticsearch.yml
③ 然后再配到环境变量(系统变量 Path)中去:
④ 还需要安装一个中文分词插件(Elasticsearch 自带一个英文分词插件)elasticsearch-analysis-ik 6.4.3,下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.4.3)
注意:必须解压到你的 Elasticsearch 安装目录的 plugins/ik
文件夹下(比如我的就是 D:\elasticsearch-6.4.3\plugins\ik)
⑤ 修改项目配置文件 application-develop.properties
下的相关配置:
⑥ 启动 Elasticsearch:双击 elasticsearch.bat
即可(首次运行可能会需要一点时间才能启动)
Kafka
① 下载并安装 Kafka_2.13-2.7.0:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.7.0/kafka_2.13-2.7.0.tgz
② Kafka 自带 Zookeeper,对其配置文件 zookeeper.properties
进行相应的修改:
③ 修改 Kafka 日志文件的存放位置 server.properties
:
如果后续 Kafka 的启动出现了问题,删除这个文件夹 kafka-logs 然后重新启动就好了,这是 Windows 下的一个 BUG。
④ 修改 consumer.group-id,在 consumer.proerties
文件下
⑤ 修改项目配置文件 application-develop.properties
下的相关配置:
⑥ 启动 Kafka
第一步:开启一个命令行,输入如下命令
cd d:\kafka_2.13-2.7.0
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
第二步:开启另一个命令行,输入如下命令
cd d:\kafka_2.13-2.7.0
bin\windows\kafka-server-start.bat config\server.properties
Spring Mail
① Spring Mail 用于发送激活邮件,你需要注册一个邮箱,并开启 SMTP 服务,这里以新浪邮箱为例:
② 修改项目配置文件 application-develop.properties
下的相关配置:
七牛云
本项目的头像文件存储在七牛云服务器。
① 在七牛云创建一个对象存储空间,测试域名有效期 30 天,且不支持 https 访问,只能 http。
30 天后这个测试域名就失效了,再重新创建一个空间就行了,或者也可以绑定自己购买的域名。
② 查看密钥:
AK:标识身份 SK:用于加密上传文件
③ 修改项目配置文件 application-develop.properties
下的相关配置:
日志
最后,修改一下 logback-spring-develop.xml
中日志文件的存放位置:
本地环境全部配置完毕,运行 com.greate.community.CommunityApplication
开始体验 Echo 吧 🎉
博主小硕在读,深耕 Java,目前在维护一个教程类仓库 CS-Wiki
「Gitee 官方推荐项目,现已 1.5k+ star,仓库地址:https://gitee.com/veal98/CS-Wiki」,公众号上的文章也会在此同步更新,欢迎各位前来交流学习。准备春招秋招的小伙伴可以参考我的这个论坛项目 Echo
「Gitee 官方推荐项目,现已 600+ star,仓库地址:https://gitee.com/veal98/Echo」。配套教程正在同步更新中,公众号后台回复 "Echo" 即可免费获取。另外,虽然现在本号仍然很小,粉丝也没多少,不过我还是建了一个交流群『 小牛肉和它的小伙伴们
』,感兴趣的各位可以下方扫码加我微信回复 "进群",我拉你进群: