上传文件显示权限被拒绝(CentOS7 + Apache + mod_wsgi + django)

Uploading files show permission denied (CentOS7 + Apache + mod_wsgi + django)

我将我的 Django 应用程序的测试版部署到 DigitalOcean,我正在使用 Apache 和 WSGI 为它提供服务。

一切正常,包括静态文件和 'get' 媒体文件(我将其直接保存到数据库),但上传文件除外。 它显示 'Permission denied' 错误,完整目录如 '/home/test/project/media/test.jpeg'.

我这样配置了 httpd-vhosts。

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    WSGIScriptAlias / /home/test/project/project/wsgi.py
    WSGIDaemonProcess example.com python-home=/home/test/project/.venv python-path=/home/test/project/project
    WSGIProcessGroup example.com

    Alias /static/ /home/test/project/frontend/build/static/ # react build dir

    <Directory /home/test/project/frontend/build/static>
        Require all granted
    </Directory>

    Alias /uploadImg/ /home/test/project/media/
    <Directory /home/test/project/media>
        Require all granted
    </Directory>

    <Directory /home/test/project/project>
    <Files wsgi.py>
        Require all granted
    </Files>
    </Directory>
</VirtualHost>

所以 httpd 是 运行 守护进程,我的目录 'media' 属于 root,755。 但是目录 'media' 是符号 link 目录,位于 '/home/test/'

我做了很多尝试来修复它,但没有任何效果.. 感谢大家的回复

我自己解决了。 我的问题是关于 'who runs the apache process' 和 'who owned the dir'。 它应该是具有写入权限的同一用户或组。 希望对此有疑问的人有所帮助。