python - Django + Nginx 无法提供媒体文件
问题描述
我有两台服务器:第一台用于 Nginx,第二台用于 Django + 媒体文件。
Nginx server IP: xxx.xx.xx.1
Django + media files server IP: xxx.xx.xx.2
在 Django 的settings.py
文件中,我的媒体路径配置:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = "/media/"
在第一台服务器中,我的 Nginx 配置:
server {
listen 80;
server_name example.com;
location /media/ {
proxy_pass http://xxx.xx.xx.2/;
}
location / {
include proxy_params;
proxy_pass http://xxx.xx.xx.2:8000/;
}
}
在放置媒体文件的第二台服务器中,我的 Nginx 配置:
server {
listen 80;
server_name xxx.xx.xx.2;
location /media/ {
alias /home/sadm/Desktop/{project_name}/media;
}
但是,在尝试访问时example.com/media/images/my_image.jpg
,我收到404
错误消息。
任何帮助是极大的赞赏!提前致谢!
解决方案
这可能是一分钟,但我认为您不应该/media
在别名的末尾添加。尝试这个:
server {
listen 80;
server_name xxx.xx.xx.2;
location /media/ {
root /home/sadm/Desktop/{project_name};
}
}
推荐阅读
- angular - 添加修改或删除角垫表中的任何行,角8
- spring - 使用 spring.cloud.kubernetes.secrets.paths 属性将机密作为文件读取
- python - python for循环只更新3个变量中的2个?
- c++ - C ++:编译期间的int计算(而不是运行期间)
- javascript - discord.js 将频道权限设置为“/”(中性)
- java - BigQuery 与休眠
- python - Django TextField 默认值
- spring-boot - 找不到 Spring 框架安全 bean“AuthenticationManager”
- angular - 对图像上传进行单元测试并获取图像大小、角度
- arrays - Mongoose findByIdAndUpdate:无法更新数组字段