如何设置TERM环境变量Apache + mod_wsgi + django

时间:2014-05-05 11:06:55

标签: python django apache mod-wsgi

我在我的Ubuntu 12.04 LTS中使用Apache + mod_wsgi来部署我的django应用程序。 设置和部署是可以的,因为当我访问与之关联的URL时,views.py中的方法返回一个值。而且,Apache error.log中没有错误。

然而,当我添加一个:

os.system("java -jar <java application name>")

到views.py中的方法实现,在Apache的错误日志中显示&#34; TERM环境变量集&#34; ,并且不执行java应用程序。成功运行java应用程序后,输出一个简单的文本文件。但正如预期的那样(并且由于未执行java应用程序),因此未生成任何文本文件。

解释之后,我的问题是如何正确设置TERM环境变量以成功运行java应用程序?我已经尝试过这个:

SetEnv TERM /usr/bin/xterm

但它没有解决问题。我也试过这两个:

SetEnv TERM /usr/bin/xterm:$PATH
SetEnv TERM /bin/bash

但同样,它没有用。 希望听到你的想法。提前谢谢!

1 个答案:

答案 0 :(得分:0)

从mod_wsgi执行子流程时遇到问题,以前从未见过TERM是一个问题,并且通常是出于其他原因。

如果您仍然认为您的环境中不存在TERM,那么在您的WSGI脚本文件中添加:

import os
os.environ['TERM'] = 'xterm'

请注意,虽然TERM既不设置为路径,也不设置为单个可执行文件,而是设置为终端类型。建议你去读一下TERM的用途。