【问题标题】:WSGIDaemonProcess causes 'You don't have permission error'WSGIDaemonProcess 导致“您没有权限错误”
【发布时间】:2018-02-14 20:50:54
【问题描述】:

您好,我正在尝试在数字海洋服务器上部署我的 django 应用程序。我确实在虚拟环境中运行了该应用程序,并且一切正常。但我希望我的域指向我的应用程序并遵循this 教程。但问题是当使用以下代码编辑 apache conf 文件时出现错误。

Forbidden 您无权访问此服务器上的 /。

这就是我的样子

    +root
    +myproject
        +myproject
            settings.py
            urls.py
            wsgi.py
        +static
        manage.py
    +myprojectenv

这是我的 WSGI.py

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
application = get_wsgi_application()

这是我的 Apache 默认配置文件 000-default.conf

<VirtualHost *:80>

#ServerAdmin webmaster@localhost
#DocumentRoot /var/www/html

Alias /static /home/user/alpha/static
<Directory /home/user/alpha/static>
Require all granted
</Directory>

Alias /static /home/root/myproject/static
<Directory /home/root/myproject/static>
    Require all granted
</Directory>

<Directory /home/root/myproject/myproject>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess myproject python-home=/home/root/myproject/myprojectenv python-path=/home/root/myproject
WSGIProcessGroup myproject
WSGIScriptAlias / /home/root/myproject/myproject/wsgi.py


ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

我没有足够的经验来找出导致错误的原因。如果我删除 apache conf 文件中的以下行。当我尝试访问我的服务器时,我得到了 Ubuntu 主页

 WSGIDaemonProcess myproject python-home=/home/root/myproject/myprojectenv python-path=/home/root/myproject
WSGIProcessGroup myproject
WSGIScriptAlias / /home/root/myproject/myproject/wsgi.py

【问题讨论】:

    标签: django apache ubuntu-16.04 mod-wsgi


    【解决方案1】:

    您的 Python 代码将以 Apache 用户身份运行。因此,它可能无法访问主目录下的文件,因为它们没有允许其他人访问的权限。

    您应该将内容从主目录中移出并将其放在类似/var/www/project 的位置。

    见:

    【讨论】:

    • 完全按照你说的做了。但现在的问题是引发网关超时错误。如果我删除 000-default-conf 文件中的 WSGIdaemonprocess 配置。当我访问 IP 时,它会显示 ubuntu 登录页面。任何线索这里犯了什么错误?
    • 添加WSGIApplicationGroup %{GLOBAL}。请参阅modwsgi.readthedocs.io/en/develop/user-guides/…您可能正在使用一些在子解释器中不起作用的包并且它正在阻塞。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2016-08-26
    • 2019-11-22
    • 2013-01-03
    • 1970-01-01
    • 2022-06-27
    相关资源
    最近更新 更多