环境搭建
一、电脑的准备
本项目所用数据库MySQL和Redis均安装在Linux系统的下的Docker环境中,为此,在腾讯云上租赁一台Centos7系统的服务器作为远程设备。
二、Docker
1. 基本概念
Docker是虚拟化容器技术,它基于镜像,可以秒级启动各种容器,每一种容器都是一个完整的独立运行环境,容器之间相互隔离。
2. Docker的安装
- 卸载系统之前的docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
- 安装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
- 启动docker
sudo systemctl start docker
- 设置docker开机自启
sudo systemctl enable docker
- 测试 docker 常用命令,注意切换到 root 用户下
https://docs.docker.com/engine/reference/commandline/docker/
- 配置 docker 镜像加速
使用阿里云容器镜像服务。 登录阿里云,选择容器镜像服务中的镜像加速器,选择Centos系统,会给出如下命令,依次执行即可。 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
三、MySQL和Redis安装
1. MySQL
- 镜像文件下载
docker pull mysql:5.7
- 创建实例并启动
参数说明: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用户的密码为root - 配置MySQL
参数解析:提高MySQL的连接速度 ===> skip-name-resolve:跳过域名解析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
- 重启MySQL
docke restart mysql
2. Redis
- 镜像文件下载
docker pull redis
- 创建实例并启动
注意事项: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 ############################创建文件指令############################# mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf
① -d redis redis-server /etc/redis/redis.conf意思是,让redis以后台方式,采用指定的redis.conf文件运行。
② 要提前在容器外的linux系统中创建redis.conf文件,如果不自己创建直接运行,则redis.conf会被当成目录创建而不是当成文件名创建。 - 设置持久化:修改/mydata/redis/conf/redis.conf文件中的appendonly为yes来开启AOF持久化。
- 重启Redis
docke restart redis
四、统一开发环境
1. Maven
- 下载Maven
- 修改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>
- 修改Maven的配置文件来配置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中安装
lombok
、mybatisX
、Gitee
。 - 前端开发:VsCode中安装
EsLint
、Auto Close Tag
、Auto Rename Tag
、JavaScript(ES6) code
、snippets
、HTML CSS Support
、HTML Snippets
、Open in browser
、Live Server
、Chinese (Simplified) Language Pack for Visual Studio Code
。
3. Git
- 下载Git
- 进入git bash配置基本信息
# 配置用户名 git config --global user.name "username" //(名字) # 配置邮箱 git config --global user.email "username@email.com" //(注册账号时用的邮箱)
- 进入git bash生成密钥
随后连续回车三次,即可生成密钥,通过以下指令查看密钥,并进行复制ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
cat ~/.ssh/id_rsa.pub
- 登录码云,找到个人设置中的SSH公钥,将复制的密钥粘贴到公钥中
- 测试登录是否成功,并进行最终确认完成SSH登录的设置
随后输入yes进行确认即可ssh -T git@gitee.com
4. Gitee
- 创建仓库:登录自己的码云,点击新建仓库,设置仓库名为gulimall,忽略.gtiignore文件,使用Apache-2.0开源许可证,选择生产/开发模型,点击创建即可完成创建。
- 创建本地项目:复制仓库地址,在idea中通过版本控制Git来新建项目(File ⇒ New ⇒ Project from Version Control => Git),粘贴仓库地址并选择好项目保存路径,点击Clone即可完成创建。
- 创建Moudle:通过Spring Initializr初始化向导创建后台管理部分所需要编写的几个Moudle,初始化只需要导入微服务必要组件 ⇒ ①web开发的Spring Web ② 远程调用OpenFeign,其他组件需要时在进行导入即可。初始时刻创建的服务包括商品服务、仓储服务、订单服务、优惠券服务、用户服务。
- 聚合Moudle:在gulimall中创建一个pom文件,利用
<moudles><moudle><moudle><moudles>
来聚合所有子模块,同时在gulimall的.gitignore中添加上传到Gitee时需要忽略的文件。<?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.atguigu.gulimall</groupId> <artifactId>gulimall</artifactId> <version>0.0.1-SNAPSHOT</version> <name>gulimall</name> <description>聚合服务</description> <packaging>pom</packaging> <modules> <module>gulimall-coupon</module> <module>gulimall-member</module> <module>gulimall-order</module> <module>gulimall-product</module> <module>gulimall-ware</module> </modules> </project>
**/mvnw **/mvnw.cmd **/.mvn **/target/ .idea **/.gitignore
- 确定提交文件:在Local Changes选择Unversioned Files,右键选定add to VCS,即可确认需要提交的文件。