【发布时间】:2020-10-06 04:24:33
【问题描述】:
我将django框架安装到apache服务器中,当我尝试将记录插入数据库时通常没有问题。但是,如果我尝试将某些内容上传到media 目录,则会出现权限问题。我已经给出了chmod -R 755 to /var/www/ 项目的父文件夹。但是还是有问题。
settings.py
STATIC_URL = '/static/'
MEDIA_URL = "/media/"
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
和.conf 设置如下。
<VirtualHost *:8001>
ServerName example.com
DocumentRoot /var/www/
Alias /static /var/www/example.com/src/static
<Directory "/var/www/example.com/src/static">
Options FollowSymLinks
Order allow,deny
Allow from all
Require all granted
</Directory>
Alias /media /var/www/example.com/media
<Directory "/var/www/example.com/media">
Options FollowSymLinks
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog /var/www/example.com/logs/apis_error.log
CustomLog /var/www/example.com/logs/apis_access.log combined
WSGIPassAuthorization On
WSGIDaemonProcess example.com python-path=/var/www/example.com:/var/www/venv36/lib/python3.6/site-packages
WSGIProcessGroup example.com
WSGIScriptAlias / /var/www/example.com/src/wsgi.py
<Directory /var/www/example.com/src>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
知道这里有什么问题吗?
【问题讨论】:
-
755 表示 RWX(用户)RwX(组)Rw X(其他)。如果您不是用户,则无法写入该目录。试试
766或777。另一个,检查目录所有者。它可能是 root。除非你是 root 你不能写。您可以通过sudo chown -R user:group folder更改目录所有者 -
说得好。 766 没有解决它,但是将 777 给
/media文件夹可以解决问题。但是,可以将 777 提供给媒体文件夹吗? @Pax -
只需将文件夹所有者更改为
www-user或current-user比将777 设置为文件夹更好。