使用apache2部署Django项目时出现404错误

时间:2020-04-13 14:20:45

标签: django python-3.x apache2 mod-wsgi

我试图在apache2上创建一个新的django项目,但出现404错误。 这是我所做的。

-在/ home / ubuntu / django目录中,键入

django-admin startproject proj

-如下编辑proj / proj / wsgi.py。

import os
import sys


from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')

sys.path.append('/home/ubuntu/django/proj');
sys.path.append('/home/ubuntu/django/proj/proj');

application = get_wsgi_application()

-按如下所示在proj / proj / settings.py中编辑ALLOWED_HOSTS。

ALLOWED_HOSTS = ['example.com']

-如下编辑/etc/apache2/conf-available/wsgi.conf。

WSGIScriptAlias /proj /home/ubuntu/django/proj/proj/wsgi.py
WSGIPythonPath /home/ubuntu/django/proj

<Directory /home/ubuntu>
   Require all granted
</Directory>

<Directory /home/ubuntu/proj/proj>
 <Files wsgi.py>
  Require all granted
 </Files>
</Directory>

-将apache2重新启动为

/etc/init.d/apache2 restart

-访问http://example.com/proj,然后出现以下404错误。

Page not found (404)
Request Method: GET
Request URL:    http://example.com/proj/
Using the URLconf defined in proj.urls, Django tried these URL patterns, in this order:

admin/
The empty path didn't match any of these.

我的环境如下。

  • Ubuntu 18.04 LTS(AWS)
  • Apache / 2.4.29
  • Python 3.6.9
  • Django 3.0.5

如何解决此404错误?

1 个答案:

答案 0 :(得分:0)

您的urls.py文件中是否有“ / admin”? 您可能还需要将apache2设置从/ home / ubuntu / proj / proj更改为/ home / ubuntu / django / proj / proj