Django Apache配置

到目前为止,在我们的实例中,都是使用 Django 开发的web服务器。但这种服务器只是用于测试和不适合生产环境。一旦程序发布投入生产,就需要如Apache,Nginx等一个真正的服务器,我们在这一节中讨论Apache的配置。

服务Django应用程序是通过Apache使用mod_wsgi的完成。 因此,第一件事情就是要确保你已经安装了Apache和mod_wsgi。请记住,当我们创建我们的项目,项目结构它看起来应该如下所示 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.cainiaojc.com
# Date : 2020-08-08
myproject/
    manage.py
    myproject/
       __init__.py
       settings.py
       urls.py
       wsgi.py

wsgi.py文件是一个考虑Django和Apache之间的联系和处理。

比方说,我们希望分享项目(myproject)在Apache中。 我们只需要设置Apache来访问这个文件夹。假设我们把myproject的文件夹在 "/var/www/html". 在此阶段,访问该项目将经由 http://127.0.0.1/myproject 来完成。 这将导致Apache 列出文件夹显示如在下面的快照。 浏览器运行结果

可以看出,Apache不需要处理Django的东西。 对于需要处理的,需要在Apache的httpd.conf配置。 于是打开httpd.conf并添加以下行 −

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.cainiaojc.com
# Date : 2020-08-08
WSGIScriptAlias / /var/www/html/myproject/myproject/wsgi.py
 WSGIPythonPath /var/www/html/myproject/
 <Directory /var/www/html/myproject/>
    <Files wsgi.py>
       Order deny,allow
       Allow from all
    </Files>
 </Directory>

如果可以访问登录页面: http://127.0.0.1/myapp/connection, 你将看到如下页面 -

访问登录页面