youdeyiwu-backend
2022-10-23 07:51:38 Author: github.com(查看原文) 阅读量:14 收藏

youdeyiwu-backend 尤得一物-后端

尤得一物是一个开源论坛程序,可以作为简单管理或分享文章的论坛博客,也可以在此基础上进行自定义扩展开发.

1. 主页

  • 访问

访问 www.youdeyiwu.com

  • 相关

前端 youdeyiwu-frontend

2. 技术

  • java 17 + spring-boot + jpa
  • mariadb 10.6
  • redis
  • rabbitmq
  • minio

3. 安装

3.1 要求

如果是新系统可以开始安装,不是的话请检查是否存在符合的程序版本,系统需要存在以下程序:

docker

  • docker(v20.10+)

important

  • mariadb(10.6)
  • redis(v7.0+)
  • rabbitmq(v3.10+)
  • minio(≥RELEASE.2022-09-22T18-57-27Z)

安装参考文档:

或者这里相关示例

3.2 设置

mariadb(创建 youdeyiwu 数据库)

4. 部署

4.1 使用 .env.local

4.1.1 新建模板

cat > .env.local << EOF
# server
server.port=8080

# flyway
spring.flyway.defaultschema=youdeyiwu

# mariadb(需要修改为自己的连接地址、账号、密码)
spring.datasource.url=jdbc:mariadb://localhost:3306/youdeyiwu?createDatabaseIfNotExist=true&serverTimezone=UTC&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456

# redis(需要修改为自己的连接地址、账号、密码)
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.username=root
spring.redis.password=123456

# rabbitmq(需要修改为自己的连接地址、账号、密码)
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=root
spring.rabbitmq.password=123456

# minio(需要修改为自己的连接地址、账号、密码)
minio.endpoint=http://localhost:9000
minio.accessKey=root
minio.secretKey=12345678

# key(需要修改为自己生成证书的密码)
key.account=123456
key.password=123456
key.config=123456
EOF

4.1.2 运行程序

docker run -d \
  --name youdeyiwu-backend \
  --add-host host.docker.internal:host-gateway \
  --env-file .env.local \
  -v youdeyiwu-backend-logs:/youdeyiwu-backend/logs \
  -v youdeyiwu-backend-indexs:/youdeyiwu-backend/indexs \
  -v youdeyiwu-backend-keys:/youdeyiwu-backend/BOOT-INF/classes/keys \
  -p 8080:8080 \
  dafengzhen/youdeyiwu-backend

4.1.3 配置 keys

程序中使用到了对敏感字段进行加密,需要生成凭证.

生成之后移动到 docker 的 youdeyiwu-backend-keys 卷中.

可自行使用相关工具生成,例如 KeyStore Explorer,生成的文件名格式如下:

  1. account.p12
  2. password.p12
  3. config.p12

  • 使用默认(如果当前不打算生成凭证)

可跳过当前步骤

  • 不使用默认

例如使用工具 KeyStore Explorer 生成凭证文件,并移动到 youdeyiwu-backend-keys 卷中

4.1.4 配置 minio

  • 创建

创建 youdeyiwu 存储库,并设置为 public 访问

  • 通知

minio 后台 -> Notification -> Add Notification Target -> AMQP

填写 rabbitmq 连接 url:amqp://myuser:[email protected]:5672

参考图示,填写完成后按提示重启 minio

  • 关联

minio 后台 -> Buckets -> Manage(youdeyiwu) -> Events -> Subscribe to Event

勾选 GET - Object accessed

参考图示

4.2 使用 secret

使用该方式以加密敏感数据,关于 secret 可以点击该链接了解.

如果还未初始化 docker swarm,请使用命令 docker swarm init 初始化,以下操作均在 leader 主节点完成.

4.2.1 新建模板

请参考 4.1.1

4.2.2 创建密钥

docker secret create youdeyiwu-backend .env.local

4.2.3 运行程序

docker service create \
  --name youdeyiwu-backend \
  --secret youdeyiwu-backend \
  --replicas 1 \
  --add-host host.docker.internal:host-gateway \
  -v youdeyiwu-backend-logs:/youdeyiwu-backend/logs \
  -v youdeyiwu-backend-indexs:/youdeyiwu-backend/indexs \
  -v youdeyiwu-backend-keys:/youdeyiwu-backend/BOOT-INF/classes/keys \
  -p 8080:8080 \
  dafengzhen/youdeyiwu-backend

4.2.4 配置 keys

请参考 4.1.3

4.2.5 配置 minio

请参考 4.1.4

如果你在安装过程中遇到了问题,或者有相关建议、问题反馈,可以通过交流

MIT


文章来源: https://github.com/y35uishere/youdeyiwu-backend
如有侵权请联系:admin#unsafe.sh