通过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程序实例(通讯录)
Nov 29 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
遗传算法之Python实现代码
Oct 10 Python
python使用锁访问共享变量实例解析
Feb 08 Python
解决python读取几千万行的大表内存问题
Jun 26 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
django如何自己创建一个中间件
Jul 24 Python
Python如何使用字符打印照片
Jan 03 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
python中的时区问题
Jan 14 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 如何向 MySQL 发送数据
2006/10/09 PHP
第十一节--重载
2006/11/16 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
利用python爬取软考试题之ip自动代理
2017/03/28 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
Python正则表达式和元字符详解
2018/11/29 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
浅析python redis的连接及相关操作
2019/11/07 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
在python中求分布函数相关的包实例
2020/04/15 Python
python 5个实用的技巧
2020/09/27 Python
python pymysql库的常用操作
2020/10/16 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
新奇的小玩意:IWOOT
2016/07/21 全球购物
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
管理信息系学生的自我评价
2014/01/11 职场文书
少年闰土教学反思
2014/02/22 职场文书
消防安全承诺书
2014/05/22 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python