使用docker-compose搭建WordPress网站并开启https教程

2023-05-16

一、前言

之前一直采用LANMP直接搭建服务,但后来使用docker后,搭建和迁移数据都很方便,所以将服务都容器化。

下面介绍一下使用docker-compose搭建WordPress网站,并且使用Nginx的反向代理开启https的方法。

直接搭建的文章可以参考我的这一篇博文:最新Centos 7.6 LANMP搭建WordPress详细教程

二、环境准备

基础环境的搭建这里不做细讲,默认环境已经安装或者拥有下面的服务和文件:

  • Nginx服务器
  • docker
  • docker-compose
  • 域名证书(Nginx适用)

docker的安装可以参考我的这一篇博文:Ubuntu使用Docker搭建编译环境完整教程

三、docker-compose配置

(一)docker-compose.yml

注意点:

  • 数据库挂载到当前./db文件夹
  • WordPress挂载到当前./wordpress文件夹
  • 主机ports使用的是17080端口,可以自行修改,后面Nginx需要反向代理到这个端口
  • WORDPRESS_DB_PASSWORD是我设置的数据库密码,可自行修改,但是需要和下面的MYSQL_PASSWORD值相同。
version: '3.1'

services:

  wordpress:
    image: wordpress
    container_name: wordpress
    restart: always
    ports:
      - 17080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: KDM2RwB5fcQ2X2
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./wordpress:/var/www/html

  db:
    image: mysql:5.7
    container_name: wordpress_db
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: KDM2RwB5fcQ2X2
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - ./db:/var/lib/mysql

(二)启动运行

docker-compose.yml所在文件夹运行下面的命令启动:

docker-compose up -d

可以使用下面的命令查看运行日志:

docker-compose logs -f

等日志显示启动完毕后,我们在浏览器里输入http://127.0.0.1:17080应该可以看到安装界面了,如果你只需要使用ip和端口进行访问,安装完毕就可以用使用了,不需要阅读下面的步骤

但是我们一般使用域名访问,而且本文还开启了https,所以还需要配置Nginx反向代理。

温馨提示:

如果你确定使用域名访问并开启htpps,建议可以等反向代理配置完毕后再输入域名进行安装,这样后面不用修改站点地址。

四、Nginx配置

/etc/nginx/conf.d里创建wordpress.conf

注意点:

  • server_name换成你的域名
  • ssl_certificatessl_certificate_key换成你的域名证书
  • proxy_pass换成你的链接和端口号
server {
    listen 80;
    listen [::]:80;

    server_name shangyexin.com www.shangyexin.com;

    # redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
    return 301 https://www.shangyexin.com$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name www.shangyexin.com;

    location / {
          proxy_pass http://127.0.0.1:17080;

          proxy_http_version    1.1;
          proxy_cache_bypass    $http_upgrade;

          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;
    }

    # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
    ssl_certificate /yasin/ssl/nginx/www_shangyexin_com/www.shangyexin.com.pem;
    ssl_certificate_key /yasin/ssl/nginx/www_shangyexin_com/www.shangyexin.com.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;

    # intermediate configuration
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP stapling
    ssl_stapling on;
    ssl_stapling_verify on;

重启Nginx使配置生效:

systemctl restart nginx

五、WordPress配置

这时候还不要使用域名直接访问你的网站,需要在WordPress的配置里将网站地址改成你的域名:

wordpress

修改完成后,浏览器里输入你的域名,应该就可以看到https开启成功了。

如果之前访问过域名链接,因为开启了HSTS,所以可以会自动跳转到域名+端口的地址,这时候需要清除缓存和cookie后再重新访问,或者使用浏览器的隐身模式,可以先确认网页可以打开。

六、结束

就这?是的,就这。

是不是超级简单?所以也许这就是容器的魅力吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用docker-compose搭建WordPress网站并开启https教程 的相关文章

  • ASP.NET MVC | 创建应用程序

    目录 首先 NO 1 No 2 App Data 文件夹 Content 文件夹 Controllers 文件夹 Models 文件夹 Views 文件夹 Scripts 文件夹 最后 首先 一步一步的来 xff0c 电脑上需要安装vs20
  • 关于Docker的Debian和Ubuntu镜像

    Debian和Ubuntu都是目前较为流行的Debian系的服务器操作系统 xff0c 在Docker Hub上都可以直接搜索到官方版本 一 搜索Debian 二 搜索Ubuntu Ubuntu相关镜像很多 xff0c 使用 s 参数 xf
  • ASP.NET MVC | 增删改查小项目-MySQL数据库

    目录 前提 数据库和表 完成展示 主页 xff1a Index 添加商品页面 xff1a Add 修改商品页面 xff1a Edit 删除 xff1a Del 代码 No 1 配置MySQL数据库 No 2 初始化数据 No 3 删除操作
  • 用Navicat Premium连接数据库!

    Navicat Premium介绍 Navicat Premium 是一套数据库开发工具 xff0c 让你从单一应用程序中同时连接 MySQL MariaDB MongoDB SQL Server Oracle PostgreSQL 和 S
  • 介绍一款非常好用的截图软件-《Snipaste》

    目录 Snipaste介绍 Snipaste下载 Snipaste功能介绍 总结 Snipaste介绍 非常好用的截图软件 xff0c 一句话 xff0c 非常非常好用 xff0c 比你用过任何的截图软件都好用 xff0c 不好用你顺着网线
  • 推荐一款卸载软件的小工具-《UninstallToo》

    目录 UninstallToo介绍 UninstallToo下载 UninstallToo使用 总结 UninstallToo介绍 Uninstall Tool 是一款可以用来替代 添加 删除程序 的工具 它允许您显示隐藏的安装程序 xff
  • 【MySQL】下载(超详细教程)

    目录 First 下载 Second 安装 Third 检测是否安装 Last 总结 First 下载 首先 xff0c 我们一步一步跟着我的操作来 xff0c 不能越步骤 xff0c 很容易报错 xff0c 就芭比Q了 第一步直接进入这个
  • 【ASP. Net Mvc】毕设之【在线考试项目】

    前提 这个项目是毕设 xff0c 是用asp net mvc和SQL server数据库完成的 xff0c 分为前端和后台 后台功能 xff1a 老师添加试卷 xff0c 上传试卷 xff0c 审核试卷 xff0c 管理学生 前端功能 xf
  • 继承——Person为父类,Teacher和Student都继承Person

    一 题目 按照要求完成以下操作 创建Person xff0c Teacher xff0c Student类 其中 xff0c Person为父类 xff0c Teacher和Student都继承Person Person中有属性 xff1a
  • c语言求数组中10 个整数中最大值

    c语言求数组中10 个整数中最大值 要求在数组中输入10个整数 xff0c 输出最大值 这里先用一种简单的方法 xff0c 创建一个变量max xff1d 0 xff0c 用max与这10个数依次比较 xff0c 如果比max大就把它的值赋
  • c语言详细解答辗转相除法求两个数的最小公倍数

    C语言详细解答辗转相除法求两个数的最小公倍数 1 辗转相除法的用法 最大公约数 辗转相除法是用一个大的数除以一个小的数 xff0c 如果有余数 xff0c 就用被除数 余数 xff0c 如果还有余数就继续用 xff08 上一个公式的 被除数
  • Linux 嵌入式 笔记 NFS网络文件系统

    文章目录 Linux 嵌入式 笔记 提示 xff1a 写完文章后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 文章目录前言一 nfs 相关命令二 原理1 第一点2 第二点 总结 前言 注意 xff1a
  • linux下cpu锁定频率以及频率设置

    linux下cpu锁定频率以及频率设置 环境如下 ubuntu22 04cpu为5700g 前期准备 使用工具为 xff1a cpufrequtils span class token function sudo span span cla
  • CentOS7安装xrdp(windows远程桌面连接linux)

    前提 CentOS安装桌面 xff0c 如果无桌面 xff0c 请执行 xff1a yum y groups install 34 GNOME Desktop 34 startx 方法一 配置源 yum install epel y 安装x
  • Linux CPU超频设置

    查看当前cpu运行频率 xff1a cat proc cpuinfo grep i cpu mhz 开始设置 xff1a cpupower c all frequency set g performance 或者 cpupower freq
  • Ozone调试经验总结

    如何查看内存 view gt memory打开内存窗口即可查看 如何读写内存 Target ReadU32 addr Target WriteU32 addr value 遇到不会的 xff0c 可以使用help命令找找看
  • 元宇宙创作者必备技能TouchDesigner

    元宇宙的资源清单又更新啦 github com shadowcz007 awesome metaverse 感谢ML211 提供线索metaworld app 感谢ML1462 提供线索 The Sims Resource opus Git
  • 栈的入栈和出栈的顺序规律

    栈的入栈和出栈的顺序规律是先进后出 xff0c 所以出栈的可能数目跟入栈的可能排列数目是一致的 a的出入有2中可能 xff0c b的出入有2种可能 xff0c c的出入有2种可能 xff0c d只需要关系入 xff0c 只有一种可能 所以出
  • TCP和UDP协议发送数据包的大小

    在进行UDP编程的时候 我们最容易想到的问题就是 一次发送多少bytes好 当然 这个没有唯一答案 xff0c 相对于不同的系统 不同的要求 其得到的答案是不一样的 这里仅对像ICQ一类的发送聊天消息的情况作分析 xff0c 对于其他情况
  • Nodejs开发:如何让node app的程序一直运行?

    情境 运行nodejs的程序 xff0c 使用命令 xff1a node xxx js xff0c 但是关掉终端 xff0c 程序也关闭了 xff0c 如何让node app的程序一直运行 xff1f 解决 1 安装forever npm

随机推荐