要解决AWS、Django和Nginx无法提供静态文件的问题,可以按照以下步骤进行:
STATIC_URL 和 STATIC_ROOT 参数被正确设置:STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
运行 python manage.py collectstatic 命令,该命令会将静态文件从每个Django应用的 static 文件夹复制到 STATIC_ROOT 文件夹中。
在Nginx的配置文件中添加静态文件的位置。打开Nginx的配置文件(通常是 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf),然后在 server 块中添加以下配置:
location /static/ {
alias /path/to/static/files/;
}
将 /path/to/static/files/ 替换为 STATIC_ROOT 中实际的路径。
重新启动Nginx服务,以使配置更改生效。
确保AWS EC2实例的安全组设置允许对Nginx的80端口进行访问。
这样,Nginx就能够正确提供Django应用的静态文件了。记得在部署时,也要确保静态文件已经被正确上传到AWS EC2实例上。