前言
前段时间想搭建一个个人博客,现在网上大多是基于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
部署运行
-
创建阿里云镜像仓库: https://cr.console.aliyun.com/cn-hangzhou/instances/repositories
-
使用docker run来运行所需容器就行, 参考脚本
# 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 即可运行