WordPress 安装
docker+nginx部署
SSL/TLS 加密 当前加密模式:完全(严格)配置方法
一、准备工作
目录结构如下:
wordpress/
├── docker-compose.yml
├── nginx.conf
├── uploads.ini
└── ssl/
├─── cert.pem
└─── key.pem
1、 创建目录
首先在服务器上创建一个目录用于存放 WordPress 的相关配置文件:
mkdir -p ~/wordpress
cd ~/wordpress
2、 文件准备
在 wordpress 目录下,需要准备以下文件与目录:
docker-compose.yml
nginx.conf
uploads.ini
ssl 文件夹
• cert.pem
• key.pem
二、 cloudflare配置
1、登录 Cloudflare 控制台
2、打开 SSL/TLS → Origin Server → Create Certificate
3、配置参数:
• Key type: RSA
• Hostnames: blog.171811.xyz 或 *.171811.xyz
• Validity: 15 years(默认即可)
4、下载生成的证书:
• 证书文件 (origin.pem) → 保存为 ./ssl/cert.pem
• 私钥文件 (origin.key) → 保存为 ./ssl/key.pem
三、Docker 容器配置文件
在 wordpress/docker-compose.yml 中写入以下内容:
services:
db:
image: mysql:5.7
volumes:
- './db_data:/var/lib/mysql'
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_mysql_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: your_wordpress_password
redis:
image: redis:latest
restart: always
entrypoint: redis-server --appendonly yes --requirepass your_redis_password --maxmemory 512mb --maxmemory-policy allkeys-lru
ports:
- "6379"
volumes:
- './redis_data:/data'
- '/etc/timezone:/etc/timezone:ro'
wordpress:
depends_on:
- db
- redis
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: your_wordpress_password
WORDPRESS_DB_NAME: wordpress
WORDPRESS_CONFIG_EXTRA: |
/* Redis configuration */
define('WP_REDIS_HOST','redis');
define('WP_REDIS_PORT','6379');
define('WP_REDIS_PASSWORD','your_redis_password');
define('WP_CACHE_KEY_SALT','your_salt_key');
define('WP_CACHE',true);
REDIS_HOST: redis
volumes:
- './wp_content:/var/www/html/wp-content'
- './uploads.ini:/usr/local/etc/php/conf.d/uploads.ini'
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- wordpress
在 wordpress/uploads.ini 中写入以下内容:
file_uploads = On
memory_limit = 256M
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
四、NGINX配置
在 wordpress/nginx.conf 中写入:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log combined;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
#上传大小限制(改大,避免 413)
client_max_body_size 128M;
server {
listen 443 ssl http2;
server_name domain.loca;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://wordpress:80;
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_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
}
}
}
五、启动容器
进入 wordpress 目录后,执行以下命令:
docker-compose down
docker-compose up -d
六、WordPress Redis 插件安装
1、 访问网站
打开浏览器,输入域名:https://blog.***.com
2、登录后台
使用管理员账号和密码登录 WordPress
3、进入插件管理
左侧菜单 → 插件 → 安装插件
4、搜索 Redis 插件
在右上角搜索框输入:Redis
5、安装并启用
找到 Redis Object Cache 插件 → 点击 安装 → 启用
6、启用缓存
启用后在后台 → 设置 → Redis → 点击 Enable Object Cache
至此,你的 WordPress 已经成功接入 Redis 缓存,配合 Cloudflare SSL/TLS 完全(严格) 模式实现了安全与性能的双重提升 🚀。
正文完