容器安装

本人购买的 VPS 服务器是 Centos 8 操作系统,为了基于 Docker 搭建 WordPress 个人博客网站,首先需要安装 Docker 环境的过程如下:

1、下载 docker-ce 的 repo:
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
2、安装依赖(这是相比 Centos7 的关键步骤):
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
3、安装 docker-ce:
yum install docker-ce
4. 启动docker
systemctl start docker

到此,docker 安装成功,如下图所示:

博客搭建

1、使用 WordPress 前需要先安装 MySQL 数据库,先使用命令docker pull mysql:5.7将 MySQL 数据库镜像拉取到本地:

2、上面指定了 MySQL 数据的版本为 5.7,然后再使用命令docker pull wordpress 拉取 WordPress 镜像:

3、将 MySQL 和 WordPress 下载到本地后,首先执行命令docker run -d --name db.wordpress -e MYSQL_ROOT_PASSWORD=admin mysql:5.7开启 MySQL 服务:

参数 释义
run 启动一个容器
-d 启动的容器在后台运行
–name 给启动的 Mysql 容器起个名字:db.wordpress
-e MYSQL_ROOT_PASSWORD 设置 MySQL 的 Root 密码
:5.7 指定 Mysql 的版本

如下图所示:

4、接着执行命令docker run -d -p 8080:80 --name wordpress --link db.wordpress:mysql wordpress启动一个 WordPress 容器,将 db.wordpress 容器连接到 WordPress 容器即可:

参数 释义
-p 指定 WordPress 容器的访问端口,在浏览器中打开 http://VPS_IP:8080/ 即可预览 WordPress 站点
–link 将 db.wordpress 容器挂载到 mysql,使 WordPress 能通过 mysql 访问到 db.wordpress 数据库

如下图所示:

5、此时即可在本地浏览器访问http://VPS_IP:8080试试:

至此,基于 Docker 的 WordPress 博客环境便搭建完成。

编辑博客

上述已经可以访问到 WordPress 的初始安装界面了,下面继续进行部署完善。

1、在上述页面选择“简体中文”以后继续,进行安装前的信息完善:

2、安装成功后提示如下:
3、接着进行登录:
4、成功进入 WordPress 后台管理系统:
5、此时直接重新访问 http://VPS_IP:8080 即可成功访问到自己搭建的博客前台了(当然当前内容为空):
6、自行编辑润色后如下:
7、发布博文:

绑定域名

以上通过IP地址直接访问博客网站的形式直接暴露了 VPS 主机的 IP,并不安全,在微信浏览器还会有相关的安全提示:

下面将记录如何将博客地址绑定到从阿里云购买的域名。

1、登录阿里云管理控制台,注册并购买自己的域名(过程省略),本人已购买如下域名一年(很便宜仅 9 块钱/年):
2、当然了,此时的域名还没法直接使用,需要进一步配置 DNS 解析:

3、为了方便绑定域名与 VPS 主机 IP 地址的映射关系,将 WordPress 的访问端口有 8080 改为 80 端口了:
如下图所示:
4、为了让浏览器能成功解析购买的域名,自动指定访问博客网站的 IP 地址,需要在阿里云域名控制台配置域名解析规则:
5、选择 “解析设置” - “添加记录”:

注意】解析生效时间取决于本地DNS缓存的解析记录的TTL到期时间,一般默认为10分钟。例如解析记录设置的 TTL 值为 10 分钟,则理论上全球解析生效时间需要10分钟;解析记录设置的 TTL 值为 60 秒,则理论上全球解析生效时间需要 60 秒。

6、此时可以使用 阿里云DNS在线解析工具 来测试域名是否可成功被解析:
7、此时使用域名直接访问博客网站试试:
8、至此已可以通过自己购买的阿里云域名访问自己的博客网站,但发现点击网站的链接(如博文链接)依然是IP地址的形式,如下图所示:
9、解决办法是进入 WordPress 的管理后台进行如下设置:
10、此时整个博客网站的链接就均是指定的域名而非IP形式了:

部署证书

个人博客有了自己的域名之后,可以进一步部署 SSL 证书,使用 HTTPS 协议增强站点安全性。

HTTPS 和 HTTP 协议的区别:

  • HTTPS比HTTP更加安全,使用SSL安全协议对数据进行加密;
  • HTTPS需要申请CA证书,免费证书较少(我使用阿里云的免费证书),需要支付一些费用;
  • HTTP使用80端口进行通信,而HTTPS使用443端口进行通信。

1、首先到阿里云申请个人免费证书:

2、需要完善申请信息:
3、接下来等待证书申请完成:
4、稍等2分钟,手机收到审核通过的短信后即可下载证书文件:
5、WordPress 容器使用的是 Apache 服务器:
6、故下载 Apache 对应的证书,会得到 3个文件:

7、通过 sftp 将证书文件上传到 VPS 主机:

8、进一步将证书从 VPS 拷贝到运行 WordPress 服务的容器 apache 安装路径下:docker cp 本地文件的路径 container_id:<docker容器内的路径>,如下图所示:
9、在配置证书之前,需要进入 wordpress 容器,输入 openssl ,查看是否安装 SSL,如果出现下面图情况说明已经安装过了 :
10、加载 Apache SSL 模块,执行命令 a2enmod ssl,第一次加载,会提示重启 Apache……然而实际直接终止了 WordPress 容器,需要重启:
重启容器并重新加载 SSL 模块,成功:

11、修改 SSL 配置文件,绑定证书及打开 443 端口,Apache 加载 SSL 模块后,会在 /etc/apache2/sites-available 下生成 default-ssl.conf 文件:

编辑该文件,设置阿里云证书路径:

12、从 apache 的配置文件 apache2.conf 可以看到,apache 只会读取 /etc/apache2/sites-enabled 目录的配置文件,所以需要把 /etc/apache2/sites-available 下的 default-ssl.conf 文件复制到 /etc/apache2/sites-enabled 目录下:
13、配置 http 请求强制跳转到 https,编辑 /etc/apache2/sites-available/000-default.conf 配置文件,增加以下配置:
14、接下来需要给 WordPress 容器增加 443 端口,先暂停运行容器:
15、然后在/var/lib/docker/containers找到 WordPress 容器对应的ID文件夹路径:
16、编辑文件hostconfig.json,原来只有80端口,增加了443端口:

17、同样编辑config.v2.json文件:
18、重启 WordPress 容器……(发现并未成功,原因不详,参考教程『中级篇』docker之wordpress容器SSL)。

VPS服务-Docker搭建个人博客网站相关推荐

  1. 阿里云+wordpress搭建个人博客网站【小白专用的图文教程】

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅

    2019独角兽企业重金招聘Python工程师标准>>> 通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一 ...

  3. 使用dokcer搭建个人博客网站

    使用dokcer搭建个人博客网站 一.检查当前docker版本 二.安装dokcer及docker-compose链接 三.拉取wordpress镜像 四.拉取mysql镜像 五.创建yml文件 1. ...

  4. 个人博客网站建设_利用Github+Jeklly搭建个人博客网站

    题图:by ben.pinto from Instagram 阅读文本大概需要 9 分钟. 在上篇文章<个人博客如何选型?>中讲到,可以利用 Github Pages 来搭建个人博客网站, ...

  5. 使用 hugo oss 搭建个人博客网站

    系列文章目录 文章目录 系列文章目录 前言 一.下载hugo 二.oss 三.域名 四.创建博客上传 五.发布,上传文章 前言 本文主要详解如何用最低的成本搭建个人博客网站 原本我是直接用的githu ...

  6. GitHub Pages + Hexo搭建个人博客网站,史上最全教程

    文章目录 一.准备工作 1. GitHub账号 2. 安装Git 3. 安装NodeJS 二.创建仓库 三.安装Hexo 四.更换主题 1. NexT 主题 2. Fluid主题 五.创建文章 六.个 ...

  7. Hexo+GitHubPages搭建个人博客网站

    Hexo 是一个静态网站生成器,GitHub Pages 可以免费帮我们托管静态网站,本文主要介绍如何结合两者搭建一个博客网站. 官网:https://hexo.io/zh-cn/ Hexo 介绍 H ...

  8. 利用Github Page 搭建个人博客网站

    利用Github Page 搭建个人博客网站 转载请注明出处: http://blog.csdn.net/tzs_1041218129/article/details/53214497 http:// ...

  9. 使用Wordpress搭建个人博客网站

    前面几篇文章已经介绍了怎么在Linux下搭建LNMP环境: 1.安装MySQL/MariaDB 2.安装PHP 3.安装Nginx 4.nginx配置虚拟主机 接下来开始使用workpress搭建个人 ...

最新文章

  1. Python编程语言学习:列表与字典互转的几大方法集锦、从列表中按顺序循环抽走一个元素输出剩余元素之详细攻略
  2. 判断 服务器架构性能 数据,服务器架构之性能扩展-第五章(6)
  3. 前端笔记-webpack加载前端资源(图片,css等)
  4. 45度地图遮挡问题解决方案(cocos2d-x)
  5. 前景检测算法(十七)--基于光流算法
  6. (七)对Jmeter进行参数化的俩种方式
  7. 图片少量显示 9张一下 类似微信,微博客户端
  8. 数据通路、微操作序列
  9. 鸿蒙系统底部任务栏无响应,win10底部任务栏无响应两种修复方法
  10. Python数据分析-google play store的app数据分析
  11. PayPal的一些注意事项
  12. Unity同时接入微信和支付宝支付 Android篇(aar包和jar包)
  13. 公有继承中 构造函数和析构函数的调用(包含内嵌子对象)
  14. 双目视觉-双目测距原理剖析
  15. ldd 执行结果:不是动态可执行文件
  16. 项目时间管理-知识领域
  17. 在Ignite中使用线性回归算法
  18. 宅男福利!我用Python做了一个B站跳舞的小姐姐,满屏的美腿!
  19. python元组赋值_【Python】元组的基本使用
  20. 【web前端】html+js实现流程进度展示条

热门文章

  1. 《脑机接口导论》学习笔记 3.记录大脑的信号和刺激大脑
  2. js中小括号()的用法详解
  3. 教职工员工管理MySQL实训_数据库课程设计---教职工管理系统
  4. IT牛们的bat面试心得与经验总结
  5. 第29题:link与@import的区别
  6. c++如何输入一个不定长的字符串数组
  7. go语言的类型之间的相互转化和float保留小数时的四舍五入
  8. php extraxt,php中关于extract方法的使用和建议
  9. win10自带邮箱客户端登录163邮箱:无法访问该账户,需要更新密码或授权码
  10. 解决计算机问题联盟,[转载]Ansys证书问题解决方法