學(xué)習(xí)目標(biāo):
熟悉 Spring Boot 博客應(yīng)用 kubeblog的架構(gòu),功能
安裝 Docker鞠绰,mysql厢洞,IDEA,Maven
掌握博客項(xiàng)目的打包西饵,運(yùn)行
2-1 如何獲取使用博客源碼
https://gitee.com/InsaneLoafer/kubeblog
2-2 博客應(yīng)用演示
- 首頁(yè)
- 查看博客酝掩,留言,Tag過濾
- 關(guān)鍵字查詢
- 管理員控制臺(tái)
寫博客
留言
Tag管理
2-3 Spring Boot 博客應(yīng)用代碼整體介紹(JPA眷柔,Thymleaf)
2.3.1 博客項(xiàng)目代碼特色
清新期虾,優(yōu)雅的 UI 設(shè)計(jì)
實(shí)際可用的技術(shù)博客系統(tǒng)
支持 MarkDown 編輯
支持后臺(tái)管理系統(tǒng)
支持評(píng)論,留言回復(fù)驯嘱,打賞
為你的個(gè)人技術(shù)背景加分
- 前端
- Thymeleaf 模板渲染引擎
- SemanticUI 程序員也能寫出專業(yè)設(shè)計(jì)師風(fēng)格的頁(yè)面
- 后端
- SpringBoot 業(yè)界主流框架
- 數(shù)據(jù)層 -JPA 持久化數(shù)據(jù)訪問 -Mysql 關(guān)系型數(shù)據(jù)庫(kù)
2-4 VirtualBox 虛擬機(jī)配置雙網(wǎng)卡實(shí)現(xiàn)固定IP
- Virtualbox安裝CentOS(安裝步驟參考:https://blog.csdn.net/maty_wang/article/details/79127718)
虛擬機(jī)需要分配2個(gè)CPU Core ,用于運(yùn)行Kubeadm
- 配置虛機(jī)雙網(wǎng)卡镶苞,實(shí)現(xiàn)固定IP ,且能訪問外網(wǎng)
網(wǎng)卡1 :僅主機(jī)host-only
網(wǎng)卡2 :網(wǎng)絡(luò)轉(zhuǎn)換地址NAT
查看虛擬機(jī)網(wǎng)絡(luò),點(diǎn)擊管理- > 主機(jī)網(wǎng)絡(luò)管理器,記住ip地址( 192.168.56.1 ) , 并選擇"手動(dòng)配置網(wǎng)卡"。
- 重啟虛擬機(jī),此時(shí)在虛擬機(jī)ping www.baidu.com是返回成功的鞠评。
- 設(shè)置外部網(wǎng)絡(luò)訪問虛擬機(jī)
設(shè)置靜態(tài)ip地址,編輯網(wǎng)絡(luò)配置文件,編輯網(wǎng)絡(luò)設(shè)置文件
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=8146965a-1171-47bf-949b-df117cb49465
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.101
IPADDR為自定義的靜態(tài)IP
- 修改完成后重啟網(wǎng)絡(luò)即可
systemctl restart network
2-5 博客應(yīng)用開發(fā)環(huán)境搭建-IDEA茂蚓,Maven
環(huán)境準(zhǔn)備
JAVA安裝參考:https://www.cnblogs.com/wjup/p/11041274.html
JDK下載:https://www.aliyundrive.com/s/njw9RB2EG3E
編輯/etc/profile
set java environment
JAVA_HOME=/var/java/jdk-17.0.1
JRE_HOME=/var/java/jdk-17.0.1/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
- 下載并安裝 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安裝:
# 解壓
tar -xzvf apache-maven-3.8.4-bin.tar.gz
# 編輯`/etc/profile`文件添加
export MAVEN_HOME=/var/local/apache-maven-3.8.4
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
保存退出,然后刷新配置
source /etc/profile
驗(yàn)證
[root@swarm-manager apache-maven-3.8.4]# mvn -version
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /var/local/apache-maven-3.8.4
Java version: 1.8.0_311, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_311/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"
Windows環(huán)境:
Maven軟件的安裝 Maven 下載后剃幌,將 Maven 解壓到一個(gè)沒有中文沒有空格的路徑下聋涨,比如:H:\software\maven 下面。 解壓后目錄結(jié)構(gòu)如下:
bin:存放了 maven 的命令
boot:存放了一些 maven 本身的引導(dǎo)程序负乡,如類加載器等
conf:存放了 maven 的一些配置文件牍白,如 setting.xml 文件
lib:存放了 maven 本身運(yùn)行所需的一些 jar 包
- Maven環(huán)境變量配置 配置
MAVEN_HOME
,變量值就是你的 maven 安裝的路徑(bin 目錄之前一級(jí)目錄)
將MAVEN_HOME
添加到Path系統(tǒng)變量
- Maven 軟件版本測(cè)試
win+R
打開dos窗口敬鬓,通過mvn -v
命令檢查 maven 是否安裝成功淹朋,看到 maven 的版本為 3.6.3 及 java 版本為 jdk-11 即為安裝 成功笙各。 打開命令行,輸入mvn –v
命令础芍,如下圖:
配置 IDEA
2-6 安裝Docker以及環(huán)境配置
本文假設(shè)您已經(jīng)在 Virtualbox 上安裝了 Centos7 系統(tǒng)杈抢。
配置虛擬機(jī)免密登錄
- 生成秘鑰
ssh-keygen
- 查看生成的秘鑰
cat ~/.ssh/id_rsa.pub
- 拷貝公鑰到虛擬機(jī)上
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.101
在 Centos7 系統(tǒng)上安裝Docker
- 添加依賴
yum install -y yum-utils device-mapper-persistent-data lvm2
- 設(shè)置yum源
yum-config-manager --add-repo [https://download.docker.com/linux/centos/docker-ce.repo](https://download.docker.com/linux/centos/docker-ce.repo)
查看倉(cāng)庫(kù)中所有Docker版本
yum list docker-ce --showduplicates | sort -r
安裝Docker
yum -y install docker-ce
啟動(dòng)并加入開機(jī)啟動(dòng)
systemctl start docker
systemctl enable docker
2-7 安裝 Mysql Server 和 Mysq Workbench
環(huán)境準(zhǔn)備
- 掛載外部持久化配置和數(shù)據(jù)目錄
mkdir /opt/mysql
mkdir /opt/mysql/conf.d
mkdir /opt/mysql/data/
創(chuàng)建my.cnf
配置文件
touch /opt/mysql/my.cnf
my.cnf添加如下內(nèi)容:
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
- 運(yùn)行 Mysql Docker 鏡像
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
- 登錄 mysql server,設(shè)置 root 密碼
mysql -uroot -p UPDATE mysql.user SET host='%' WHERE user='root'; flush privileges;
- 安裝Mysql client
- 添加rpm源
rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
- 安裝x64位的 mysql客戶端
yum install mysql-community-client.x86_64 -y
- 登錄 mysql server
mysql -h 127.0.0.1 -uroot -p
輸入密碼:password
- 創(chuàng)建數(shù)據(jù)庫(kù) blogDB
CREATE DATABASE IF NOT EXISTS blogDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
2-8 博客應(yīng)用編譯仑性,打包惶楼,運(yùn)行
1. 項(xiàng)目編譯,打包
在 IDEA 里設(shè)置 Maven 項(xiàng)目诊杆。
cd Final
mvn package
2. 運(yùn)行博客項(xiàng)目
java -jar target/kubeblog.jar
- 訪問博客用戶端:http://localhost:5000
- 訪問博客管理員端:http://localhost:5000/admin, 用戶名密碼
admin/password