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

树莓派Docker部署Nginx+WordPress网站显示空白求助

排查Docker部署Nginx+WordPress空白页问题

先验证容器间连通性

既然怀疑容器通信异常,先直接测试连通性:

  • 进入Nginx容器,尝试请求WordPress容器的80端口:
    docker exec -it nginx curl wordpress:80
    
    如果能返回WordPress的默认页面源码,说明WordPress服务正常,问题出在Nginx配置;如果返回连接超时/失败,那就是容器通信层面的问题。

容器通信问题修复

  1. 解决网络别名冲突
    你的docker-compose.yaml里,db和wordpress容器的网络别名都是wordpress,这会导致Docker内部DNS解析混乱,Nginx无法确定该连接哪个容器。把db的别名改成db:
    db: 
      # 保留其他原有配置
      networks:
        website_network:
          aliases: 
            - db  # 替换原来的wordpress别名
    
  2. 确认网络状态
    执行命令检查自定义网络是否正常,且三个容器都已加入:
    docker network inspect website_network
    
  3. 查看WordPress容器日志
    检查WordPress是否能正常连接数据库:
    docker logs wordpress
    
    重点看是否有数据库连接失败的报错信息。

Nginx配置排查(若容器连通正常)

  1. 检查反向代理配置
    确保Nginx配置文件中,反向代理地址指向WordPress容器的别名(wordpress),而非localhost(Nginx容器内的localhost是自身),示例配置如下:
    server {
        listen 443 ssl;
        server_name 你的域名;
    
        ssl_certificate /证书路径/fullchain.pem;
        ssl_certificate_key /证书路径/privkey.pem;
    
        location / {
            proxy_pass http://wordpress:80;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    
  2. 查看Nginx日志
    检查是否有代理报错(比如502网关错误):
    docker logs nginx
    
  3. 修正WordPress站点URL
    如果WordPress内部配置的站点URL还是HTTP协议,可能导致资源加载失败,通过wp-cli修改:
    docker exec -it wordpress wp option update siteurl 'https://你的域名'
    docker exec -it wordpress wp option update home 'https://你的域名'
    

其他排查点

  • 树莓派资源占用:用top命令检查CPU、内存是否被占满,资源不足也可能导致页面加载空白。
  • 浏览器开发者工具:打开页面后查看控制台的Network标签,检查是否有CSS/JS等资源加载失败的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:56:07