使用Docker快速搭建个人网站(WordPress+Nginx)

前言

网站刚出炉,趁着热乎把搭建的过程尽量详细地写一写,让其他人少躺坑。搭建过程一波三折,本来组里面有一堆开发爸爸,网上也有一大堆搭建教程,可以轻松快速搞定的,没想到最后花了两天,因为爱折腾,觉得用Daocloud来管理比较酷炫。

准备工作

  • 服务器申请

可以申请阿里云和腾讯云或者AWS,看个人喜好。因为腾讯云有活动,120一年,就申请了腾讯云。

系统我安装的CentOS最新版,这个没有什么影响。

  • 域名申请

买服务器的时候,腾讯云8块可以顺便申请域名,图方便,顺手就申请了,其他申请方式,可自行Google。

申请后不要忘记认证和备案,认证几小时就过了,但备案需要花几周(备案没通过可以先加上ssl,通过https应急):

  • 域名解析

域名申请完后,添加域名解析,才能通过域名访问。需要添加两条记录,www和@

  • SSL免费证书申请

同样也是可以在阿里云或者腾讯云申请:

证书申请好以后,把证书下载到本地,稍后会用到,需要将证书上传至服务器。

开工

  • 安装Docker

登陆服务器,一键安装Docker

1
# curl -sSL https://get.daocloud.io/docker | sh

安装好之后,重启服务:

1
# service docker restart
  • Daocloud

终于到这里了,我为什么要用Daocloud,因为开发爸爸一直给我推荐啊。。。

Daocloud可以接管主机,可视化主机状态。一键安装重新部署应用,使用方便。

其实这只是很小的一部分功能,Daocloud定位精益研发平台,提供持续集成工具链,实现从产品研发到最终发布的自动化流程,让企业开启产品研发的精益之道。有兴趣的客官可以深入了解。

反正我只用来一键安装docker应用,首先注册一个账号:https://account.daocloud.io/signup

根据步骤添加主机。添加成功后,请留意Docker的运行状态,如果Docker未运行,可以重启Docker服务或重新安装Docker,很快的。

  • 搭建站点(WordPress+Nginx+DB)

这一步开始进入核心,我们通过Daocloud快速创建3个容器:

如果看不到主机,说明主机Docker服务没有运行。

这里附上yml文件内容:

在服务器中创建好目录后就开始部署吧,两三分钟就可以搞定。
到目前为止,站点已经搭好啦,可以通过服务器IP地址来访问WordPress了: 服务器ip地址:8020

可以现在配置,也可以做完后续步骤后再来配置。

到这一步,我们还不能通过域名来访问。为啥?因为没有备案,就是黑站呐。这里通过Nginx来解决。

  • 配置Nginx和SSL

扫盲:

Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。

有了SSL,就可以启用Https,有了Https还没有备案通过的域名就可以临时被访问,通过443端口绕过拦截。http的80端口如果不备案是会被拦截的。

下面就来配置Nginx:

进入服务器目录/alidata/data/nginx/vhosts/, 新建一个 blog.conf 的文件

注意替换你的域名和Ip地址。这里需要强调一下,不同厂家申请的证书使用起来可能有所不同,需要去查看使用说明,下面举例腾讯云:证书安装指引

  • 获取证书

Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,
1_www.domain.com_bundle.crt 文件包括两段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,
2_www.domain.com.key 文件包括一段私钥代码“—–BEGIN RSA PRIVATE KEY—–”和“—–END RSA PRIVATE KEY—–”。

  • 证书安装

将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,这里我们保存在/alidata/data/nginx/vhosts/cert/目录下。

what?忘记怎么传文件到服务器了?

如果是Mac,直接使用scp命令:

1
scp /download/ngnix/xxx root@IP://alidata/data/nginx/vhosts/cert/

如果是Windows,客官就就自行Google吧。

 

blog.conf 文件配置中需要留意下面这点

ssl_ciphers不同厂家的不一样,需要留意更改。

阿里云的是:ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

腾讯云的是:ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

 

最后一步,重启Nginx服务!搭建完工!

 

又一次掉坑里,还需要给服务器开放端口。

进入服务器控制台,开放端口:8020、22、80、443等,否则无法访问。

上菜

到此,已经可以通过https访问个人网站了。

接下来就是配置网站主题了。

访问:https://yourdomain/admin 进入管理页面。

客官,请慢用!

Ps: 本文参考了组内开发爸爸的文章:

利用 DaoCloud 和 Docker 一键搭建自己的 wordpress 博客站点

发表评论

电子邮件地址不会被公开。 必填项已用*标注