你好,我尝试2.2v
在 ubuntu apache 服务器上部署我的 django 项目
当我运行时cat /var/log/apache2/error.log
出现此错误:
[time] [wsgi:error] [pid 13224:tid 2323232] (13)权限被拒绝:[远程某个号码:号码] mod_wsgi (pid=13323,process='django_app',application='django_project|'): 对'/root/project_name/project_name/wsgi.py' 的 fopen() 调用失败。
我的 wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_name.settings')
application = get_wsgi_application()
这是我的/etc/apache2/sites-available/django_proj.conf
:
<VirtualHost *:80>
Alias /static /root/project_name/static
<Directory /root/project_name/static>
Require all granted
</Directory>
Alias /meida /root/project_name/meida
<Directory /root/project_name/meida>
Require all granted
</Directory>
<Directory /root/project_name/zettapc>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias / /root/project_name/project_name/wsgi.py
WSGIDaemonProcess django_app python-path=/root/project_name python-home=/root/project_name/venv/
WSGIProcessGroup django_app
</VirtualHost>
我的浏览器上的输出是:
内部服务器错误
我是不是漏掉了什么
答案1
该文件夹/root
只能由 root 用户读取。apache 在 Ubuntu 上以用户身份运行www-data
。将其放在用户可以读取的文件夹中,www-data
例如/opt/project-name
或/var/www/project-name
。将其复制到此类文件夹中后,在包含以下内容的文件夹中运行以下命令:project-name
sudo chgrp -R www-data project-name
此后它应该开始工作。您可以从在 Ubuntu Apache 子目录中配置 Django