我使用版本1.8的django和生产版本2.4的apache服务器来运行我的网站。除此之外,我有django-wysiwyg-redactor在我的模型的RedactorField中上传图像。我在生产中使用DEBUG = False。 我在settings.py中为媒体文件夹的django项目添加了这样的配置:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
对于编辑器:
REDACTOR_UPLOAD = 'uploads/'
使用以下命令添加文件夹媒体的权限时:
sudo chmod -R 777 media/
并配置apache 000-default.conf,它具有如下路径/etc/apache2/sites-available/000-default.conf:
Alias /static /home/ubuntu/webapps/simple_blog/assets
Alias /media/ /home/ubuntu/webapps/simple_blog/media
<Directory /home/ubuntu/webapps/simple_blog/assets>
Require all granted
</Directory>
<Directory /home/ubuntu/webapps/simple_blog/media>
Require all granted
</Directory>
<Directory /home/ubuntu/webapps/simple_blog/myblog>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
现在所有的网址和静态工作,除了媒体中的文件。当我上传图像时,我通过ssh连接到我的服务器,我可以在/ home / ubuntu / webapps / simple_blog / media / uploads中找到它们。但是当我上传文件时,我可以在brauser控制台中看到这样的错误:NetworkError:403 Forbidden - http://example.com/media/uploads/a.jpeg&#34;。其中example.com是我的域名。并且图像不在控制台中的网站页面中查看出现同样的错误。 最后,除了000-default.conf之外,我不会更改apache中的任何设置。
除了我找到apache error.log文件并在该文件中找到错误描述:AH01630:服务器配置拒绝客户端:/ home / ubuntu / webapps / simple_blog / mediauploads