apache上的Django wtih modu wsgi(Linux)-403禁止
好的,所以我在学习教程。当我试图通过我的本地服务器访问我的站点时,我会遇到以下特殊错误:apache上的Django wtih modu wsgi(Linux)-403禁止,linux,django,apache,ubuntu,mod-wsgi,Linux,Django,Apache,Ubuntu,Mod Wsgi,好的,所以我在学习教程。当我试图通过我的本地服务器访问我的站点时,我会遇到以下特殊错误: 禁止 您没有访问/访问此服务器的权限。 mysite.com端口80上的Apache/2.4.6(Ubuntu)服务器 Αs就我而言,我做的一切都是对的(我实现了两次建议的方法),这很可能是一个操作系统错误(我运行的是Mint 16,错误是(Ubuntu)),但是我没有经验,因此我需要一些帮助 我做了一些研究,但这些(,)问题和其他问题似乎都不能回答我的问题 下面是mysite.conf文件: <Vi
禁止
您没有访问/访问此服务器的权限。
mysite.com端口80上的Apache/2.4.6(Ubuntu)服务器
Αs就我而言,我做的一切都是对的(我实现了两次建议的方法),这很可能是一个操作系统错误(我运行的是Mint 16,错误是(Ubuntu)
),但是我没有经验,因此我需要一些帮助
我做了一些研究,但这些(,)问题和其他问题似乎都不能回答我的问题
下面是mysite.conf
文件:
<VirtualHost *:80>
WSGIScriptAlias / /home/nick/Mysite/mysite.wsgi
ServerName mysite.com
Alias /static /var/www/mysite/static/
<Directory /var/www/mysite/>
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
import os
import sys
sys.path = ['/var/www/mysite'] + sys.path
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
那么你认为问题出在哪里呢。这可能只是一个与Linux相关的错误吗?
请让我知道,如果你需要关于该项目或任何其他信息
非常感谢
更新:
这是我的.wsgi
文件:
<VirtualHost *:80>
WSGIScriptAlias / /home/nick/Mysite/mysite.wsgi
ServerName mysite.com
Alias /static /var/www/mysite/static/
<Directory /var/www/mysite/>
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
import os
import sys
sys.path = ['/var/www/mysite'] + sys.path
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我在重新启动服务器时也会收到此消息
Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message [ OK ]
也许这有帮助?如果这正是您的配置文件,那么我怀疑您使用的路径是错误的。请先把它修好
将WSGIScriptAlias设置为正确的路径
那么您的WSGI文件必须看起来像:
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
一开始要做的事情:
WSGIScriptAlias / /home/nick/Mysite/mysite.wsgi
为此,您没有相应的:
<Directory/home/nick/Mysite>
<Files mysite.wsgi>
Require all granted
</Files>
</Directory>
在最终路径上不应该有尾随斜杠。如果子URL的尾部斜杠位于URL上且文件系统路径缺少,则如果子URL的尾部斜杠不匹配,则可能会导致问题。最好让它们匹配是否使用尾随斜杠。我也有同样的问题
wsgi脚本应该位于/var/www/mysite/文件夹中,然后根据需要调整配置文件
同时删除前导/输入:
。。
别名/static/var/www/mysite/static
..
我已更新了我的问题,以便它反映您的答案。wsgi文件很好,项目的路径也很好。您确定您在wsgi中设置的路径是正确的吗?并张贴错误。您指的是WSGIScriptAlias//home/nick/Mysite/Mysite.wsgi
路径吗?是的,我确信这是正确的道路。哪个错误??sys.path=['/var/www/mysite']+sys.path这是我指的路径,不是WSGIScriptAliasOh抱歉。我的项目结构如下:/var/www/mysite/mysite/wsgi.py
文件。应该是怎样的?所以项目文件应该被移动到另一个目录?最好是我评论一下别名/static/var/www/mysite/static/
?把它放在主目录中并不理想。您仍然需要Alias指令,以便Apache能够为Django托管静态文件,您只需要正确设置它。看见