通过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模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
python中模块的__all__属性详解
Oct 26 Python
tensorflow TFRecords文件的生成和读取的方法
Feb 06 Python
python实现抖音视频批量下载
Jun 20 Python
pycharm安装和首次使用教程
Aug 27 Python
在ubuntu16.04中将python3设置为默认的命令写法
Oct 31 Python
python获取微信小程序手机号并绑定遇到的坑
Nov 19 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 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下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
PHP 防恶意刷新实现代码
2010/05/16 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
使用Python的Supervisor进行进程监控以及自动启动
2014/05/29 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
基于FME使用Python过程图解
2020/05/13 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
2014年秋季开学演讲稿
2014/05/24 职场文书
机械操作工岗位职责
2014/08/08 职场文书
员工工作及收入证明
2014/10/28 职场文书
傅雷家书读书笔记
2015/06/29 职场文书