麒麟臂不服不行

# 蓝月登峰
SLOW MAKES BETTER
  1. 首页
  2. 网络
  3. 正文

docker + nginx + wordpress建站

2022年7月1日 2307点热度 0人点赞 0条评论

前言

这篇文章主要就是记录一下这个博客的建立过程,很早以前就想建一个自己的博客了,~苦于一直没有时间~(实际上是自己太懒了)硬是拖到现在终于完成了建站大业。先聊聊一开始的技术选型,本来想自己开拔一个vue+java的博客的,后来试了试wordpress真香。
既然要用wordpress,那么php+mysql的组合就没跑了,剩下web服务器选用apache还是nginx?
nginx的优点:epoll模型,高性能,能反向代理,能负载均衡...
apache的优点:对php支持简单...(只能想到这么多了)
那么很明显LNMP胜出
部署的话肯定是要上云的,毕竟上云方便也便宜,因为一些主客观原因,我选择了腾讯云(几家大的云厂商单在云服务器上我感觉差距不是很大,选一个自己信任的或者喜欢的就行),顺便开通一下对象存储功能,毕竟博客上也得放点图片视频音乐啥的
既然用都上云了,devops也可以搞搞,Gitee/Coding这种平台也用起来吧,其实主要是用用docker容器

准备工作

  1. 购买云服务
    趁做活动的时候买吧,实在囊中羞涩轻量应用服务器也是可以的,一般个人使用2核4G够用了,记得绑定一个IP

  2. 拥有一个自己的域名
    几大云厂商或者国外的godaddy都可以购买,建议就在云厂商那里买吧,用起来方便点。
    注意事项一:
    大陆区域的服务器使用域名是需要做备案的,可以参考腾讯云备案
    注意事项二:
    SSL证书不推荐直接购买云厂商的,毕竟个人用户,开个博客要求没那么高,用免费的就行,可以参考我以前的这篇文章免费申请HTTPS证书

  3. 域名解析
    如果是用的云厂商,直接在控制台里设置:

    例如注册的域名是example.com
    主机记录www代表解析后为www.example.com
    主机记录@代表解析后为example.com
    主机记录*代表泛解析,匹配*.example.com
    记录类型A表示指向一个IP,此时记录值填写你云服务器的ip
    记录类型CNAME表示指向另外一个域名,这里记录值填需要指向的域名(一般用于CDN)

安装环境

主机系统:CentOS 8.2
可以替换软件仓库源,参考腾讯源,阿里源
Docker version 20.10.14
Docker Compose version v2.2.3
Wordpress 5.9.3
PHP 7.4
Mysql 8.0
Nginx stable

NMP都是使用的docker部署,所以这里也是docker镜像版本号


稍稍讲讲docker安装(可以阅读英文的直接戳官网文档吧)
这里介绍的是通过repo安装

  1. 删除旧版本docker(确定没有旧版本可以skip)

    sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  2. 设置repo

    sudo yum install -y yum-utils
    sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  3. 安装最新版本

    sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

部署

使用docker compose 一键部署,相关配置细节直接看代码吧
代码已上传到github,戳这里跳转


这个项目就是简单的配置了nginx和php,同时支持https/http的方式访问wordpress,项目部署后即可访问wordpress初始化界面(也就是著名的5分钟建站)
项目的目的就是整合冗长的配置流程,达成一键部署的效果


首先git clone

git clone https://github.com/mysens/wordpress-with-docker.git

新建环境变量文件.env

# 数据库root密码
MYSQL_ROOT_PASSWORD=example
# 数据库名称
MYSQL_DATABASE=example
# 数据库用户名
MYSQL_USER=example
# 数据库密码
MYSQL_PASSWORD=example
# 注册的域名
SERVER_NAME=example.com
# 使用的镜像源, 阿里云可以替换成aliyun
mirrors=cloud.tencent
# 以下配置为https证书配置,如不需要可以设置USE_SSL=0
TENCENTCLOUD_SECRET_ID=example
TENCENTCLOUD_SECRET_KEY=example
LEGO_EMAIL=example@example.com
LEGO_DNS=tencentcloud
USE_SSL=1

TENCENTCLOUD_SECRET_ID,TENCENTCLOUD_SECRET_KEY是DNS provider提供的,可以换成阿里云等其他服务商,注意替换后yaml文件中环境变量也要改,参考免费申请HTTPS证书

最后

docker compose up -d

三步部署完成,docker就是这么方便

现在你可以开始使用自己的wordpress博客了

标签: docker HTTPS wordpress 建站
最后更新:2022年7月15日

mysens

Keep Code Simple

点赞
< 上一篇
下一篇 >
订阅评论
提醒
guest

guest

0 评论
内联反馈
查看所有评论

mysens

Keep Code Simple

最新 热点 随机
最新 热点 随机
istio环境下mysql连接失败问题 常见的docker hub mirror镜像仓库 wordpress使用云服务实现图片上传自动添加水印 jdk8默认开启UseAdaptiveSizePolicy造成的fullgc CPU伪共享的浅析 docker + nginx + wordpress建站
istio环境下mysql连接失败问题
CPU伪共享的浅析 为什么要用HTTPS? docker + nginx + wordpress建站 wordpress使用云服务实现图片上传自动添加水印 免费HTTPS证书申请 istio环境下mysql连接失败问题
标签聚合
安全 HTTPS 对称加密 CPU 证书 CA 建站 非对称加密

COPYRIGHT © 2022 麒麟臂不服不行. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备18005036号

鄂公网安备 42010602004698号

wpDiscuz