【发布时间】:2012-09-02 19:53:05
【问题描述】:
我正在尝试从我的 ec2 实例的 html 文件夹中执行 .py 文件。
我安装了 python 2.6.8,并配置了 httpd.conf 以识别并允许执行 /var/www/html 目录中的 cgi .py 文件。
测试 index.py 文件有以下脚本:
#!/usr/bin/python
# enable debugging
import cgitb
cgitb.enable()
print "Content-Type: text/plain\r\n\r\n"
print "Hello World!"
每当我运行 mywebsite.com/index.py 时,浏览器都会提示存在内部服务器错误。从 httpd error_log 中,我得到以下信息:
[Sun Sep 09 21:52:46 2012] [error] (2)No such file or directory: exec of '/var/www/html/index.py' failed
[Sun Sep 09 21:52:46 2012] [error] Premature end of script headers: index.py
我认为正在发生的是 #!/usr/bin/python 没有找到执行脚本的 python。所以我在控制台中输入了以下内容:
ls -l -F /usr/bin/python*
它给了我以下信息:
lrwxrwxrwx 1 root root 9 Sep 7 18:31 /usr/bin/python -> python2.6*
lrwxrwxrwx 1 root root 9 Sep 7 18:31 /usr/bin/python2 -> python2.6*
-rwxr-xr-x 2 root root 3536 Jun 29 06:51 /usr/bin/python26*
-rwxr-xr-x 2 root root 3536 Jun 29 06:51 /usr/bin/python2.6*
-rwxr-xr-x 1 root root 1418 Jun 29 06:51 /usr/bin/python2.6-config*
所以从技术上讲,该请求应该有效。我错过了什么?
注意:我应该提一下,.py 文件已经过 chmod-ed 可执行并具有 777 访问权限(暂时)。
编辑: 我安装了 WSGI,但我不知道它是否正在运行。我还输入了 whereis python,得到了以下信息:
python: /usr/bin/python2.6-config /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/include/python2.6
【问题讨论】:
标签: python linux apache amazon-ec2