前言:
而今小伙伴们对“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