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

Rocky Linux部署Wagtail(Django)站点,Nginx无法加载静态文件

解决Rocky Linux上Nginx部署Wagtail时静态文件403权限问题

1. 修正Nginx配置的语法错误

你的location块缺少开头的斜杠,导致匹配规则失效,同时可以优化静态文件的配置:

server {
        listen 80;
        server_name 10.4.0.189;
        root /home/wagtail/apps/my_site;
        charset UTF-8;
        error_log /home/wagtail/apps/my_site/nginx-error.log;

        # 处理favicon,添加root确保能找到文件
        location = /favicon.ico {
                root /home/wagtail/apps/my_site;
                access_log off; 
                log_not_found off;
        }

        # 修正静态文件location的匹配规则,添加斜杠
        location /static/ {
                root /home/wagtail/apps/my_site/;
                expires 30d; # 添加缓存优化
                add_header Cache-Control "public, immutable";
        }

        location / {
                proxy_set_header Host $http_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_pass http://unix:/run/gunicorn.sock;
        }
}

修改后重启Nginx:

systemctl restart nginx

2. 检查上层目录的执行权限

Linux需要目录有执行权限才能进入,你仅检查了/home/wagtail/apps/my_site的权限,但上层的/home/wagtail和/home/wagtail/apps权限可能限制了Nginx访问:

# 查看上层目录权限
ls -ld /home/wagtail /home/wagtail/apps

确保这些目录的权限至少是drwxr-xr-x或者drwxrwxr-x,允许nginx组读取和进入。如果权限不足,执行:

chmod g+rx /home/wagtail /home/wagtail/apps

3. 强制设置SELinux上下文

即使setroubleshoot没报错,静态文件的SELinux上下文可能仍未正确配置,执行以下命令给静态文件设置HTTP服务允许的上下文:

# 临时生效
chcon -Rv --type=httpd_sys_content_t /home/wagtail/apps/my_site/static/
# 永久生效(需要先安装policycoreutils-python-utils)
yum install -y policycoreutils-python-utils
semanage fcontext -a -t httpd_sys_content_t "/home/wagtail/apps/my_site/static(/.*)?"
restorecon -Rv /home/wagtail/apps/my_site/static/

4. 验证Nginx运行用户

确认Nginx进程的运行用户是nginx,并且该用户有权限访问文件:

# 查看Nginx运行用户
ps aux | grep nginx

如果Nginx用的是nginx用户,确保该用户属于nginx组(默认已加入),同时文件的组权限是nginx且有读权限(你的文件权限已经满足)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:02:03