在 docker 上部署 wordpress 且使用 nginx 反向代理

我的阿里云服务器快到期了,现在需要将阿里云上的数据导出,这点很容易实现,直接在原wordpress 上的设置里,找到导出即可。

接下来,我们从docker hub 上找到 wordpress 的镜像,并创建一个容器

docker run --name wordpress -p 8082:80 -d wordpress

在 dockerhub 中查看 wordpress 镜像

wordpress 是需要mysql支持的,刚好我的 docker 上已经安装了 mysql,只需要简单的创建一个数据库即可,这里顺配给这个数据库创建了一个账号和密码,来提高整体的安全性,不使用 root 账户

为了能使 wordpress 访问到 mysql ,还需在 docker 里建立一个 network ,并把 mysql 和 wordpress 添加到网络里。

使用默认的bridge网络,不能通过DNS server实现通过容器名通信,但是使用自定义bridge网络可以做到通过容器名互相通信。

https://my.oschina.net/thinwonton/blog/2993309

这样就安装 wordpress 时,数据库地址填写 mysql 容器的名字了。

在安装好之后,如果直接修改反向代理到 wordpress 的端口,是不能使用的。因为 wordpress 配置了站点地址和wordpress地址,会加载不出来。

# wordperss 博客
    server {
        listen 80;
        server_name blog.codeon.cn;

        location / {

            proxy_pass http://172.17.0.8:80;
        }
    }

解决方法是修改成反向代理之后的地址即可,比如 blog.codeon.cn

如果博客修改之后无法正常访问了,则可以通过数据库中的 wp_option 表,修改 siteurl 和 home 属性,即可。