附上自己的博客地址
- https://blog.kele.red
准备工作
- 一台服务器(如:阿里云ecs)或者选择 windows 作为博客的测试环境
- 服务器或者 windows 上面需要具备有 docker 的环境
首先说明一下这里为什么使用 docker 环境来部署咱们的博客
- docker 是一个容器化技术,它可以将一个项目所需要的环境打包成一个镜像,而这个镜像就可以在其他服务器或者是 windows 上面直接运行生成一个容器,将我们的项目启动起来。
- docker 不会依赖我们的外部环境(这里的外部环境是指宿主机),因为这个项目运行时所需要的环境,已经打包好在这个镜像里面。
谁是 docker 的宿主机
- docker 其实它也算是一个应用程序,那这个应用程序运行肯定是要在某个环境的基础之上,在 linux 服务器上面运行时,linux 服务器就是它的宿主机。在 windows 上面,则 windows 就是其宿主机。
在 windows 上如何搭建博客
如何快速在 windows 上安装 docker 环境
- 访问 docker 官网 https://www.docker.com/get-started
- 选择安装 docker 客户端环境,注意选择 windows 版本
- 下载完成以后,就是一路 next!
使用 docker 部署 mysql 环境
拉取 mysql5.7 镜像
- 执行命令
docker pull hub.c.163.com/library/mysql
- 使用 docker images 命令可以看到我们拉取好的镜像
运行 mysql 镜像生成容器
- 执行如下命令
docker run -p 23308:3306 --name mysql5 --restart always -v C:/dev/software/mysql-master5/conf:/etc/mysql/conf.d -v C:/dev/software/mysql-master5/logs:/var/logs -v C:/dev/software/mysql-master5/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=localDocker@mysql -d hub.c.163.com/library/mysql
- 命令拆解
- docker run : 运行容器的前缀命令
- -p : 在宿主机上面给容器指定一个端口号,:左边的端口号是宿主机上面的(即提供给外部访问的端口号),:右边的端口号则是容器内部 mysql 的端口号
- –restart always : 在宿主机启动时,启动该容器。(windows 在重启以后,容易也会随之启动)
- -v : 挂载宿主机的目录,使用该命令可以将容器内部所依赖或者输出的数据,映射到宿主机目录上。这里我将 mysql 的配置文件、数据库数据、日志目录给挂载到了宿主机,等 mysql 运行后,即可在这些目录下面看到对应的数据。如果你在 conf 目录下面指定了 mysql 的配置文件,则这个容器在启动时,就会使用该配置文件。
- -e MYSQL_ROOT_PASSWORD : 初始化数据库密码
- -d : 后台启动容器
- hub.c.163.com/library/mysql : 需要生成容器的镜像名称。这个镜像的名称后面还可以继续加命令,如:hub.c.163.com/library/mysql:latest,默认情况下不加的话就是 latest,这个对应的就是这个镜像的版本号,如果你的镜像对应的 TAG 是有版本号的,这个里就必须指定,例如你拉取了一个 TAG 是 5.7 的 mysql 镜像,这里就应该是 hub.c.163.com/library/mysql:5.7 。
- conf 中配置文件的信息
[mysqld]
## 处理 mysql 表明大小写敏感
lower_case_table_names=1
查看容器启动日志
docker logs -f -t mysql5
- 命令拆解
- docker logs : 查看日志的命令前缀
- -f : 跟踪日志的输出(即日志输出多少都会显示出来)
- -t : 查看日志时,显示时间戳
- mysql5 : 在启动 mysql 时,指定的容器名称
使用远程连接工具连接 mysql
端口号是创建容器时,给宿主机指定的端口号。密码是创建容器时,设置的密码!
拉取 typecho 博客镜像
- 执行命令
docker pull 80x86/typecho
启动 typecho 博客镜像
docker run -d --name typecho-blog --restart always -e PHP_TZ=Asia/Shanghai -e PHP_MAX_EXECUTION_TIME=600 -v C:/dev/software/typecho-blog/themes:/app/usr/themes -p 28054:80 80x86/typecho:latest
- 命令拆解
- -e PHP_TZ=Asia/Shanghai : 设置时间区域
- -e PHP_MAX_EXECUTION_TIME=600 : 设置 PHP 单次请求所花费的时间最大值
- -v /usr/local/software/typecho-blog/themes : 存放博客主题的目录,我这里把它挂载出来,是为了方便自己增加新的主题。
C:/dev/software/typecho-blog/themes 这个目录下面最好在启动容器时,预先放置一个主题模板哦,否则启动成功博客后,会出现没有主题的博客~
查看启动日志
配置博客
- 访问 http://localhost:28054 地址即可看到配置界面
- 看到上图界面,代表你的博客已经运行成功!
- 对数据库进行配置
-
这里我们选择 mysql 数据库,输入对应的账号密码后,点击确定
-
进入到如下界面,说明我们的博客已经配置成功!
遇事不要慌,有问题继续往下看
- 点击这里查看您的Blog后出现如下错误
- 出现该问题的错误是我们的博客主题配置问题
- 在启动镜像时,我们给容器挂载了一个存放主题的目录,现在只需要下载自己所需要的主题,解压 zip 文件,将解压后的文件夹放到挂载的主题目录下面。
- 下载主题地址:https://typecho.me
- 放置好主题后,点击访问控制面板
- 点击更换外观
5. 点击启用,这里我已经启用了,所以没了。
6. 点击右上角网站,即可跳转到我们的主题界面