三分钟搭建自己的专属博客(基于Docker solo搭建个人博客)
我的博客演示:http://49.233.150.105/
域名备案有些麻烦,所以暂时用ip访问
准备工作
- 服务器一台(必选),域名一个(可选)
1. Docker部署
不懂参考我这里的教程:
linux(Centos)下Docker安装(docker入门)
2. 安装MySql镜像
docker安装启动mysql
3. 创建 solo数据库
# 进入容器mysql
docker exec -it mysql bash
# 进入数据库 p后面跟你的密码
mysql -uroot -p123456
# 创建数据库(数据库名:solo;字符集utf8mb4;排序规则utf8mb4_general_ci)
create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
# 出现Query OK, 1 row affected (0.00 sec)表示成功
#退出数据库
exit
#退出容器
exit
下载并启动solo镜像
docker run --detach --name solo --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
b3log/solo --listen_port=80 --server_scheme=http --server_host=www.vcjmhg.top
参数说明:--detach
: 这个选项告诉 Docker 在启动后将程序与控制台分离,使其进入“后台”运行。--name solo
: solo是容器的名字,也可以改成自己喜欢的名字如mysolo,这个无所谓RUNTIME_DB="MYSQL"
: 指明我们此处使用的数据库为MYSQL,如果使用,H2 Database,将MYSQL改成org.h2.Driver即可JDBC_USERNAME="root"
: 指明MYSQL数据连接时使用的用户名,默认都是rootJDBC_PASSWORD="123456"
: 指明MYSQL数据库连接时用户密码,使用时注意将123456替换成自己在上一步所设置的密码env JDBC_DRIVER="com.mysql.cj.jdbc.Driver"
:数据库连接驱动包,如果使用,H2 Database,将om.mysql.cj.jdbc.Driver改成H2即可--server_host=www.vcjmhg.top
: 个人域名,如果没有可设置为自己的服务器ip--env JDBC_URL
数据库链接地址及一些其他配置--listen_port=80
:指明solo监听的端口此处使用的是80,如果想配置nginx此处可以换成8080
4. 检验
安装完成后 我们输入
docker ps
这两个容器都在就可以了
这里我们就可以访问 ip+端口
http://49.233.150.105:80
我这里没有Nginx反向代理,感兴趣的可以自己研究
5. 域名映射
我这里使用的阿里云的域名
购买域名后点击这里
- 解析
- 点击新手引导
- 域名与ip绑定
至此博客构建完成
问题
写博客发布的时候可能遇到如下问题,
更改Mysql max_allowed_packet参数即可
show VARIABLES like '%max_allowed_packet%';
set global max_allowed_packet = 4*1024*1024*10;
然后重启 solo
日志查看
docker logs solo
还没有评论,来说两句吧...