通过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格式化字符串实例总结
Sep 28 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
python利用高阶函数实现剪枝函数
Mar 20 Python
python TKinter获取文本框内容的方法
Oct 11 Python
Python3中列表list合并的四种方法
Apr 19 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
Pycharm如何运行.py文件的方法步骤
Mar 03 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 11 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
php简单实现发送带附件的邮件
2015/06/10 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
vue中使用refs定位dom出现undefined的解决方法
2017/12/21 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
举例讲解Python中装饰器的用法
2015/04/27 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
学习python的前途 python挣钱
2019/02/27 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
python批量修改xml属性的实现方式
2020/03/05 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
中国医药集团国药在线:国药网
2017/02/06 全球购物
倩碧英国官网:Clinique英国
2018/08/10 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
市场部规章制度
2014/01/24 职场文书
财务人员担保书
2014/05/13 职场文书
事业单位考核材料
2014/05/21 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android