知识杂货铺 知识杂货铺
首页
后端(1本书)
  • 主题初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • 核心配置和约定
  • 自动生成front matter
  • Markdown 容器
  • Markdown 中使用组件
  • 相关文章

    • 使目录栏支持h2~h6标题
    • 如何让你的笔记更有表现力
    • 批量操作front matter工具
    • 部署
    • 关于写文章和H1标题
    • 关于博客搭建与管理
    • 在线编辑和新增文章的方法
  • 主题配置
  • 首页配置
  • front matter配置
  • 目录页配置
  • 添加摘要
  • 修改主题颜色和样式
  • 评论栏
  • 快速开始
  • 代码集成_TODO
  • 框架初探
  • 在GitHub上贡献代码
  • 使用K8s部署系统
  • Seata分布式事务
GitHub (opens new window)

Kevin Zhang

爱凑热闹的高龄程序猿
首页
后端(1本书)
  • 主题初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • 核心配置和约定
  • 自动生成front matter
  • Markdown 容器
  • Markdown 中使用组件
  • 相关文章

    • 使目录栏支持h2~h6标题
    • 如何让你的笔记更有表现力
    • 批量操作front matter工具
    • 部署
    • 关于写文章和H1标题
    • 关于博客搭建与管理
    • 在线编辑和新增文章的方法
  • 主题配置
  • 首页配置
  • front matter配置
  • 目录页配置
  • 添加摘要
  • 修改主题颜色和样式
  • 评论栏
  • 快速开始
  • 代码集成_TODO
  • 框架初探
  • 在GitHub上贡献代码
  • 使用K8s部署系统
  • Seata分布式事务
GitHub (opens new window)
  • Spring Boot 培训教程
  • Spring Boot介绍

  • 开发环境配置

  • 原理剖析

  • Web开发

  • 数据访问

  • 事务

  • 集成Redis

  • 集成MongoDB

  • 异步消息

  • 异常处理

  • 单元测试与热部署

  • 安全控制

  • 应用监控

  • 企业级开发

  • 多环境配置与部署

  • 综合示例

    • 综合示例
    • 项目部署
      • 16.1 项目部署
        • 16.1.1 准备环境
        • 16.1.1.1 MySQL
        • 16.1.1.2 Redis
        • 16.1.13 RabbitMQ
        • 16.1.2 导入项目
        • 16.1.2.1 后端
        • 16.1.2.2 前端
        • 16.1.3 运行测试
    • 后端项目设计
    • 前端项目设计
    • 课后作业
  • 前后端分离的vue急速入门

  • Spring Boot配置大全

  • 在Docker中部署Spring Boot应用

  • 开发前后端分离应用

  • 前进到Spring Cloud

  • 规则引擎

  • 流程引擎

  • 后记
  • 后端
  • 综合示例
Kevin Zhang
2024-10-30
目录

项目部署

# 16.1 项目部署

为了方便开发过程中对配置和代码的修改,我 fork 了“微人事”这个项目,然后 git clone 版本库回来。

版本库里面包含两个项目:

  • 后台服务:vhr ,包含了两个项目:vhrserver(服务端口 8081) 和 mailserver(服务端口 8082);

  • 前端项目:vuehr(服务端口 8080),使用 vue 技术的前端页面。

# 16.1.1 准备环境

在本示例中,MySQL、Redis 和 RabbitMQ,都使用 Docker 部署。

  • MySQL:docker pull mysql 拉取镜像;
  • Redis:docker pull redis 拉取镜像;
  • RabbitMQ:docker pull rabbitmq:3-management 拉取镜像。

image-20200210104838275

# 16.1.1.1 MySQL

启动 MySQL Docker 容器:

docker run --name mysql4vhr -p 3366:3306 -v C:\Users\Kevin\docker\mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
1

查看 MySQL 容器的日志:

docker logs mysql4vhr
1

使用 Navicat Premium 连接数据库,报错:

image-20200210220238174

这个错误的原因是由于 MySQL 8.0 之后的加密规则为 caching_sha2_password,而在此之前的加密规则为mysql_native_password,可以将加密规则改成 mysql_native_password 来修正上面的错误。

使用容器内的命令行,然后登录 MySQL 客户端,执行命令:

docker exec -it mysql4vhr bash	
root@0aa81a4b6625:/# mysql -uroot -p123456
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
1
2
3

使用 Navicat Premium 连接数据库后,新建查询,导入 vhr.sql 执行后,创建项目依赖的数据库。

image-20200210221735612

随机打开数据库中的表,检查开发过程中的数据是否已经导入,确认开发数据库能正常工作。

image-20200210222035625

# 16.1.1.2 Redis

启动 Redis 容器:

docker run --name redis4vhr -p 6679:6379 -v C:\Users\Kevin\docker\redis:/data -d redis redis-server --appendonly yes
1

在 Redis 容器中启动命令行工具,并做基本测试,验证其是否正确工作。

PS C:\Users\Kevin> docker exec -it redis4vhr bash
root@259b52f4cfd5:/data# redis-cli
127.0.0.1:6379> set name 'Kevin'
OK
127.0.0.1:6379> get name
"Kevin"
127.0.0.1:6379>
1
2
3
4
5
6
7

# 16.1.13 RabbitMQ

启动 RabbitMQ 容器:

docker run -d --hostname localhost --name rabbitmq4vhr -p 5673:5672 -p 15673:15672 rabbitmq:3-management
1

打开浏览器,输入 http://localhost:15672/ (opens new window) 地址,使用默认的用户 guest 和默认密码 guest 登录控制台。

image-20200210224632223

检查 RabbitMQ 是否在端口 5762 上提供服务。

PS C:\Users\Kevin> netstat -ano | findstr "LISTENING"| findstr ":5762"
  TCP    0.0.0.0:5762           0.0.0.0:0              LISTENING       11104
  TCP    [::]:5762              [::]:0                 LISTENING       11104
PS C:\Users\Kevin>
1
2
3
4

# 16.1.2 导入项目

整个 vhr 项目是一个前后端分离的项目,下图中的 ①vhr 是后端,②vuehr 是前台。

image-20200209092542660

# 16.1.2.1 后端

打开 STS,导入 maven 项目,选择 \vhr\vhr 文件目录,为了方便管理 working set 设置为 vhr:

image-20200209091954477

导入后的后台项目,如下图:

image-20200209093228856

修改 /mailserver/src/main/resources/application.properties 文件使用 springbootcourse@163.com 邮箱来发送给邮件,修改 Rabbitmq 等配置信息。

server.port=8082

spring.mail.host=smtp.163.com
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.password=授权码,不是邮箱登录密码,切记
spring.mail.username=springbootcourse@163.com
spring.mail.port=25
spring.mail.properties.mail.stmp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5673
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

修改 /vhr-web/src/main/resources/application.properties 文件中的 MySQL 数据库连接、Redis、RabbitMQ 等信息。

server.port=8081

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3366/vhr?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456

logging.level.org.javaboy.vhr.mapper=debug

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5673
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

spring.redis.host=localhost
spring.redis.port=6379
spring.redis.database=0
spring.redis.password=

spring.cache.cache-names=menus_cache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 16.1.2.2 前端

打开 Visual Studio Code,在菜单 File->Open Foler... 打开 \vhr\vuehr 前端项目,然后打开 Terminal 在终端里输入 如下命令:

npm install
1

image-20200211185550028

完成前端项目的设置。

# 16.1.3 运行测试

运行后端 mailserver 项目和 vhr-web 项目,然后在前端项目的 Visual Studio Code 终端中输入 npm run serve 启动前端项目。

打开浏览器,输入 http://localhost:8080/ (opens new window) 地址,单击 “登录” 按钮,进入首页。

image-20200211190838321

完成开发环境设置。

编辑 (opens new window)
上次更新: 2024/11/17, 16:29:23
综合示例
后端项目设计

← 综合示例 后端项目设计→

最近更新
01
PNG图片处理C++
02-07
02
PNG图片处理
01-24
03
离线安装Docker
12-24
更多文章>
Theme by Vdoing | Copyright © 2008-2025 Kevin Zhang | MIT License | 蜀ICP备20013663号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式