项目环境搭建
1、安装 Linux 虚拟机
(1)下载安装: VM VirtualBox
- 下载安装:Downloads – Oracle VM VirtualBox,要先开启CPU虚拟化
(2)通过vagrant,在VirtualBox中安装虚拟机
- 下载安装vagrant
- 官方镜像仓库:https://app.vagrantup.com/boxes/search
- vagrant 下载:
- https://www.vagrantup.com/downloads.html
- https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64.msi
- 验证vagrant是否成功
vagrant
- 使用命令快速创建虚拟机
Vagrant init centos/7
# 即初始化一个centos7系统 可在vagrant 镜像仓库官网查看对应的安装系统
(3)在Linux中安装Docker
- 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo 超级管理员(最高权限)
- 注册Docker地址
-- 1安装依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
-- 2docker安装地址
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
确认
-
启动docker
sudo systemcli start docker
- 检查
sudo docker images
- 设置开机自启
sudo systemctl enable docker
2.配置阿里云镜像加速
-
阿里云官网https://www.aliyun.com/activity/2024purchase/purchasing_v2/
-
容器镜像服务/镜像加速器/centos
3.docker安装MYSQL
(1).指定版本下载
sudo docker pull mysql:5.7
// 不加冒号,现在最新版本
// 从docker官网搜索mysql,查看标签
2.检查镜像
sudo docker images
(3).启动容器
- 在docker中启动一个容器,创建实例并启动
- 每run 一下,就启动一个容器,容器间隔离
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
- 参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
-d mysql:5.7 -d以后台方式运行,使镜像 mysql:5.7 启动容器
--name 设置容器名
/ 换行标
-e 改变一些参数
-v 将mysql的目录表挂载在 Linux外部位置,在外部可见
- 切换 root 用户
su root
whoami //那个用户
(4).查看docker中容器
所有容器:docker images
正在运行的容器:docker ps
(5).进入docker中的某个容器(以交互模式)
docker exec -it containerID/容器名 /bin/bash
- 参数说明
- /bin/bash:bash控制台
(6).测试连接mysql
-
使用navicat做链接测试
-
通过容器的 mysql 命令行工具连接
docker exec -it mysql mysql -uroot -proot
- 设置 root远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
(7).进入mysql容器,并配置
- 查看mysql安装位置
whereis mysql
--
mysql:
/usr/bin/mysql
/usr/lib/mysql
/etc/mysql 配置文件
/usr/share/mysql
- 进入配置文件
vi /mydata/mysql/conf/my.cnf
- 按 i 进入插入模式
- 插入配置,修改编码集,默认为拉丁
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
- 按 wq 保存退出
esc -> shift+: -> wq
(8).重启容器
-- 查看
docker ps
-- 重启
docker restart 容器名
-- 查看文件
cat 文件名
4.docker安装Redis
(1)下载最新版Redis
docker pull redis
(2)创建实例并启动
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf redis-server加载redis.conf的方式启动
-d 后台运行
- 实例前注意事项
redis.conf 配置文件实际是不存在的,需要在外部创建配置文件,再通过-d进行挂载
- 实例前准备
-- 创建目录
mkdir -p /mydata/redis/conf
-- 进入目录
cd /mydata/redis/conf/
-- 创建redis.conf
touch redis.conf
(3) 使用 redis 镜像执行 redis-cli 命令测试连接
docker exec -it redis redis-cli
(4)redis持久化
--
pwd
-- 列表
ls
-- 修改文件
vi redis.conf
- 添加 AOF 策略
appendonly yes
- 重启redis容器
docker restart redis
开发环境统一配置
1.Maven
- setting.xml 配置
-- 配置阿里云镜像
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
-- 配置 jdk1.8编译项目 可以不配
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
2.Idea&VsCode
- idea
安装 lombok、mybatisx 插件
- VsCode
Vetur —— 语法高亮、智能感知、Emmet 等
包含格式化功能, Alt+Shift+F (格式化全文),Ctrl+K Ctrl+F(格式化选中代码,两个 Ctrl
需要同时按着)
EsLint —— 语法纠错
Auto Close Tag —— 自动闭合 HTML/XML 标签
Auto Rename Tag —— 自动完成另一侧标签的同步修改
JavaScript(ES6) code snippets — — ES6 语 法 智 能 提 示 以 及 快 速 输 入 , 除 js 外 还 支
持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含 js 代码文件的时间
HTML CSS Support —— 让 html 标签上写 class 智能提示当前项目所支持的样式
HTML Snippets —— html 快速自动补全
Open in browser —— 浏览器快速打开
Live Server —— 以内嵌服务器方式打开
Chinese (Simplified) Language Pack for Visual Studio Code —— 中文语言包
3.安装配置 git
- 详情见
https://blog.csdn.net/weixin_53903929/article/details/130624274
4.使用Git初始化仓库
- 使用idea将项目交给 Git 进行版本控制
5.创建各个微服务项目
- 创建5个模块
商品服务、仓储服务、订单服务、优惠券服务、用户服务
- 相同点
1、web、openfeign
2、每一个服务,包名 com.lfg.xxx(product/order/ware/coupon/member)
3、模块名:glmall
6.使用Maven整合模块
- 从模块中copy pom.xml
在glmall中添加pom.xml文件
- 修改
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lfg.glmall</groupId>
<artifactId>glmall</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>glmall</name>
<description>整合服务</description>
<!-- 类型 -->
<packaging>pom</packaging>
<!-- 整合 -->
<modules>
<module>coupon</module>
<module>member</module>
<module>order</module>
<module>product</module>
<module>ware</module>
</modules>
</project>
7.修改glmall中gitgnore模版
-- 忽略提交的文件
# glmall下的任意mvnw
**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
# 同级的文件夹
.idea
**/.gitignore
8.提交、推送初始化项
容器设置跟随虚拟机重启
-- 查询docker中所所有容器
docker ps -a
-- 设置容器自动启动
docker update 容器名 --restart=always
-- 重启虚拟机测试
-- 查看某个容器日志
docker logs -f 容器名