【项目】小帽商城 II(二)

小帽商城 II

第二章 环境搭建

一、安装 Linux 虚拟机

1. 下载&安装 VirtualBox
  • https://www.virtualbox.org/,要开启 CPU 虚拟化
2. 下载&安装 Vagrant
  • https://app.vagrantup.com/boxes/search Vagrant 官方镜像仓库
  • https://www.vagrantup.com/downloads.html Vagrant 下载
3. 运行 Vagrant
  • 打开 window cmd 窗口,运行 Vagrant init centos/7,即可初始化一个 centos7 系统
  • 运行 vagrant up 即可启动虚拟机。系统 root 用户的密码是 vagrant
4. vagrant 其他常用命令
  • vagrant ssh:自动使用 vagrant 用户连接虚拟机。
    • vagrant upload source [destination] [name|id]:上传文件
  • Vagrant 命令行
    • https://www.vagrantup.com/docs/cli/init.html
5. 默认虚拟机的 ip 地址不是固定 ip,开发不方便
  • 修改 Vagrantfile
    • config.vm.network “private_network”, ip: “192.168.56.10”
    • 这里的 ip 需要在物理机下使用 ipconfig 命令找到
      在这里插入图片描述
    • 改为这个指定的子网地址
    • 重新使用 vagrant up 启动机器即可。然后再 vagrant ssh 连接机器

二、安装 docker

  • 虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。
    在这里插入图片描述
1. 卸载系统之前的 docke
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装 Docker-CE
# 安装必须的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

# 设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# 安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
3. 启动 docker
sudo systemctl start docker
4. 设置 docker 开机自启
sudo systemctl enable docker
5. 测试 docker 常用命令,注意切换到 root 用户下
  • https://docs.docker.com/engine/reference/commandline/docker/
6. 配置 docker 镜像加速(选)
阿里云,容器镜像服务
针对 Docker 客户端版本大于 1.10.0 的用户
可以通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
每日登录命令
1.打开Oracle VM VirtualBox 管理器,选择虚拟机右键:无界面启动
(或者 vagrant up 启动虚拟机)
<!-- 看到 Rsyncing folder: /cygdrive/c/Users/sgsgk/MyVagrantSyncFolder/ => /vagrant 为成功-->
2.控制台 vagrant ssh 连接虚拟机

三、docker 安装 mysql

1. 下载镜像文件
sudo docker pull mysql:5.7

# 查看所有镜像 sudo docker images
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 用户的密码

# 查看正在运行的容器 docker ps
# 访问容器内部 docker exec -it mysql /bin/bash
# 检查mysql装在哪个位置 whereis mysql
# 重启mysql容器 docker restart mysql
  • MySQL容器是一个完整的Linux
    在这里插入图片描述
  • MySQL 配置
vi /mydata/mysql/conf/my.cnf

[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
  • skip-name-resolve: 跳过域名解析

四、docker 安装 redis

1. 下载镜像文件
docker pull redis
2. 创建实例并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

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
3. 使用 redis 镜像执行 redis-cli 命令连接
docker exec -it redis redis-cli

五、开发环境统一

1. Maven
# 配置阿里云镜像
<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
3.1 下载 git
  • https://git-scm.co
3.2 配置 git,进入 git bash
# 配置用户名
git config --global user.name "username" //(名字)
# 配置邮箱
git config --global user.email "username@email.com" //(注册账号时用的邮箱)
3.3 配置 ssh 免密登录
  • https://gitee.com/help/articles/4181#article-header0
  • 进入 git bash;使用:ssh-keygen -t rsa -C "xxxxx@xxxxx.com"命令。 连续三次回车。
  • 一般用户目录下会有
    在这里插入图片描述
  • 或者 cat ~/.ssh/id_rsa.pub
  • 登录进入 gitee,在设置里面找到 SSH KEY 将.pub 文件的内容粘贴进去
  • 使用 ssh -T git@gitee.com 测试是否成功即可

六、创建项目微服务

  • 商品服务、仓储服务、订单服务、优惠券服务、用户服务
  • 共同:
    • web、openfeign
    • 每一个服务,包名 com.lin.citronmall.xxx(product/order/ware/coupon/member)
    • 模块名:citronmall-coupon
1. 从 gitee 初始化一个项目

在这里插入图片描述

2. 创建各个微服务项目
  • 了解人人开源项目,快速搭建后台脚手架
  • 修改代码调整为我们的业务逻辑
  • 创建各个微服务以及数据库
    • 数据库资源详见【资料】小帽商城 II(一)
# .gitignore
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar

**/mvnw
**/mvnw.cmd

**/.mvn
**/target/

.idea

**/.gitignore
# 虚拟机重启后服务都会重新启动
sudo docker update redis --restart=always
sudo docker update mysql --restart=always

七、人人开源

1. 码云下载
  • 在码云上搜索人人开源,下载 renren-fast 和 renren-fast-vue
  • 将 renren-fast 文件夹拷贝至项目 citronmall 中
  • renren-fast 中 db 下有mysql.sql,新建数据库citronmall_admin后,将其复制到数据库中运行
  • 修改 application-dev.yml 数据库连接部分
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
            driver-class-name: com.mysql.cj.jdbc.Driver
            url: jdbc:mysql://192.168.56.10:3306/citronmall_admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
            username: root
            password: root
2. 前端
  • 将 renren-fast-vue 拖进 vscode 中
3. 安装 node.js
  • 前端开发,少不了 node.js;

  • Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

  • http://nodejs.cn/api/

  • 我们关注与 node.js 的 npm 功能就行;

  • NPM 是随同 NodeJS 一起安装的包管理工具,JavaScript-NPM,Java-Maven;

    • 官网下载安装 node.js,并使用 node -v 检查版本
    node -v
    v10.16.3
    
    • 配置 npm 使用淘宝镜像
      • npm config set registry http://registry.npm.taobao.org/
    • 如果 npm install 安装依赖出现 chromedriver 之类问题,先在项目里运行下面命令 npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
    • 然后再运行 npm install
4. 运行前端项目
  • vscode中
  • npm install
    • 此处若安装不了,需设置权限(管理员身份打开cmd)
    • 输入set-ExecutionPolicy RemoteSigned 选择A
      在这里插入图片描述
  • npm run dev
  • 输入账号密码admin,进入后台管理系统
5. 代码生成器
  • 将 renren-generator 拷贝至项目 citronmall 中
  • pom文件添加
	<modules>
		<module>citronmall-coupon</module>
		<module>citronmall-member</module>
		<module>citronmall-order</module>
		<module>citronmall-product</module>
		<module>citronmall-ware</module>
		<module>renren-fast</module>
		<module>renren-generator</module>
	</modules>
<!-- generator.properties -->
#\u5305\u540D
package=com.lin.citronmall
moduleName=product
#\u4F5C\u8005
author=alex
#Email
email=alex@gmail.com
#\u8868\u524D\u7F00(\u7C7B\u540D\u4E0D\u4F1A\u5305\u542B\u8868\u524D\u7F00)
tablePrefix=pms_

<!-- application.yml -->
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    #MySQL配置
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.56.10:3306/citronmall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
6. 创建 citronmall-common 模块

在这里插入图片描述

<!-- pom.xml -->
<dependencies>
        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.12</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
    </dependencies>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠檬小帽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值