image.png

学习目标:

  1. 熟悉 Spring Boot 博客应用 kubeblog的架构,功能
  2. 安装 Docker,mysql,IDEA,Maven
  3. 掌握博客项目的打包,运行

2-1 如何获取使用博客源码

https://gitee.com/InsaneLoafer/kubeblog

2-2 博客应用演示

image.png

  1. 首页
  • 查看博客,留言,Tag过滤
  • 关键字查询
  1. 管理员控制台
  • 写博客
  • 留言
  • Tag管理

2-3 Spring Boot 博客应用代码整体介绍(JPA,Thymleaf)

2.3.1 博客项目代码特色

  • 清新,优雅的 UI 设计
  • 实际可用的技术博客系统
  • 支持 MarkDown 编辑
  • 支持后台管理系统
  • 支持评论,留言回复,打赏
  • 为你的个人技术背景加分
  1. 前端
    • Thymeleaf 模板渲染引擎
    • SemanticUI 程序员也能写出专业设计师风格的页面
  2. 后端
    • SpringBoot 业界主流框架
  3. 数据层
    -JPA 持久化数据访问
    -Mysql 关系型数据库

2-4 VirtualBox 虚拟机配置双网卡实现固定IP

虚拟机需要分配2个CPU Core ,用于运行Kubeadm

  • 配置虚机双网卡,实现固定IP ,且能访问外网

网卡1 :仅主机host-only
image.png
网卡2 :网络转换地址NAT
image.png
查看虚拟机网络,点击管理- > 主机网络管理器,记住ip地址( 192.168.56.1 ) , 并选择”手动配置网卡”。
image.png

  • 重启虚拟机,此时在虚拟机ping www.baidu.com是返回成功的。
  • 设置外部网络访问虚拟机

设置静态ip地址,编辑网络配置文件,编辑网络设置文件

  1. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
  1. TYPE=Ethernet
  2. PROXY_METHOD=none
  3. BROWSER_ONLY=no
  4. BOOTPROTO=static
  5. DEFROUTE=yes
  6. IPV4_FAILURE_FATAL=no
  7. IPV6INIT=yes
  8. IPV6_AUTOCONF=yes
  9. IPV6_DEFROUTE=yes
  10. IPV6_FAILURE_FATAL=no
  11. IPV6_ADDR_GEN_MODE=stable-privacy
  12. NAME=enp0s3
  13. UUID=8146965a-1171-47bf-949b-df117cb49465
  14. DEVICE=enp0s3
  15. ONBOOT=yes
  16. IPADDR=192.168.56.101

IPADDR为自定义的静态IP

  • 修改完成后重启网络即可

systemctl restart network

2-5 博客应用开发环境搭建-IDEA,Maven

环境准备

JAVA安装参考:https://www.cnblogs.com/wjup/p/11041274.html JDK下载:https://www.aliyundrive.com/s/njw9RB2EG3E 编辑/etc/profile

  1. set java environment
  2. JAVA_HOME=/var/java/jdk-17.0.1
  3. JRE_HOME=/var/java/jdk-17.0.1/jre
  4. CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  5. PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  6. export JAVA_HOME JRE_HOME CLASS_PATH PATH
  1. 下载并安装 Maven
  • 下载:http://maven.apache.org/download.cgi
  • wget [https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz](https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz) --no-check-certificate

Linux或Mac安装:

  1. # 解压
  2. tar -xzvf apache-maven-3.8.4-bin.tar.gz
  3. # 编辑/etc/profile文件添加
  4. export MAVEN_HOME=/var/local/apache-maven-3.8.4
  5. export MAVEN_HOME
  6. export PATH=$PATH:$MAVEN_HOME/bin

保存退出,然后刷新配置

  1. source /etc/profile

验证

  1. [root@swarm-manager apache-maven-3.8.4]# mvn -version
  2. Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
  3. Maven home: /var/local/apache-maven-3.8.4
  4. Java version: 1.8.0_311, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_311/jre
  5. Default locale: en_US, platform encoding: UTF-8
  6. OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"

Windows环境:

Maven软件的安装
Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如:H:\software\maven 下面。 解压后目录结构如下:

  1. bin:存放了 maven 的命令
  2. boot:存放了一些 maven 本身的引导程序,如类加载器等
  3. conf:存放了 maven 的一些配置文件,如 setting.xml 文件
  4. lib:存放了 maven 本身运行所需的一些 jar


- Maven环境变量配置
配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin 目录之前一级目录)
image.png
将MAVEN_HOME 添加到Path系统变量
image.png

  • Maven 软件版本测试
    win+R 打开dos窗口,通过 mvn -v命令检查 maven 是否安装成功,看到 maven 的版本为 3.6.3 及 java 版本为 jdk-11 即为安装 成功。 打开命令行,输入 mvn –v命令,如下图:

image.png

  1. 下载IDEA: https://www.jetbrains.com/idea/download/

  2. 配置 IDEA

2-6 安装Docker以及环境配置

本文假设您已经在 Virtualbox 上安装了 Centos7 系统。

配置虚拟机免密登录

  • 生成秘钥
  1. ssh-keygen
  • 查看生成的秘钥
  1. cat ~/.ssh/id_rsa.pub
  • 拷贝公钥到虚拟机上
  1. ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.101

在 Centos7 系统上安装Docker

  1. 添加依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 设置yum源

yum-config-manager --add-repo [https://download.docker.com/linux/centos/docker-ce.repo](https://download.docker.com/linux/centos/docker-ce.repo)

  1. 查看仓库中所有Docker版本
    yum list docker-ce --showduplicates | sort -r

  2. 安装Docker
    yum -y install docker-ce

  3. 启动并加入开机启动

systemctl start docker
systemctl enable docker

2-7 安装 Mysql Server 和 Mysq Workbench

环境准备

  1. 挂载外部持久化配置和数据目录
  1. mkdir /opt/mysql
  2. mkdir /opt/mysql/conf.d
  3. mkdir /opt/mysql/data/

创建my.cnf配置文件(文件在代码库第二章获取)

  1. touch /opt/mysql/my.cnf

my.cnf添加如下内容:

  1. [mysqld]
  2. user=mysql
  3. character-set-server=utf8
  4. default_authentication_plugin=mysql_native_password
  5. secure_file_priv=/var/lib/mysql
  6. expire_logs_days=7
  7. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
  8. max_connections=1000
  9. [client]
  10. default-character-set=utf8
  11. [mysql]
  12. default-character-set=utf8
  1. 运行 Mysql Docker 镜像

    1. docker run --name mysql57 -p 3306:3306 -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/log:/var/log/mysql -v /opt/mysql/my.cnf:/etc/mysql/my.cnf:rw -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7.30 --default-authentication-plugin=mysql_native_password
  2. 登录 mysql server,设置 root 密码

    1. mysql -uroot -p
    2. UPDATE mysql.user SET host='%' WHERE user='root';
    3. flush privileges;
  1. 安装Mysql client
  • 添加rpm源

    1. rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
  • 安装x64位的 mysql客户端

    1. yum install mysql-community-client.x86_64 -y
  • 登录 mysql server

    1. mysql -h 127.0.0.1 -uroot -p


    输入密码:password

  • 创建数据库 blogDB

    1. CREATE DATABASE IF NOT EXISTS blogDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

2-8 博客应用编译,打包,运行

1. 项目编译,打包

在 IDEA 里设置 Maven 项目。

  1. cd Final
  2. mvn package

2. 运行博客项目

  1. java -jar target/kubeblog.jar