django没有在生产中保存媒体文件



我在ubuntu 18.04和apache2上设置了django项目,但出现了问题。媒体文件无法保存。当我尝试使用django filer上传文件时,我会收到500个内部服务器错误(我用charfield和filefield编写了简单的插件,情况相同(,与DEBUG=True/False设置无关。我使用manage.py runserver上传了一些文件,效果很好——我甚至可以在生产中使用这些文件,但尝试上传任何新文件都会导致错误settings.py:

MEDIA_URL = '/media/'
MEDIA_ROOT = '/mysite/public/media/'
STATIC_URL = '/static/'
STATIC_ROOT = '/mysite/public/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

apache配置:

alias /static /mysite/public/static
<Directory /mysite/public/static>
Require all granted
</Directory>
alias /media /mysite/public/media
<Directory /mysite/public/media>
Require all granted
</Directory>
<Directory /mysite/src/proj>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess mysite python-home=/mysite/venv python-path=/mysite/src/
WSGIProcessGroup mysite
WSGIScriptAlias / /mysite/src/proj/wsgi.py

总之:manage.py运行服务器运行良好。在生产服务器上,我可以管理以前上传的文件,但尝试上传新文件会导致错误500。

我认为您需要更改media文件夹的权限。类似的东西

sudo chmod -R 775 your_django_project/public/media

最新更新