龙空技术网

WordPress Docker Compose部署云服务器Nginx代理HTTPS证书本地备份

浅吟轻唱丫 74

前言:

而今小伙伴们对“nginx证书部署”大体比较讲究,看官们都想要剖析一些“nginx证书部署”的相关文章。那么小编也在网络上汇集了一些关于“nginx证书部署””的相关知识,希望朋友们能喜欢,小伙伴们快快来学习一下吧!

NO.1Dcoker部署WordPress

DockerHub文档

创建docker-compose.yml

version: '3.3'services:   db_dsx2020:     image: mysql:5.7     volumes:       - ./db_data:/var/lib/mysql     restart: always     environment:       MYSQL_ROOT_PASSWORD: wordpress       MYSQL_DATABASE: wordpress       MYSQL_USER: wordpress       MYSQL_PASSWORD: wordpress   wordpress_dsx2020:     depends_on:       - db_dsx2020     image: wordpress:php8.2     ports:       - "8010:80"     restart: always     environment:       WORDPRESS_DB_HOST: db_dsx2020:3306       WORDPRESS_DB_USER: wordpress       WORDPRESS_DB_PASSWORD: wordpress       WORDPRESS_DB_NAME: wordpress     volumes:       - ./wordpress:/var/www/htmlvolumes:    db_data: {}

启动

docker-compose up

NO.2Nginx代理

本文使用的是宝塔面板

需要进行以下操作

域名DNS解析到云服务器宝塔面板-菜单-网站,新建一个网站宝塔申请SSL证书(设置反向代理之前)设置反向代理(指向8010端口)

创建网站演示

申请SSL证书

设置反向代理

NO.3设置WordPress

等反向代理设置成功后,再使用域名访问WordPress

按照WordPress官方安装步骤填写即可

这时候会出现几个问题

一.页面的样式丢失,控制台可以看到是HTTPS引用了HTTP资源报错导致的(因为是Nginx反向代理Docker导致的,非直接访问)

二.提示重定向过多,或者管理后台提示无权限访问

NO.4解决方式

在WordPress根目录找到wp-config.php文件

在 defined( 'ABSPATH' )的上面添加以下代码

xxx.com为你的域名

$_SERVER['HTTPS'] = 'on';define('FORCE_SSL_ADMIN', true);define('FORCE_SSL_LOGIN', true);define('WP_HOME', ';);define('WP_SITEURL', ';);

在wp-includes文件夹下,找打functions.php

在大约第8行 require ABSPATH . WPINC . '/option.php'; 下面添加代码

add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2); function agnostic_script_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); } add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2); function agnostic_style_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); }

完成后,刷新,可以看到样式和访问后台问题解决了

NO.5备份WordPress

参考文章

《Docker Cpmpose数据备份和迁移[云服务器数据备份到本地服务器]》

添加定时任务

定时压缩数据卷到指定目录

本地拉取压缩文件

可以看到本地的执行结果

NO.6Tips

每个Docker容器都有不同的数据卷,所以频繁用到的服务,用文章做个记录

避免下一次博客没有备份,又丢失数据

END

标签: #nginx证书部署 #dockernginxssl