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


Posted in Python onJuly 22, 2015

为了配置基于 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 来处理。

Python 相关文章推荐
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 Python
Pycharm修改python路径过程图解
May 22 Python
解决keras使用cov1D函数的输入问题
Jun 29 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
python爬虫---requests库的用法详解
Sep 28 Python
Pandas数据分析的一些常用小技巧
Feb 07 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 Python
在Django中同时使用多个配置文件的方法
Jul 22 #Python
在Python的Django框架中编写错误提示页面
Jul 22 #Python
详解Django通用视图中的函数包装
Jul 21 #Python
在Python的Django框架中显示对象子集的方法
Jul 21 #Python
在Django的通用视图中处理Context的方法
Jul 21 #Python
Django框架中的对象列表视图使用示例
Jul 21 #Python
在Python的Django框架中使用通用视图的方法
Jul 21 #Python
You might like
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
JQuery 风格的HTML文本转义
2009/07/01 Javascript
js自定义事件代码说明
2011/01/31 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
编写简单的Python程序来判断文本的语种
2015/04/07 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
详解python的四种内置数据结构
2019/03/19 Python
python如何读取bin文件并下发串口
2019/07/05 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
Notino法国:购买香水和化妆品
2019/04/15 全球购物
浪漫婚礼主持词
2014/03/14 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android
Nginx配置https的实现
2021/11/27 Servers
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers