Administrator
发布于 2026-03-05 / 5 阅读
0
0

反向代理和wordpress搭建

什么是反向代理?

反向代理 = 站在服务器前面的 “中间人”

客户端只访问它,它再把请求转发给背后的真实服务器。


核心对比:正向代理 vs 反向代理

  • 正向代理(代理客户端)

    替你访问外网,隐藏客户端

    例:科学上网、公司内网代理。

  • 反向代理(代理服务器)

    替服务器接收请求,隐藏后端服务器

    例:Nginx、Apache、Cloudflare。


反向代理的作用

  1. 负载均衡

    把流量分给多台服务器,避免单点压力过大。

  2. 隐藏真实服务器

    外网只看到代理 IP,更安全。

  3. 缓存加速

    缓存静态资源(图片、JS、CSS),减轻后端压力。

  4. 统一入口

    做 SSL、限流、黑白名单、日志、WAF 防护。

  5. 路由转发

    不同路径 / 域名转发到不同服务。


典型结构

用户 → 反向代理(Nginx) → 后端服务器(Tomcat/Node/PHP 等)

最常见软件

  • Nginx(最主流)

  • Apache

  • Caddy

  • Cloudflare(CDN + 反向代理)


什么是worepress?

WordPress = 全球最流行的开源建站程序(CMS)

简单说:

  • 不用写复杂代码,就能做:博客、企业官网、商城、论坛、资讯站

  • 免费开源,全世界很多网站都在用

  • 有海量主题(外观)和插件(功能)


核心特点

  1. 可视化后台

    像写文档一样发文章、改页面

  2. 主题 = 换皮肤

    一键换网站风格

  3. 插件 = 加功能

    商城、SEO、安全、缓存、表单… 都能装

  4. 适合新手

    入门简单,可深度定制


搭建步骤

准备

  • 准备域名(NameSilo

  • 准备地址转换管理器(dash.cloudflare.com)

  • 虚拟机或者本机(Linux)


步骤1:创建compose文件

# 创建compose文件
cat > compose.yaml << 'EOF'
services:
  db:
    image: mysql:8.0
    container_name: wp-mysql
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=root123
      - MYSQL_DATABASE=wp_db
      - MYSQL_USER=srj
      - MYSQL_PASSWORD=srj@123
      - TZ=Asia/Shanghai
    volumes:
      - ./data/db_data:/var/lib/mysql
    networks:
      - wp-network

  redis:
    image: redis:alpine
    container_name: wp-redis
    restart: unless-stopped
    networks:
      - wp-network

  wordpress:
    image: wordpress:latest
    container_name: wp-app
    restart: unless-stopped
    depends_on:
      - db
      - redis
    environment:
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=srj
      - WORDPRESS_DB_PASSWORD=srj@123
      - WORDPRESS_DB_NAME=wp_db
      - WORDPRESS_REDIS_HOST=redis
      - TZ=Asia/Shanghai
    volumes:
      - ./data/wordpress_data:/var/www/html
    networks:
      - wp-network

  nginx-proxy-manager:
    image: 'docker.io/jc21/nginx-proxy-manager:latest'
    container_name: wp-npm
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data/npm_data:/data
      - ./data/npm_letsencrypt:/etc/letsencrypt
    networks:
      - wp-network
networks:
  wp-network:
    driver: bridge
EOF

步骤2:启动compose.yaml文件

# 启动文件
docker compose up -d

# 启动以后可以检查状态
docker compose ps

步骤3:查看是否成功启动Nginx反向代理

  • 启动以后输入IP地址,看到此图代表成功

步骤4:登录cloudflare获取API令牌

  • 如图

步骤5.获取API以后一定要保存好,然后进行DNS配置并保存

  • 如图

步骤6:此时我们输入IP+端口进入登录Nginx Proxy Manager

  • 如图

步骤7:进入Nginx Proxy Manager我们开始配置证书

  • 如图

步骤8:添加你购买的域名并确定保存

步骤9:看到此图界面表示证书创建成功

步骤10:添加代理服务

PS:*. 域名 是所有域名都纳入

步骤11:输入DNS上你输入的域名,会出现wordpress注册

步骤12:此时登录以后需要安装插件

步骤13:安装插件

步骤14:

使用 Redis 缓存服务,最终给你的网站带来 “提速 + 减负” 的效果

操作步骤:
  1. 找到你创建的 compose.yaml 文件所在的目录。

  2. 进入 ./data/wordpress_data 目录,这是你在 volumes 中配置的 WordPress 数据持久化目录。

  3. 用文本编辑器(如 nanovim 或 VS Code)打开 wp-config.php 文件。

  4. 在文件中找到数据库配置相关的代码块(通常在 /** Database settings ... */ 注释附近),在其上方或下方添加你截图中的代码:

    php

    运行

    define('WP_REDIS_HOST', 'redis');
  5. 保存文件并退出编辑器

  • 如图

步骤15:重新启动:

在你的 compose.yaml 文件所在目录执行以下命令,专门重启 WordPress 服务:

bash

运行

# 仅重启wordpress容器(推荐,不影响其他服务)
docker compose restart wordpress

然后你可以看到插件如图



评论