Apache使用WSGI ModuleNotFoundError

问题描述

根据Bitnami's documentation,我已经按照他们想要的步骤进行了

  1. 为Django应用程序启用Wsgi配置
  2. 为Django项目启用预定义的虚拟主机
  3. 配置Django项目以供公共访问
  4. 创建自定义虚拟主机

在文档末尾指出

您现在应该可以在以下位置浏览到您的项目 http:// SERVER-IP / PROJECT / APP。

在这种情况下

SERVER-IP:35.178.211.120

项目:教程

APP:hello_world

如果我去以下地点

我得到内部错误500 。如果我查看日志/ home / bitnami / stack / apache2 / logs

[Tue Sep 29 18:33:16.858668 2020] [wsgi:error] [pid 1473] [远程 109.51.236.49:57609] ModuleNotFoundError:没有名为“ PROJECT”的模块

解决方法

在该特定文档中,它说要使用类似的代码

import os
import sys
sys.path.append('/opt/bitnami/apps/django/django_projects/PROJECT')
os.environ.setdefault("PYTHON_EGG_CACHE","/opt/bitnami/apps/django/django_projects/myproject/egg_cache")
os.environ.setdefault("DJANGO_SETTINGS_MODULE","PROJECT.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

但是,不能忘记用Django项目的名称代替PROJECT。例如,如果您的项目名为tutorial,则将PROJECT替换为tutorial

os.environ.setdefault("DJANGO_SETTINGS_MODULE","tutorial.settings")

然后,如果转到http://35.178.211.120/这样的实例IP地址,则会看到

Django production ready app