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

Docker+Wordpress+Nginx环境上传图片显示空白访问返回404排查求助

你的问题根因是WordPress容器和Nginx容器没有共享网站根目录存储,同时存在Nginx规则缺失、目录权限可能不正确的问题,按以下步骤修复:

1. 修复docker-compose卷挂载配置

你当前配置中,Nginx容器挂载了wordpress命名卷到/var/www/html,但WordPress容器并没有挂载该命名卷,两个容器的网站根目录完全独立:WordPress写入的文件存在自身容器的临时文件系统中,Nginx完全无法访问,自然返回404。
修改wordpress服务的volumes配置,添加共享根目录挂载:

services:
  wordpress:
    # 其余原有配置保持不变
    volumes:
      - wordpress:/var/www/html # 新增这行,和Nginx的根目录挂载保持一致
      - ./theme-folder:/var/www/html/wp-content/themes/theme-folder

如果需要在本地宿主机直接查看上传的图片,可额外添加上传目录的本地挂载:

volumes:
  - wordpress:/var/www/html
  - ./wp-uploads:/var/www/html/wp-content/uploads # 新增,本地wp-uploads目录和容器内上传目录映射
  - ./theme-folder:/var/www/html/wp-content/themes/theme-folder

2. 修复Nginx配置

你当前443端口的Server块缺少默认路由规则,静态资源无法正常匹配:
修改你的nginx.conf的443 Server块,添加以下配置:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name website;
    root /var/www/html;
    index index.php index.html index.htm;

    ssl_certificate /etc/letsencrypt/live/website/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/website/privkey.pem;

    # 新增默认路由规则
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # 静态资源规则放在PHP规则之前,优先匹配
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        # 排查阶段先注释掉log_not_found off,方便定位问题
        # log_not_found off;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass wordpress:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

3. 修复目录权限

WordPress镜像默认以www-data用户运行PHP-FPM,需要确保上传目录的所有者权限正确:
进入WordPress容器执行权限修改命令:

docker exec -it <你的WordPress容器名> chown -R www-data:www-data /var/www/html/wp-content

4. 验证生效

修改完成后重启所有容器:

docker-compose down && docker-compose up -d

之后尝试上传图片,先进入WordPress容器查看/var/www/html/wp-content/uploads/下是否生成对应文件,再进入Nginx容器查看同一路径是否存在相同文件,确认共享正常后即可正常访问图片。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:45:01