You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为WordPress构建Apache+PHP-FPM的Docker容器环境

实现独立WordPress-FPM与Apache容器的关联

不用纠结带Apache的WordPress镜像,直接用官方Apache容器反向代理到WordPress-FPM容器即可,步骤如下:

  • 创建专属Docker网络
    让两个容器能互相发现和通信:

    docker network create wp-network
    
  • 启动WordPress-FPM容器
    假设你已准备好MySQL/MariaDB容器(命名为wp-db并加入同一网络),启动命令示例:

    docker run -d \
      --name wp-fpm \
      --network wp-network \
      -v wp-content:/var/www/html/wp-content \
      -e WORDPRESS_DB_HOST=wp-db:3306 \
      -e WORDPRESS_DB_USER=你的数据库用户名 \
      -e WORDPRESS_DB_PASSWORD=你的数据库密码 \
      -e WORDPRESS_DB_NAME=你的数据库名 \
      wordpress:6.3.1-php8.2-fpm
    

    挂载wp-content卷是为了让Apache能访问静态文件,同时保留主题、插件等数据。

  • 配置Apache反向代理

    1. 新建Apache配置文件wp-proxy.conf,内容如下:
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
      
      <VirtualHost *:80>
          DocumentRoot /var/www/html
      
          <Directory /var/www/html>
              AllowOverride All
              Require all granted
          </Directory>
      
          # 将PHP请求转发到FPM容器的9000端口
          ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://wp-fpm:9000/var/www/html/$1
      </VirtualHost>
      
    2. 启动Apache容器,挂载配置文件和共享卷,加入同一网络:
      docker run -d \
        --name wp-apache \
        --network wp-network \
        -p 80:80 \
        -v wp-content:/var/www/html/wp-content \
        -v $(pwd)/wp-proxy.conf:/usr/local/apache2/conf/httpd.conf \
        httpd:2.4
      

    也可以将配置放到Apache的extra目录,再修改主配置的Include指令引入,效果一致。

  • 验证效果
    访问http://localhost即可进入WordPress安装流程,此时Apache负责处理静态资源,所有PHP请求都会转发到独立的FPM容器处理,和你之前学习的基础Apache+PHP-FPM架构逻辑完全一致。

内容的提问来源于stack exchange,提问作者Lagot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:42:15