本站首页 返回顶部 关于博主

在Ubuntu Server上安装wordpress容器

PDF版

上篇文章里,我在 Ubuntu Server 上安装了MySQL容器,目的是为了给 wordpress 提供数据库支持。这一步,我开始安装 wordpress。步骤与安装MySQL 容器基本相同。现在来描述一下具体步骤:

  • 在 nginx 上设置反向代理,为 wordpress 设置域名。
server{
    listen          80;
    server_name     w.s.c w.server.com;
    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr:89;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://192.168.31.37:89/;
    }
}

服务器的 IP 的地址是 192.168.31.37,我准备把 wordpress 容器的 80 端口 映射成服务器(宿主机)的 89 端口,wordpress 的域名为 w.s.c。这意味着,当用户在浏览器中输入 http://w.s.c 时,就会访问 http://192.168.31.37:89,即 wordpress 容器。

在 Dockerhub 上搜到 wordpress 的官方镜像,下载。

wordpress 的官方镜像网址是:https://hub.docker.com/_/wordpress ,运行如下命令下载 wordpress 最新的镜像。

docker pull wordpress
  • 启动一个临时的 wordpress 容器,并把 wordpress 的数据文件保存到宿主机。
sudo docker run --name tmpwordpress --rm \
-e WORDPRESS_DB_HOST=192.168.31.37:3306 -e WORDPRESS_DB_USER=root  \
-p 89:80  \
-e WORDPRESS_DB_PASSWORD=rootpass -d wordpress

在以上命令中,我创建了一个临时的容器 tmpwordpress。当停止时,它会自动销毁。如果需要 443 端口以支持 https,可以加上参数 -p 449:443。

sudo mkdir wordpress
sudo chmod 777 wordpress
sudo docker cp tmpwordpress:/var/www/html 

wordpress容器中的数据内容保存在目录 /var/www/html 中。在运行以上命令后,就把数据内容复制到了服务器的目录 ~/wordpress 中。进入目录 ~/wordpress,我看到此目录下面多了个目录 html。

  • 关闭临时 wordpress 容器,启动永久的 wordpress 容器。
sudo docker stop tmpwordpress
sudo docker run --name wordpress  \
-v /home/ubuntu/wordpress/html:/var/www/html  \
-e WORDPRESS_DB_HOST=192.168.31.37:3306 -e WORDPRESS_DB_USER=root  \
-p 89:80 -e WORDPRESS_DB_PASSWORD=rootpass  \
-d wordpress

启动容器之后,运行 sudo docker ps -a,可以发现多了一个容器 wordpress。

  • 打开 wordperss 主页,设置,成功。

打开 wordpress 首页 http://w.s.c,立即跳转到设置页面,证明 wordpress 容器启动成功。继续设置即可。

当然,为了让服务器重启之后,wordpress 可以自启动,可以运行命令

docker update --restart=always wordpress

至此,wordpress 容器就可以正常运行了。




请你留言