侧边栏壁纸
博主头像
STONE

行动起来,活在当下

  • 累计撰写 70 篇文章
  • 累计创建 67 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

使用docker-compose &WordPress建站,并启用https访问

Administrator
2022-03-17 / 0 评论 / 1 点赞 / 150 阅读 / 0 字
温馨提示:
本文最后更新于2023-08-31,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

使用docker-compose &WordPress建站,并启用https访问

Ubuntu Docker安装

使用官方安装脚本自动安装

安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

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

Docker Compose安装

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

运行以下命令以下载 Docker Compose 的当前稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

要安装其他版本的 Compose,请替换 v2.2.2。

将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

docker-compose --version
cker-compose version 1.24.1, build 4667896b

如果出现网络问题,直接用浏览器下载可执行文件放到/usr/local/bin目录下即可

使用docker-compose &WordPress建站

准备配置文件

为WordPress提供HTTPS支持的Nginx配置文件

mkdir -p  /root/wordpress/nginx/conf && mkdir -p  /root/wordpress/nginx/ssl
echo 'server {
  listen 80;
  server_name ${host_name};
  rewrite ^(.*)$  https://${host_name}$1 permanent;
}

server {
  listen          443 ssl;
  server_name     ${host_name};

  #ssl证书文件位置(常见证书文件格式为:crt/pem)
  ssl_certificate      /etc/nginx/ssl/cert.pem;
  #ssl证书key位置
  ssl_certificate_key  /etc/nginx/ssl/cert.key;
  ssl_session_timeout  10m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_prefer_server_ciphers  on;

  location / {
       proxy_pass    http://wordpress;
       proxy_cache_bypass                 $http_upgrade;

       # Proxy headers
       proxy_set_header Upgrade           $http_upgrade;
       proxy_set_header Connection        upgrade;
       proxy_set_header Host              $host;
       proxy_set_header X-Real-IP         $remote_addr;
       proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Forwarded-Host  $host;
       proxy_set_header X-Forwarded-Port  $server_port;

       # Proxy timeouts
       proxy_connect_timeout              600s;
       proxy_send_timeout                 600s;
       proxy_read_timeout                 600s;
  }
}' >> /root/wordpress/nginx/conf/route.conf

证书可以从阿里云免费申请,绑定到对应的**${host_name}**域名即可,并放置到/root/wordpress/nginx/ssl/目录下(可以自由修改,注意与下边的yaml文件保持一致即可)

docker-compose.yml配置文件

cd wordpress
mkdir wp db
vim docker-compose.yml		# 粘贴下面配置文件
version: '3.1'
services:
  nginx:
    image: nginx
    container_name: nginx
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /root/wordpress/nginx/conf/conf.d:/etc/nginx/conf.d
      - /root/wordpress/nginx/ssl:/etc/nginx/ssl
    networks:
      - default

  wp:
    image: wordpress
    container_name: wordpress
    restart: always
    # ports:
    #   - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: ferrisyu
      WORDPRESS_DB_PASSWORD: 123456
      WORDPRESS_DB_NAME: codingxx
    volumes:
      - /root/wordpress/wp:/var/www/html
    networks:
      - default

  db:
    image: mysql:5.7
    container_name: mysql
    restart: always
    environment:
      MYSQL_DATABASE: codingxx
      MYSQL_USER: ferrisyu
      MYSQL_PASSWORD: 123456
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - /root/wordpress/db:/var/lib/mysql
    networks:
      - default

networks:
  default:
docker-compose up -d		# 运行

配置网络与域名

只需要在域名提供商,为自己购买的域名,添加A类型的子域名记录比如wp.specialstone.top,然后将解析值设置为自己服务器的公网IP即可

推荐安装插件

  • All-in-One WP Migration 迁移站点
  • Post Views Counter 查看阅读数
  • UpdraftPlus-备份/恢复 备份站点
  • WP Githuber MD Markdown在线编辑
  • Yoast SEO SEO设置

插件安装的问题

  • 插件安装出现网络错误时,可以进入插件官网,手动下载文件上传到指定文件夹安装,使用docker cp命令导入到容器即可。
  • 注意导入后,进入容器将导入的文件或文件夹的owner 与 group与其他WordPress文件一致
1

评论区