谷粒商城 第二章 开发环境搭建

1、安装linux虚拟机

1 下载&安装 VirtualBox https://www.virtualbox.org/, 要开启 CPU 虚拟化

复制代码
 1 下载&安装 Vagrant
 2  https://app.vagrantup.com/boxes/search Vagrant 官方镜像仓库
 3  https://www.vagrantup.com/downloads.html Vagrant 下载
 4  打开 window cmd 窗口,运行 Vagrant init centos/7,即可初始化一个 centos7 系统
 5  运行 vagrant up 即可启动虚拟机。系统 root 用户的密码是 vagrant
 6 vagrant 其他常用命令
 7 vagrant ssh:自动使用 vagrant 用户连接虚拟机。
 8 vagrant upload source [destination] [name|id]:上传文件
 9 https://www.vagrantup.com/docs/cli/init.html Vagrant 命令行
10 默认虚拟机的 ip 地址不是固定 ip,开发不方便
11 修改 Vagrantfile
12 config.vm.network "private_network", ip: "192.168.56.10"
复制代码

 2、安装docker

Docker 安装文档: https://docs.docker.com/install/linux/docker-ce/centos/

 2.1 卸载系统之前的 docker

1 sudo yum remove docker \
2                     docker-client \
3                     docker-client-latest \
4                     docker-common \
5                     docker-latest \
6                     docker-latest-logrotate \
7                     docker-logrotate \
8                     docker-engine

2.2 安装 Docker-CE

1 安装必须的依赖
2 sudo yum install -y yum-utils \
3       device-mapper-persistent-data \
4       lvm2
1 设置 docker repo 的 yum 位置
2 sudo yum-config-manager \
3                        --add-repo \
4                        https://download.docker.com/linux/centos/docker-ce.repo
1 安装 docker,以及 docker-cli
2 sudo yum install docker-ce docker-ce-cli containerd.io

2.3 启动docker

1 sudo systemctl start docker

2.4 设置 docker 开机自启

1 sudo systemctl enable docker

2.5 测试 docker 常用命令,注意切换到 root 用户下

1 https://docs.docker.com/engine/reference/commandline/docker/

2.6 配置 docker 镜像加速

复制代码
 1 阿里云,容器镜像服务
 2 针对 Docker 客户端版本大于 1.10.0 的用户
 3 您可以通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器
 4 sudo mkdir -p /etc/docker
 5 sudo tee /etc/docker/daemon.json <<-'EOF'
 6 {
 7 "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"
 8 }
 9 EOF
10 sudo systemctl daemon-reload
11 sudo systemctl restart docker
复制代码

3、docker 安装mysql

3.1 下载镜像文件

1 docker pull mysql:5.7

3.2 创建实例并启动

复制代码
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 用户的密码
复制代码
复制代码
 1 MySQL 配置
 2     vi /mydata/mysql/conf/my.cnf
 3 [client]
 4     default-character-set=utf8
 5 [mysql]
 6     default-character-set=utf8
 7 [mysqld]
 8      init_connect='SET collation_connection = utf8_unicode_ci'
 9      init_connect='SET NAMES utf8'
10      character-set-server=utf8
11      collation-server=utf8_unicode_ci
12      skip-character-set-client-handshake
13      skip-name-resolve
复制代码
1 注意:解决 MySQL 连接慢的问题
2      在配置文件中加入如下,并重启 mysql
3 [mysqld]
4      skip-name-resolve
5 解释:
6      skip-name-resolve:跳过域名解析
1 启动mysql容器
2 使用命令查看docker容器id:docker ps -a;
3 使用命令:docker start 容器id,启动docker容器
4 使用命令:docker exec -it 容器id /bin/bash进入docker容器。
5 重启容器  docker restart 容器id

3.3 通过容器的mysql命令行工具连接

1 docker exec -it mysql mysql -uroot -proot

3.4 设置root远程访问

1 grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
2 flush privileges;

3.5 进入容器文件系统

1 docker exec -it mysql /bin/bash

3.6 安装过程出现的问题

  出现Host is not allowed to connect to this MySQL server

  解决方法:

1 mysql -u root -p 
2 use mysql;
3 update user set host = '%' where user = 'root'; 
4 FLUSH PRIVILEGES;

3.7 mysql 设置为自动启动

1 docker update mysql --restart=always

4、docker 安装redis

4.1 下载镜像文件

1 docker pull redis

4.2 创建实例并启动

1 mkdir -p /mydata/redis/conf
2 touch /mydata/redis/conf/redis.conf
3 docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
4     -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
5     -d redis redis-server /etc/redis/redis.conf
6 redis 自描述文件:
7 https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf

4.3 使用 redis 镜像执行 redis-cli 命令连接

1  docker exec -it redis redis-cli

4.4 redis设置为自动启动

1 docker update redis --restart=always

5 开发环境统一

5.1 Maven

复制代码
1 配置阿里云镜像
2 <mirrors>
3       <mirror>
4            <id>nexus-aliyun</id>
5            <mirrorOf>central</mirrorOf>
6            <name>Nexus aliyun</name>
7            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
8       </mirror>
9 </mirrors
复制代码
复制代码
 1 配置 jdk1.8 编译项目
 2 <profiles>
 3      <profile>
 4            <id>jdk-1.8</id>
 5            <activation>
 6                <activeByDefault>true</activeByDefault>
 7                <jdk>1.8</jdk>
 8            </activation>
 9            <properties>
10              <maven.compiler.source>1.8</maven.compiler.source>
11              <maven.compiler.target>1.8</maven.compiler.target>
12              <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
13            </properties>
14      </profile>
15 </profiles>
复制代码

5.2 Idea&vsCode

复制代码
 1 idea 安装 lombok、mybatisx 插件
 2 Vscode 安装开发必备插件
 3 Vetur —— 语法高亮、智能感知、Emmet 等
 4 包含格式化功能, Alt+Shift+F (格式化全文),Ctrl+K Ctrl+F(格式化选中代码,两个 Ctrl需要同时按着)
 5 EsLint —— 语法纠错
 6 Auto Close Tag —— 自动闭合 HTML/XML 标签
 7 Auto Rename Tag —— 自动完成另一侧标签的同步修改
 8 JavaScript(ES6) code snippets — — ES6 语 法 智 能 提 示 以 及 快 速 输 入 , 除 js 外 还 支
 9 持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含 js 代码文件的时间
10 HTML CSS Support —— 让 html 标签上写 class 智能提示当前项目所支持的样式
11 HTML Snippets —— html 快速自动补全
12 Open in browser —— 浏览器快速打开
13 Live Server —— 以内嵌服务器方式打开
14 Chinese (Simplified) Language Pack for Visual Studio Code —— 中文语言包
复制代码

5.3 安装配置git 

复制代码
 1 1、下载 git;https://git-scm.com
 2 2、配置 git,进入 git bash
 3 # 配置用户名
 4 git config --global user.name "username" //(名字)
 5 # 配置邮箱
 6 git config --global user.email "username@email.com" //(注册账号时用的邮箱)
 7 3、配置 ssh 免密登录
 8 https://gitee.com/help/articles/4181#article-header0
 9 进入 git bash;使用:ssh-keygen -t rsa -C "xxxxx@xxxxx.com"命令。连续三次回车。
10 一般用户目录下会有或者 cat ~/.ssh/id_rsa.pub
11 登录进入 gitee,在设置里面找到 SSH KEY 将.pub 文件的内容粘贴进去
12 使用 ssh -T git@gitee.com 测试是否成功即可
复制代码

5.4 逆向工程使用

1 1、导入项目逆向工程
2 2、下载人人开源后台管理系统脚手架工程
3      (1) 导入工程,创建数据库
4      (2) 修改工程 shiro 依赖为 SpringSecurity
5      (3) 删除部分暂时不需要的业务
6 3、下载人人开源后台管理系统 vue 端脚手架工程
7      (1) vscode 导入前端项目
8      (2) 前后端联调测试基本功能

5.5 创建项目微服务

商品服务、仓储服务、订单服务、优惠券服务、用户服务

共同:
       1)、web、openfeign
       2)、每一个服务,包名 com.atguigu.gulimall.xxx(product/order/ware/coupon/member)
       3)、模块名:gulimall-coupon

5.6 idea项目结构

    5.6.1 创建以下模块:

         商品服务product    存储服务ware      订单服务order   优惠券服务coupon    用户服务member

        每个模块导入web和openFeign

              

 

 

     5.6.2 创建父模块:在gulimall中创建pom.xml

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <groupId>com.atguigu.gulimall</groupId>
 6     <artifactId>gulimall</artifactId>
 7     <version>0.0.1-SNAPSHOT</version>
 8     <name>gulimall</name>
 9     <description>谷粒商城-聚合服务</description>
10     <packaging>pom</packaging>
11 
12     <modules>
13         <module>gulimall-coupon</module>
14         <module>gulimall-member</module>
15         <module>gulimall-order</module>
16         <module>gulimall-product</module>
17         <module>gulimall-ware</module>
18     </modules>
19 
20 </project>
复制代码

    5.6.3  总项目的.gitignore,把小项目里的垃圾文件在提交的时候忽略掉

复制代码
 1 target/
 2 pom.xml.tag
 3 pom.xml.releaseBackup
 4 pom.xml.versionsBackup
 5 pom.xml.next
 6 release.properties
 7 dependency-reduced-pom.xml
 8 buildNumber.properties
 9 .mvn/timing.properties
10 .mvn/wrapper/maven-wrapper.jar
11 
12 **/mvnw
13 **/mvnw.cmd
14 
15 **/.mvn
16 **/target
17 
18 .idea
19 
20 **/.gitignore
21 
22 **/README.md
复制代码

5.7 创建数据库

            

 

posted @   summayidea  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
点击右上角即可分享
微信分享提示