您好我正在尝试在数字海洋服务器上部署我的django应用程序。我确实在虚拟环境中运行应用程序,一切正常。但我希望我的域指向我的应用程序并遵循this教程。但问题是当使用以下代码编辑apache conf文件时,我收到错误。
禁止您无权访问/在此服务器上。
这是我直接看的方式
+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
答案 0 :(得分:0)
您的Python代码将以Apache用户身份运行。因此,它可能无法访问主目录下的文件,因为它们没有允许其他人访问的权限。
你应该从主目录中移出东西并把它放在像/var/www/project
这样的地方。
请参阅: