通过mod_python配置运行在Apache上的Django框架
2015-07-22 00:00
981 查看
为了配置基于 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 来处理。
相关文章推荐
- 在Apache服务器上同时运行多个Django程序的方法
- 使用相同的Apache实例来运行Django和Media文件
- 简单的Apache+FastCGI+Django配置指南
- apache端口有时被占用,解决策略
- windows 下Apache2.4与PHP5.6安装
- 多学一点(五)——在Linux下安装配置Apache
- Apache配置代理的两种方式
- 如何设置apache+php的上传文件大小上限
- apache 使用a2ensite和a2dissite来快速切换站点
- Apache Ant运行时Unable to locate tools.jar解决方法
- Mac 10.10 配置apache
- 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squi...
- xampp 修改端口Apache端口方法
- apache+php5+sqlite3移植
- apache poi 实现将PPT(2007)中指定单元格替换成指定字符串或图片
- Apache+PHP+MYSQL部署
- java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第十九讲:apache+php+mysql开发环境搭建(wamp)
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第十八讲:apache虚拟目录及虚拟主机配置
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第十七讲:apache服务器介绍