目录
- 课程介绍
- 课程内容
- 开发环境搭建
- 1 导入虚拟机
- 1.1 导入虚拟机
- 1.1.1 可能遇到的问题
- 1.2 远程连接虚拟机
- 1.3 修改IP
- 2 IDEA环境配置
- 2.1 编码配置
- 2.2 自动导包设置
- 2.3 提示忽略大小写
- 2.4 设置 Java 编译级别
- 3 Maven环境
- 3.1 安装Maven
- 3.2 配置仓库
- 3.3 IDEA中配置maven
- 4 配置Git环境
- 5 导入商城项目
- 5.1 拉取项目
- 5.2 创建数据库
- 5.3 启动项目
- 5.4 运行前端
课程介绍
掌握微服务技术是构建大型互联网项目的必备技能,很多企业面临着从单体架构向微服务架构转变的需求,而且微服务架构开发也会面临各种各样的问题需要解决。在本课程中,我们将从一个电商项目入手,带领大家使用主流的Spring Boot、Spring Cloud Alibaba技术栈构建一个微服务项目,解决微服务项目中常见的问题,在整个学习过程中会使用AI技术高效学习主流的微服务解决方案,让学生运用AI去高效学习,掌握微服务组件在项目中的具体应用场景。
课程内容
| 内容 | 介绍 |
|---|---|
| Spring Cloud | 从一个电商项目入手,带领大家从零构建微服务,并利用Spring Cloud和Spring Cloud Alibaba中的组件解决微服务项目开发中碰到的各种问题,比如:服务注册与发现、服务间远程调用、网关、配置中心、服务保护等,让你真正学习微服务组件在项目中的具体应用场景及解决方案。 |
| RabbitMQ RabbitMQ | 是目前企业中最常用的消息队列之一,这部分课程主要学习RabbitMQ的基本用法以及消息队列的一些疑难问题。例如:消息可靠性问题、延迟消息问题、集群部署等等。 |
| Redis高级 | Redis的一些高级知识。例如Redis的主从、集群、哨兵、数据持久化等。还会结合Redis底层原理、源码来分析常见的热门面试题。 |
| ElasticSearch | 快速掌握目前最热门的搜索引擎技术ElasticSearch的基本用法及高级搜索和集群方案,快速满足企业开发的基本需求。讲解内容主要包括:倒排索引原理、IK分词器、Elasticsearch的索引映射结构、文档数据处理、搜索语法、Java客户端、高级搜索、集群部署等。具体内容包括: |
| 常见面试题 | 包括Spring cloud Aliaba常用组件、RabbitMQ、Redis、ES、常见技术方案等面试题讲解。 |
开发环境搭建
工欲善其事必先利其器。
个人电脑内存至少24G以上(为了更好的学习最好升级到32G)不符合条件的同学趁休息日升级电脑。
有条件的购买便携显示器进行分屏开发,开发效率杠杠滴,这是专业程序员的标配。
从下边的地址下载全部资料,按照本文档要求安装配置虚拟机及开发环境。
虚拟机:链接:https://pan.baidu.com/s/1VOWFqY7LucKgDu1yA_xM_Q?pwd=1234
课程资料:链接:https://pan.baidu.com/s/1htUlv6xpORT-n7JB351GnA?pwd=1234
本地maven仓库:链接:https://pan.baidu.com/s/1wqrnwApF_c99huvWcoZhCA 提取码:1234
1 导入虚拟机
黑马商成项目中用到的一些服务端软件如:Nacos配置中心、Redis、RabbitMQ消息队列等通常会安装在企业局域网的服务器中,开发人员去远程连接它们。在教学中我们在自己的电脑上安装虚拟机,虚拟机代表了企业局域网中的服务器。
服务器操作系统使用Centos7,导入下发的虚拟机文件,也可以自行安装Centos7虚拟机。
1.1 导入虚拟机
首先安装VMware-workstation 16.x 或 VMware-workstation 17.x 虚拟机软件(已安装vmware软件的同学不需要重新安装)。
- 1)设置网络
点击 “编辑–》虚拟网络编辑器”配置网络地址,地址须与下图一致。
设置子网IP:192.168.101.0,子网掩码:255.255.255.0。 - 2)导入虚拟机
解压提供的虚拟机文件,进入解压后的文件架,双击"CentOS 7 64 位.vmx" 文件,选择复制虚拟机。
对此虚拟机的设置建议至少8G内存、8核CPU,硬盘存储至少40G。
设置完成,启动虚拟机。
注意:虚拟机的IP地址为192.168.101.68,不用修改IP地址。
虚拟机启动成功如下界面:
账号:root
密码: centos
1.1.1 可能遇到的问题
win11打开.vmx文件报错:“未能启动虚拟机”
尝试解决方法:
- 打开虚拟机的存放路径
- 找到.vmx的配置文件
- 修改 virtualHW.version改为virtualHW.version = “18”
1.2 远程连接虚拟机
虚拟机启动成功,下边使用ssh客户端工具(FinalShell)远程 连接 虚拟机。
打开FinalShell软件
通过下图所示建立新连接:
填写连接信息:
IP地址:192.168.101.68
账号与密码为:root/centos
如下图:
点击“确定”,创建连接成功,如下图:
双击连接信息,连接成功如下图:
执行 systemctl start docker 启动docker。
启动mysql:docker start mysql
以上软件如果已经启动不用重复启动。
查询docker容器:docker ps
如下图:
1.3 修改IP
如果虚拟机IP不是192.168.101.68需要修改虚拟机IP地址为192.168.101.68。
修改方法如下:
确保在root用户下进行操作,进入网络配置文件network-scripts目录下,找到我们需要修改的配置文件:
cd/etc/sysconfig/network-scripts/viifcfg-ens33使用ls命令,列出该目录下的文件。其中“ifcfg-ens33”的文件,为我们需要修改的网络配置文件。
修改配置文件
使用vim命令(vi命令也可以),对文件进行配置:
- 我们需要修改BOOTPROTO="static"也就是将dhcp改为static
- 修改ONBOOT=“yes” 意思是将网卡设置 为开机启用.
- 修改IPADDR=192.168.101.68
- 修改GATEWAY=192.168.101.2
ifcfg-ens33文件内容如下:
[root@localhost network-scripts]# cat ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=28711c7c-1216-454e-a454-b7c9a08e71e6DEVICE=ens33ONBOOT=yesIPV6_PRIVACY=noIPADDR=192.168.101.68PREFIX=24GATEWAY=192.168.101.2DNS1=8.8.8.8还需要修改vmware的网络配置
修改完毕,重启虚拟机即可。
2 IDEA环境配置
安装IDEA,根据下边的步骤进行配置。
2.1 编码配置
2.2 自动导包设置
IDEA可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置,
下面可以通过设置来进行导包优化。
2.3 提示忽略大小写
IDEA代码提示默认是区分大小写的,设置为提示忽略大小写,编译我们后期的开发
2.4 设置 Java 编译级别
工程创建成功,点击Project Structure:
点击Project,设置SDK为11及Project language level,如下图:
3 Maven环境
3.1 安装Maven
下载maven3.8.6版本,下载链接如下:
https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.zip
解压apache-maven-3.8.6-bin.zip到没有中文的目录下。
已安装maven的不用重复安装。
3.2 配置仓库
1、解压提供的maven仓库下的repository.zip到本地硬盘
2、在Maven的conf目录中setting.xml文件中配置本地仓库的地址。
配置中央仓库位置:
在setting.xml文件中配置阿里云中央仓库地址。
3.3 IDEA中配置maven
在IDEA中配置maven:进入 File --> Settings --> Build --> Build Tools --> Maven
配置maven安装目录、setting.xml及本地仓库的位置。
4 配置Git环境
在个人电脑安装Git,使用常用软件工具目录中的Git-2.37.3-64-bit.exe。
也可以自行下载,地址:https://git-scm.com/ (windows版本:https://git-scm.com/download/win)
安装成功,在右键菜单出现Git菜单,如下图
配置git邮箱:
gitconfig --global user.name"你的名字"gitconfig --global user.email"你的邮箱"安装成功在IDEA中配置git的安装目录
5 导入商城项目
5.1 拉取项目
首先,我们需要熟悉黑马商城项目的基本结构:
本课程提供的git地址为:https://gitee.com/mrt-springcloudv1/hmall.git
大家需要登录自己gitee账号,Fork该仓库到自己的空间,Fork是将其它仓库的内容复制到自己仓库。
登录gitee,然后在浏览器输入https://gitee.com/mrt-springcloudv1/hmall.git 仓库地址,点击"Fork",如下图:
然后选择目标空间进行复制,Fork即拷贝远程仓库https://gitee.com/mrt-springcloudv1/hmall.git 项目到自己的仓库。
点击“确定”复制成功,此时jzo2o-framework工程已复制到自己的仓库中,点击“克隆/下载”,复制仓库地址
然后从此Git仓库克隆hmall到代码目录。
输入远程仓库地址,并选择本地代码目录:
在弹出窗口选择信任该项目,接下来打开克隆成功的工程如下图:
5.2 创建数据库
要启动该项目需要创建数据库,首先创建数据库“hmall”,再导入课程资料下的“hmall.sql”,
下边我们用DataGrip创建数据库并导入脚本。
首先创建数据库连接
虚拟机中的MySQL数据库账号为root,密码为:mysql
右键数据库连接,创建数据库
创建成功,右键数据库,选择“Restore with mysql”
选择数据库脚本
创建成功如下:
接下来修改数据库连接参数,数据库的ip地址和数据库密码:在application-dev.yaml中:
hm:db:host:192.168.101.68# 修改为你自己的虚拟机IP地址pw:mysql# 修改为docker中的MySQL密码5.3 启动项目
启动项目:
启动项目成功:
5.4 运行前端
接下来运行前端,前端工程通过nginx运行,找到课程资料下“hmall-nginx”目录将其拷贝到代码目录下(将其复制到一个非中文、不包含特殊字符的目录下):
进入hmall-nginx目录后,利用cmd启动,运行start nginx.exe启动nginx:
# 启动nginxstart nginx.exe# 停止nginx.exe -s stop# 重新加载配置nginx.exe -s reload# 重启nginx.exe -s restart特别注意:
nginx.exe 不要双击启动,而是打开cmd窗口,通过命令行启动。停止的时候也一样要是用命令停止。如果启动失败不要重复启动,而是查看logs目录中的error.log日志,查看是否是端口冲突。如果是端口冲突则自行修改端口解决。
通过任务管理器可以查看到nginx进程说明nginx启动成功
接下来可以访问门户:http://localhost:18080/
点击“登录”进入登录页面
输入密码:123
点击“登录”按钮,登录成功