这博客的技术和方式已经落后,如果你有这方面的需求,可以参考较新的一篇博客记录一次wordpress博客迁移
本博客使用的是以 docker 部署的 wordpress ,并开启了https,其中用到了两个 github 的开源 nginx 项目,做个记录,希望能帮助到后来人。
服务器用的是 centos ,故所有的命令行以 centos 为示例命令行。docker 的安装方式可参照官网帮助文档 。
本博客部署时使用到了 docker-compose 部署,但实际上不是必须项。
1.我们在安装 docker 之后,设置一个 docker 网络作为 nginx 的反代网络。
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 nginxnet
由此,设置一个 docker 网络名为 nginxnet。
2.部署 nginx 容器
docker run -d --restart=always --net nginxnet --name nginx-proxy --publish 80:80 --publish 443:443 --volume /etc/nginx/certs --volume /etc/nginx/vhost.d --volume /usr/share/nginx/html --volume /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
docker run --detach \
--restart=always \
--privileged=true \
--net nginxnet \
--name nginx-proxy \
--publish 80:80 \
--publish 443:443 \
--volume certs:/etc/nginx/certs \
--volume vhost:/etc/nginx/vhost.d \
--volume html:/usr/share/nginx/html \
--volume /var/run/docker.sock:/tmp/docker.sock:ro \
nginxproxy/nginx-proxy
docker run --detach \
--privileged=true \
--restart=always \
--net nginxnet \
--name nginx-proxy-acme \
--volumes-from nginx-proxy \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
--volume acme:/etc/acme.sh \
--env "fantuanlian@gmail.com" \
nginxproxy/acme-companion
开源项目地址:https://github.com/nginx-proxy/nginx-proxy
3.部署 letsencrypt-nginx-proxy 伴生容器
docker run -d --restart=always --name nginx-proxy-letsencrypt --net nginxnet --volumes-from nginx-proxy --volume /var/run/docker.sock:/var/run/docker.sock:ro --volume /etc/acme.sh --env "fantuanlian@gmail.com" jrcs/letsencrypt-nginx-proxy-companion
这个伴生容器是为了容器 https 的证书自动申请,使用时要将DEFAULT_EMAIL后面的值改为自己的邮箱。 开源项目地址:https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion
4.部署 wordpress 和 mysql
此处我部署时使用了 docker-compose
在一个文件夹中创立docker-compose.yml文件并编辑,并在此目录中使用docker-compose命令
https://ftlsama.ml/download/docker-compose.yml
或下载本文附录中的docker-compose.yml文件,并将数据库环境变量与域名填上自己的,复制到某目录下即可使用,文件上传可以使用FlashFXP,连接类型为 SFTP over SSH
由此,在命令行中打开该目录运行以下代码即可
docker-compose up
5.设置 docker 服务自启动与 docker 容器服务自启动
systemctl enable docker
自启动 docker 服务
docker update --restart=always nginx-proxy nginx-proxy-letsencrypt wordpress mysql:5.7
自启动 nginx mysql 等服务
至此,即使用 docker 部署了一个属于自己的 wordpress 。
Comments NOTHING