前言

前段时间想搭建一个个人博客,现在网上大多是基于Wordpress来搭建。但是Wordpress 是基于PHP写的,本人平时是Java、Python和Go 写的比较多,为了方便以后维护和二次开发,所以放弃了Wordpress。下面介绍下我搭建SpringBoot + MyBatis + Thymeleaf 技术栈的个人博客的过程。

博客代码

可以在Github上搜, 经过选择后,我挑选了My-Blog

域名

个人博客域名可以在阿里云上购买,网址:https://wanwang.aliyun.com/domain/searchresult/#/?keyword=mochi&suffix=com

在搜索框输入自己想要的域名看是否已经被人注册,选择一个没有被注册的购买就行。

购买ECS

考虑成本,准备买个低配的ecs来搭建个人博客。阿里云ECS最低22.5/月

配置域名到ecs 的路由

进入DNS管理平台点击“新手引导”添加ecs ip即可

安装mysql

  • 下载MySQL
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

也可以直接到mysql官网选择其他版本进行下载。

  • 解压
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
  • 更改mysql安装目录
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
  • 创建数据目录
mkdir /usr/local/mysql/data
  • 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
groupadd mysql     //创建mysql组
useradd -g mysql mysql //创建mysql用户添加到mysql组

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
  • 需要安装libaio-devel.x86_64库,否则在mysql初始化的时候可能会报错
yum install  libaio-devel.x86_64
  • 初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。 如: root@localhost: j?MlRd43f63)

  • 编辑配置文件my.cnf,添加配置如下
[root@localhost bin]#  vi /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不敏感
lower_case_table_names=1
  • 添加软连接,并重启mysql服务。启动mysql服务器
[root@localhost /]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
[root@localhost /]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost /]#  service mysql restart
  • 登录mysql,修改密码(密码为步骤5生成的临时密码)
[root@localhost /]#  mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');

参考文档: https://www.jianshu.com/p/276d59cbc529

安装docker

sudo wget -qO- https://get.docker.com | sh

部署运行

# cat docker_run.sh
function run_img()
{
	sudo docker run -d -p 80:80 --restart=always --name ${SERVICE_NAME} \
	    -v `pwd`/usr/local/mochi/mochi_blog/log:/usr/local/mochi/mochi_blog/log \
	    registry.cn-hangzhou.aliyuncs.com/${DOCKER_NAMESPACE}/${SERVICE_NAME}:${VERSION} \
	    --spring.profiles.active=prod \
	    --spring.datasource.url=${META_DB_JDBC_URL} \
        --spring.datasource.username=${META_DB_USER} \
        --spring.datasource.password=${META_DB_PWD}
}

run_img

sh docker_run.sh 即可运行