当前位置: 首页 > 编程笔记 >

通过mod_python配置运行在Apache上的Django框架

岳昊空
2023-03-14
本文向大家介绍通过mod_python配置运行在Apache上的Django框架,包括了通过mod_python配置运行在Apache上的Django框架的使用技巧和注意事项,需要的朋友参考一下

为了配置基于 mod_python 的 Django,首先要安装有可用的 mod_python 模块的 Apache。 这通常意味着应该有一个 LoadModule 指令在 Apache 配置文件中。 它看起来就像是这样:

LoadModule python_module /usr/lib/apache2/modules/mod_python.so

Then, edit your Apache configuration file and add a <Location> directive that ties a specific URL path to a specific Django installation. 例如:

<Location "/">
  SetHandler python-program
  PythonHandler django.core.handlers.modpython
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
  PythonDebug Off
</Location>

要确保把 DJANGO_SETTINGS_MODULE 中的 mysite.settings 项目换成与你的站点相应的内容。

它告诉 Apache,任何在 / 这个路径之后的 URL 都使用 Django 的 mod_python 来处理。 它 将 DJANGO_SETTINGS_MODULE 的值传递过去,使得 mod_python 知道这时应该使用哪个配置。

注意这里使用 ```` 指令而不是 ```` 。 后者用于指向你的文件系统中的一个位置,然而 ````

System Message: WARNING/2 (<string>, line 403); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 403); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 403); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 403); backlink

Inline literal start-string without end-string.

System Message: ERROR/3 (<string>, line 405)

Unexpected indentation.

    指向一个 Web 站点的 URL 位置。 ````

  System Message: WARNING/2 (<string>, line 405); backlink

  Inline literal start-string without end-string.

  System Message: WARNING/2 (<string>, line 405); backlink

  Inline literal start-string without end-string.

Apache 可能不但会运行在你正常登录的环境中,也会运行在其它不同的用户环境中;也可能会有不同的文件路径或 sys.path。 你需要告诉 mod_python 如何去寻找你的项目及 Django 的位置。

PythonPath "['/path/to/project', '/path/to/django'] + sys.path"

你也可以加入一些其它指令,比如 PythonAutoReload Off 以提升性能。 查看 mod_python 文档获得详细的指令列表。

注意,你应该在成品服务器上设置 PythonDebug Off 。如果你使用 PythonDebug On 的话,在程序产生错误时,你的用户会看到难看的(并且是暴露的) Python 回溯信息。 如果你把 PythonDebug 置 On,当mod_python出现某些错误,你的用户会看到丑陋的(也会暴露某些信息)Python的对错误的追踪的信息。

重启 Apache 之后所有对你的站点的请求(或者是当你用了 <VirtualHost> 指令后则是虚拟主机)都会由 Djanog 来处理。

 类似资料:
  • 每当我通过命令行和mvn包运行应用程序时,IntelliJ 2016.1.2中都有一个小型Spring boot应用程序版本1.3.3 我记得我前段时间搜索过这个问题,它是IDE中一个已知的错误,也出现在Eclipse中。但是我找不到这些帖子了,因此无法访问解决方案。 你们谁能帮忙吗? 提前感谢。问候

  • 到目前为止,在我们的例子中,都是使用 Django 开发的web服务器。但这种服务器只是用于测试和不适合生产环境。一旦程序发布投入生产,就需要如Apache,Nginx等一个真正的服务器,我们在这一节中讨论Apache的配置。 服务Django应用程序是通过Apache使用mod_wsgi的完成。 因此,第一件事情就是要确保你已经安装了Apache和mod_wsgi。请记住,当我们创建我们的项目,

  • 我试图在Tomcat上通过eclipse运行一个项目文件。现在服务器启动了,但是当我试图访问服务器时(使用localhost:8080),我得到了一个404错误。查看Eclipse中的服务器控制台,我看到了一些奇怪的消息,希望你们中的一个能够理解它们。信息如下。谢了! 信息:在java.library.path:C:\program files\java\jre6\bin;C:\windows\s

  • GitBlog在Aapche上运行需要开启Aapche Rewrite模块用以支持GitBlog的伪静态URL。并且要配置.htaccess文件可用,然后在.htaccess文件中配置Rewriter规则。 打开Aapache Rewrite模块 打开httpd.conf文件,解除rewrite_module模板前的的注释#: LoadModule rewrite_module modules/m

  • 我使用Hortonworks Hadoop HDP-2.3.2.0-2950 Hive over Tez引擎 下面2个查询来自Java代码。 ——运行良好 ——失败并出现错误 我的代码:

  • 问题内容: 我正在通过Java上的JSch建立ssh连接,在我尝试运行此.sh文件之前,一切似乎都工作正常。外壳程序脚本的名称是 repoUpdate.sh ,它非常简单: 这是我在Linux控制台上直接获得的输出,其中包含命令的正确响应: 现在,这是带有ssh连接的我的方法的Java代码,该代码试图调用同一文件 我得到的答复如下: svn命令(版本9432)没有任何输出或执行的迹象。 我认为这可