平台启动
当您开始第一次使用平台的时候,可能对工程下面有这么多目录感觉困惑,您可以通过这个【架构设计】中的总体架构、模块化设计对平台结构先有个初步了解。
接下来我们会介绍一下项目是如何启动的,一个程序的启动串联了哪些目录,让大家对程序整体启动的经脉有所了解。
准备
中间件
中间件包括下面内容,具体配置可参考【环境搭建】一章的中间件描述
nacos 2.x
seata 1.7.x(非必要)
redis 7.x
mysql 8.x
elasticsearch 7.9.1
rocketmq 4.9.3
环境变量
中间件启动完成后,需要配置环境变量,环境变量是开发中连接各中间件配置的内容,必需要配置对,参考【环境搭建】一章中的【环境变量】
初始化数据
导入数据库初始化数据
导入nacos配置
使用Docker快速启动
启动网关
下载网关镜像,并使用下面命令启动网关服务
docker run -d --name gateway \
-e TZ=Asia/Shanghai \
-e INCLOUD_NACOS_SERVICE_HOST=${INCLOUD_NACOS_SERVICE_HOST} \
-e INCLOUD_ROCKETMQ_SERVICE_HOST=${INCLOUD_ROCKETMQ_SERVICE_HOST} \
-e INCLOUD_MYSQL_SERVICE_HOST=${INCLOUD_MYSQL_SERVICE_HOST} \
-e INCLOUD_BASE_GATEWAY_SERVICE_HOST=${INCLOUD_BASE_GATEWAY_SERVICE_HOST} \
-e INCLOUD_REDIS_SERVICE_HOST=${INCLOUD_REDIS_SERVICE_HOST} \
-e INCLOUD_ES_SERVICE_HOST=${INCLOUD_ES_SERVICE_HOST} \
-e INCLOUD_NACOS_SERVICE_PORT=${INCLOUD_NACOS_SERVICE_PORT} \
-e INCLOUD_NACOS_NAMESPACE=${INCLOUD_NACOS_NAMESPACE} \
-e INCLOUD_BASE_GATEWAY_SERVICE_PORT=${INCLOUD_BASE_GATEWAY_SERVICE_PORT} \
-e INCLOUD_REDIS_SERVICE_PORT=${INCLOUD_REDIS_SERVICE_PORT} \
-e INCLOUD_MYSQL_SERVICE_PORT=${INCLOUD_MYSQL_SERVICE_PORT} \
-e INCLOUD_ES_SERVICE_PORT=${INCLOUD_ES_SERVICE_PORT} \
-e INCLOUD_DB_USER=${INCLOUD_DB_USER} \
-e INCLOUD_DB_PWD=${INCLOUD_DB_PWD} \
-e INCLOUD_DB_SCHEMA=${INCLOUD_DB_SCHEMA} \
-e INCLOUD_DB_DATABASE=${INCLOUD_DB_DATABASE} \
-e INCLOUD_REDIS_PWD=${INCLOUD_REDIS_PWD} \
-p 8000:8000 \
--privileged=true \
--restart=always \
netwisd/incloud-base-gateway:5.2.0-SNAPSHOT
启动主服务
下载主服务镜像,并使用下面命令启动主服务
docker run -d --name main \
-e TZ=Asia/Shanghai \
-e INCLOUD_NACOS_SERVICE_HOST=${INCLOUD_NACOS_SERVICE_HOST} \
-e INCLOUD_ROCKETMQ_SERVICE_HOST=${INCLOUD_ROCKETMQ_SERVICE_HOST} \
-e INCLOUD_MYSQL_SERVICE_HOST=${INCLOUD_MYSQL_SERVICE_HOST} \
-e INCLOUD_BASE_GATEWAY_SERVICE_HOST=${INCLOUD_BASE_GATEWAY_SERVICE_HOST} \
-e INCLOUD_REDIS_SERVICE_HOST=${INCLOUD_REDIS_SERVICE_HOST} \
-e INCLOUD_ES_SERVICE_HOST=${INCLOUD_ES_SERVICE_HOST} \
-e INCLOUD_NACOS_SERVICE_PORT=${INCLOUD_NACOS_SERVICE_PORT} \
-e INCLOUD_NACOS_NAMESPACE=${INCLOUD_NACOS_NAMESPACE} \
-e INCLOUD_BASE_GATEWAY_SERVICE_PORT=${INCLOUD_BASE_GATEWAY_SERVICE_PORT} \
-e INCLOUD_REDIS_SERVICE_PORT=${INCLOUD_REDIS_SERVICE_PORT} \
-e INCLOUD_MYSQL_SERVICE_PORT=${INCLOUD_MYSQL_SERVICE_PORT} \
-e INCLOUD_ES_SERVICE_PORT=${INCLOUD_ES_SERVICE_PORT} \
-e INCLOUD_DB_USER=${INCLOUD_DB_USER} \
-e INCLOUD_DB_PWD=${INCLOUD_DB_PWD} \
-e INCLOUD_DB_SCHEMA=${INCLOUD_DB_SCHEMA} \
-e INCLOUD_DB_DATABASE=${INCLOUD_DB_DATABASE} \
-e INCLOUD_REDIS_PWD=${INCLOUD_REDIS_PWD} \
-p 8001:8001 \
--privileged=true \
--restart=always \
netwisd/incloud-base-main:5.2.0-SNAPSHOT
启动工作流(非必要)
下载工作流镜像,并使用下面命令启动工作流服务
docker run -d --name wf \
-e TZ=Asia/Shanghai \
-e INCLOUD_NACOS_SERVICE_HOST=${INCLOUD_NACOS_SERVICE_HOST} \
-e INCLOUD_ROCKETMQ_SERVICE_HOST=${INCLOUD_ROCKETMQ_SERVICE_HOST} \
-e INCLOUD_MYSQL_SERVICE_HOST=${INCLOUD_MYSQL_SERVICE_HOST} \
-e INCLOUD_BASE_GATEWAY_SERVICE_HOST=${INCLOUD_BASE_GATEWAY_SERVICE_HOST} \
-e INCLOUD_REDIS_SERVICE_HOST=${INCLOUD_REDIS_SERVICE_HOST} \
-e INCLOUD_ES_SERVICE_HOST=${INCLOUD_ES_SERVICE_HOST} \
-e INCLOUD_NACOS_SERVICE_PORT=${INCLOUD_NACOS_SERVICE_PORT} \
-e INCLOUD_NACOS_NAMESPACE=${INCLOUD_NACOS_NAMESPACE} \
-e INCLOUD_BASE_GATEWAY_SERVICE_PORT=${INCLOUD_BASE_GATEWAY_SERVICE_PORT} \
-e INCLOUD_REDIS_SERVICE_PORT=${INCLOUD_REDIS_SERVICE_PORT} \
-e INCLOUD_MYSQL_SERVICE_PORT=${INCLOUD_MYSQL_SERVICE_PORT} \
-e INCLOUD_ES_SERVICE_PORT=${INCLOUD_ES_SERVICE_PORT} \
-e INCLOUD_DB_USER=${INCLOUD_DB_USER} \
-e INCLOUD_DB_PWD=${INCLOUD_DB_PWD} \
-e INCLOUD_DB_SCHEMA=${INCLOUD_DB_SCHEMA} \
-e INCLOUD_DB_DATABASE=${INCLOUD_DB_DATABASE} \
-e INCLOUD_REDIS_PWD=${INCLOUD_REDIS_PWD} \
-p 8003:8003 \
--privileged=true \
--restart=always \
netwisd/incloud-base-wf:5.2.0-SNAPSHOT
启动前端
docker run --name nginx -p 80:80 \
-e TZ=Asia/Shanghai \
-v ~/docker_store/nginx/conf:/etc/nginx/conf.d \
-v ~/docker_store/nginx/html:/usr/share/nginx/html \
-v ~/docker_store/nginx/file:/opt \
-v ~/docker_store/nginx/portal:/home \
-d nginx
nginx的配置文件可以参考
其中location /api/v5.0/是后台服务的请求地址,需要根据实际情况修改
location /api/v5.0/ {
client_max_body_size 1024m;
#proxy_set_header Host $http_host;
#proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.0.30:32500/;
}
使用依赖引入快速启动
下载基础代码模板
后台服务启动
首先启动【网关】服务,每个应用下的xxxApplication代表应用的入口启动类,启动GatewayApplication成功后,会打印网关启动成功字样,端口默认为8000
启动【main】服务,执行MainApplication,启动成功后,会打印main服务启动成功字样,端口默认为8001
启动【wf】服务,执行WfApplication,启动成功后,会打印工作流服务启动成功字样,端口默认为8003

前端启动
全部模块启动参考如下:
# 包管理工具
npm install -g pnpm
# 同步运行工具
npm install -g concurrently
#安装所有依赖,包含所有子工程依赖,项目根目录下运行:
pnpm install --frozen-lockfile
# 启动全部工程
pnpm run all
# 打包全部工程
pnpm run build
如果只需要构建某些子应用,进入子工程目录,可以在子工程目录下运行以下命令:
# xxx 子工程目录名
cd packages/xxx
# 构建子工程
pnpm run build
# 运行子工程
pnpm run dev
# 登录验证
npm adduser --registry=http://192.168.0.110:8081/repository/npm.netwisd/
# 构建子工程
pnpm run build
# 推送包
pnpm publish --no-git-checks
登录系统
访问以下地址访问系统
#系统后台地址
http://127.0.0.1/web-base/html/login.html
#系统前台地址
http://127.0.0.1/web-client/html/login.html

Last modified: 20 一月 2025