在Lightsail的内置Apache服务器中托管Django应用程序

时间:2020-09-29 10:40:57

标签: python django amazon-web-services bitnami amazon-lightsail

我想使用Lighsail开发可用于生产的Django应用,为此,我正在关注两个教程来实现这一目标

从Bitnami文章中可以看到AWS文档遵循其Approach B: Self-Contained Bitnami Installations

根据:

  • AWS的文档,我的阻止程序出现在 5中。使用Apache托管应用程序,步骤g
  • Bitnami的文档,上面写着

在Linux上,可以在守护程序模式下使用mod_wsgi运行应用程序。 在以下代码中添加 /opt/bitnami/apps/django/django_projects/PROJECT/conf/httpd-app.conf:

拦截器与我被要求添加的代码有关,特别是具有该代码的最后一部分

Alias /tutorial/static "/opt/bitnami/apps/django/lib/python3.7/site-packages/Django-2.2.9-py3.7.egg/django/contrib/admin/static"
WSGIScriptAlias /tutorial '/opt/bitnami/apps/django/django_projects/tutorial/tutorial/wsgi.py'

更具体地说,/home/bitnami/apps/django/。在/home/bitnami/中只能看到以下文件夹 。 bitnami_application_password 。 bitnami_credentials 。 htdocs 。堆栈

,其中最可能类似于/opt/bitnami/apps/的是/home/bitnami/stack/。事情是,在该特定文件夹内,没有django文件夹-至少据我所知(已经在某些文件夹中进行了检查,例如python文件夹)。

在这个特定阶段,我的解决方法是转到另一种方法Approach A: Bitnami Installations Using System Packages(我已经完成并设法使其如this blog post中所述的那样工作),但是我想想让它使用方法B来解决这个问题。

1 个答案:

答案 0 :(得分:1)

这里的问题是提到项目和Django的路径。

Actual Bitnami folder

就我而言,项目位于/home/bitnami/projects/下,在这里我创建了一个名为tutorial的Django项目。

另外,如果我运行命令

python -c "
import sys
sys.path = sys.path[1:]
import django
print(django.__path__)"

它将向我显示Django的安装位置

['/ opt / bitnami / python / lib / python3.8 / site-packages / django']

Bitnami opt folder not as expected

因此,httpd-app.conf应该在末尾

Alias /tutorial/static "/opt/bitnami/python/lib/python3.8/site-packages/django/contrib/admin/static"
WSGIScriptAlias /tutorial '/home/bitnami/projects/tutorial/tutorial/wsgi.py'
相关问题