dongyanghe / eikesi

基于Jhipster5微服务开发平台,使用Spring-boot2、Spring-cloud、Eureka、Kafka、UUA、Netty、Hibernate、Angular6、React等技术。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eikesi

Jhipster安装教程(翻墙)

环境配置和安装:

以下各工具的版本请参见项目里面的**\src\main\docker\**.yml配置文件,或者根据pom.xml配置自行选择兼容版本
  1. redis的安装的教程

  2. Elasticsearch的安装的教程 :config/jvm.options 文件里把“-Dfile.encoding=UTF-8”改为“-Dfile.encoding=GBK”控制台就不会有乱码

  3. zookeeper和mpush的安装教程 :window系统下zookeeper是要把zoo_sample.cfg改为zoo.cfg,不然启动会一闪而过

  4. kafka和zookeeper、Java JDK的安装教程

  5. Jhipster注册中心:本项目已自带,如果你需要下载新版请注意版本发布说明里面的兼容问题。

  6. Nodejs:请下载LTS版本,nodejs自带npm,建议运行npm i cnpm -g安装淘宝的镜像来代替npm,或者使用yarn。

  7. python:请下载2.7版,记得设置环境变量。

安装路径不要有空格 window系统请使用管理员权限运行cmd或者powershell window系统环境变量修改后要重新打开cmd cnpm也报错的话,可以运行npm i rimraf -g用rimraf删除node_modules改为使用yarn安装

注册配置

gateway和service都会自动注册到jhipster-registry里面,这样gateway就可以路由到service里面的接口了。

运行:

后端各服务启动(如果您不了解系统的运作,请务必按顺序全部以管理员身份运行cmd逐一启动):
  1. 进入项目根目录使用./mvnw(window使用mvnw命令),启动jhipster-registry服务,这是启动基于eureka的服务注册中心。
  2. 进入zookeeper的bin目录使用zkServer start(window使用zkServer)命令启动zookeeper,这是启动基于zookeeper的服务注册中心。
  3. 进入kafka根目录使bin/kafka-server-start.sh config/server.properties(window使用bin\windows\kafka-server-start.bat .\config\server.properties)启动kafka。这是启动分布式发布订阅消息服务。
  4. 进入Redis根目录使用bin/redis-server conf/redis.conf(window使用redis-server.exe redis.windows.conf)命令启动Redis, 这是启动数据存储和消息队列服务。
  5. 进入elasticsearch根目录使用./bin/elasticsearch (window使用./bin/elasticsearch.bat )命令启动elasticsearch, 这是启动分布式数据检索服务。
  6. 进入mpushRelease(根据mpush源码使用mvn clean package -Pzip,pub命令构建后解压得出,也可直接取本项目跟目录的target,需先修改配置) 的bin目录使用java -Dmp.conf=mpush绝对路径\conf\mpush.conf -jar bootstrap.jar命令启动mpush服务,这是启动消息通讯服务。
  7. 同mpush操作一样,启动alloc服务,按需启动,这是启动多mpush服务的分布式管理服务。
  8. 自行启动您所需的其他消息通讯服务,比如APNS、JPush、MIPush。
  9. 进入各项目根目录使用./mvnw(window使用mvn命令),先启动网关再按需启动业务服务。
前端服务启动:
  1. angularX项目使用:
安装:
	npm cache clean # 可选,安装时报错用于清理缓存
	npm i -g cnpm # 改成淘宝镜像无需科学上网
	cnpm i -g @angular/cli
	cnpm install # 安装失败的话运行cnpm i -g rimraf 后再运行rimraf node_module 删除安装包,然后使用yarn install试一试
  • 如果改了package.json,且package.json和lock文件不同,那么执行npm i时npm会根据package中的版本号以及语义含义去下载最新的包,并更新至lock。
  • 如果之前装过旧版@angular/cli需要先卸载:npm uninstall -g @angular/cli
运行:
        npm run start # npm run start -- --p 4200  可以指定端口
        yarn start
        ng serve
更新
	git pull
	cnpm update
	ng serve
  • 如果pull代码之后发现启动报包错误,请用rimraf把项目下的node_modules全部删掉,然后重新cnpm install。
发布:
        npm run build
  • 提示内存不足请修改package.json里面的--max_old_space_size,或者删除不必要的检查代码量
  • 如果需要把项目发布到其它类型的Server上,例如Tomcat,需要对Server进行一些简单的配置才能支持HTML5下的PushState路由模式。
  • angular-cli会在项目根目录下生成一个dist目录,里面就是编译、压缩好的文件,将其上传到服务器即可。

各服务端口如果不一样请修改对应配置

以上服务启动后对应的cmd或powershell窗口留着啊,关了就是关了。。。

测试:

文件路径:

系统模块设计

系统划分

jhipster-registry(微服务注册服务、配置服务):

服务端口:8761

注册中心

uaa-server(用户认证服务):

服务端口:9999

权限认证(面向客户的APP和后台管理系统)

im-web(通讯系统React电脑端页面):

页面端口:4000

im电脑端网页

customer-gateway(客户系统总网关):

服务端口:8000

不同APP(不包括后台管理系统)的基本用户信息是一致的

im-gateway(im系统网关):

服务端口:8010

负责通讯系统的路由

im-customer-server(im系统客户服务):

服务端口:6000

im-message-server(message服务):

服务端口:6010

@wait

manage-web(后台管理系统Angular电脑端页面):

页面端口:4300

负责所有系统的管理 @wait

manage-gateway(后台管理系统网关):

服务端口:8300

登陆和各服务的路由

技术栈

Spring Cloud Netflix(rest、feign、euraka)

JHipster简介

About

基于Jhipster5微服务开发平台,使用Spring-boot2、Spring-cloud、Eureka、Kafka、UUA、Netty、Hibernate、Angular6、React等技术。


Languages

Language:Java 40.1%Language:TypeScript 28.7%Language:HTML 19.5%Language:TSQL 5.8%Language:JavaScript 3.5%Language:CSS 2.3%Language:Shell 0.0%Language:Gherkin 0.0%