手把手教你搭建个人博客,基于docker运行项目
放一下我的博客地址,用的就是这个开源框架,页面看着挺美观的
先说明一下
搭建项目前,首先需要有自己的服务器,这里推荐云服务器,阿里云或者腾讯云什么的。
只需要一台自己的云服务器即可。
这里我个人采用了halo开源框架博客,官网 halo.run,上面有详细文档
这里我来说明一下我详细搭建过程
安装docker
这里推荐一篇博文,写的很详细
[如何安装docker](https://blog.csdn.net/u014069688/article/details/100532774)
部署mysql
这里选用的mysql5.7版本
运行 docker pull mysql:5.7 #拉取mysql5.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
这样就创建好了mysql容器,初始密码root
这时候我们需要进入容器内部
执行命令
docker exec -it mysql /bin/bash
这时候就进入了容器内部
这时候我们需要创建一个数据库,用户,并为这个用户分配权限
mysql -u root -p
然后输入密码root,进入mysql
执行
create database halodb default character set utf8mb4 collate utf8mb4_general_ci;
CREATE USER haloblog IDENTIFIED BY 'haloblog';
GRANT ALL PRIVILEGES ON halodb.* TO 'haloblog'@'%';
FLUSH PRIVILEGES;
这时候我们的数据库就准备好了
执行 exit 退出mysql
再执行 exit 退出mysql容器
部署halo博客容器
首先执行
curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml
这一步目的下载halo配置文件
然后执行
编辑配置文件,按照我的方式修改
vim ~/.halo/application.yaml
server:
port: 8090
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
# H2 Database 配置,如果你需要使用 MySQL,请注释掉该配置并取消注释 MySQL 的配置。
# driver-class-name: org.h2.Driver
# url: jdbc:h2:file:~/.halo/db/halo
# username: admin
# password: 123456
# MySQL 配置,如果你需要使用 H2Database,请注释掉该配置并取消注释上方 H2Database 的配置。
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://{你的云服务器公网id}:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: haloblog
password: haloblog
# H2 Database 的控制台相关配置,如果你使用的是 MySQL ,请注释掉下方内容。
# h2:
# console:
# settings:
# web-allow-others: false
# path: /h2-console
# enabled: false
这里要注意,mysql后面跟的路径ip要改成你的云服务器公网ip
然后保存退出
拉取halo最新docker镜像
sudo docker pull ruibaby/halo
然后执行
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo ruibaby/halo
这个是外网访问的端口
然后执行
docker logs halo
如果看到下面的日志就说明大功告成了!!!!!!
访问 http://{你的域名或者公网ip}:8090 开始你的博客之旅吧!!!!!!!