微服务-01.导入黑马商城

一.微服务

如果我们直接一头扎进微服务的概念中,会一头雾水,我们先将一个单体项目进行拆分。拆分成一个微服务项目,这样会理解的更加深刻。

首先导入项目,

安装MySQL

在课前资料提供好了MySQL的一个目录:

其中有MySQL的配置文件和初始化脚本:

我们将其复制到虚拟机的/root目录。如果/root下已经存在mysql目录则删除旧的,如果不存在则直接复制本地的:

然后创建一个通用网络:

复制代码
docker network create hm-net

使用下面的命令来安装MySQL:

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v /root/mysql/data:/var/lib/mysql \
  -v /root/mysql/conf:/etc/mysql/conf.d \
  -v /root/mysql/init:/docker-entrypoint-initdb.d \
  --network hm-net\
  mysql

此时,通过命令查看mysql容器:

复制代码
docker ps

如图:

发现mysql容器正常运行。

此时,如果我们使用MySQL的客户端工具连接MySQL,应该能发现已经创建了黑马商城所需要的表:

后端

然后是Java代码,在课前资料提供了一个hmall目录:

将其复制到你的工作空间,然后利用Idea打开。

项目结构如下:

按下ALT + 8键打开services窗口,新增一个启动项:

在弹出窗口中鼠标向下滚动,找到Spring Boot:

点击后应该会在services中出现hmall的启动项:

点击对应按钮,即可实现运行或DEBUG运行。

不过别着急!!

我们还需要对这个启动项做简单配置,在HMallApplication上点击鼠标右键,会弹出窗口,然后选择Edit Configuration:

在弹出窗口中配置SpringBoot的启动环境为local:

点击OK配置完成。接下来就可以运行了!

启动完成后,试试看访问下 http://localhost:8080/hi 吧!

前端

在课前资料中还提供了一个hmall-nginx的目录:

其中就是一个nginx程序以及我们的前端代码,直接在windows下将其复制到一个非中文、不包含特殊字符的目录下。然后进入hmall-nginx后,利用cmd启动即可:

复制代码
# 启动nginx
start nginx.exe
# 停止
nginx.exe -s stop
# 重新加载配置
nginx.exe -s reload
# 重启
nginx.exe -s restart

特别注意:

nginx.exe 不要双击启动,而是打开cmd窗口,通过命令行启动。停止的时候也一样要是用命令停止。如果启动失败不要重复启动,而是查看logs目录中的error.log日志,查看是否是端口冲突。如果是端口冲突则自行修改端口解决。

启动后一定要打开任务管理器查看是否启动成功。

启动成功后,访问http://localhost:18080,应该能看到我们的门户页面:

相关推荐
Nebula_g4 分钟前
云禾外卖补充—项目整体后端运行逻辑-对流程的更深层次理解
java·开发语言·网络·数据库·状态模式·javase
萧瑟余晖5 分钟前
Spring Security 6.x新特性与架构演进详解
java·spring·架构
\光辉岁月/11 分钟前
1.Object类
java·面向对象·object类
鸽鸽程序猿22 分钟前
【项目】【在线判题系统】公共功能
java·spring boot·maven
一只笨菜鸟31 分钟前
IDEA如何让多个项目同时显示
java·ide·intellij-idea
萧瑟余晖35 分钟前
Spring Security架构总览与过滤器链详解
spring·架构
G018_star sky♬35 分钟前
java中的字符串常见方法
java·开发语言
吴建旭 智宅焕41 分钟前
智能家居交付外包平台与技能服务交易平台的架构差异:从信息撮合到全国交付基础设施
架构·智能家居
.Bryce.2 小时前
你了解 Blackboard(黑板系统)吗?听说过基于黑板系统实现的智能体吗?
java·网络·gpt·php·agent·codex·黑板系统
银河技术2 小时前
从脚本到 Operator:用 Go 构建可靠的微服务自动扩缩容控制器
开发语言·微服务·golang