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

系统 1349 0

为了配置基于 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 directive that ties a specific URL path to a specific Django installation. 例如:

            
              
  SetHandler python-program
  PythonHandler django.core.handlers.modpython
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
  PythonDebug Off

            
          

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

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

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

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

Inline literal start-string without end-string.

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

Inline literal start-string without end-string.

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

Inline literal start-string without end-string.

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

Inline literal start-string without end-string.

System Message: ERROR/3 (
                    
                      , line 405)

Unexpected indentation.


                    
                  
                
              
            
          

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

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

  Inline literal start-string without end-string.

  System Message: WARNING/2 (
              
                , 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 之后所有对你的站点的请求(或者是当你用了 指令后则是虚拟主机)都会由 Djanog 来处理。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论