gpt4 book ai didi

python - 在 apache (ubuntu 12) 下将 python 脚本作为 cgi 运行时遇到问题

转载 作者:太空狗 更新时间:2023-10-29 17:33:28 25 4
gpt4 key购买 nike

披露:我搜索了很多,但我认为我的问题(关于我的配置)在这里没有得到解答。例如 run python script as cgi apache server不回答。

所以:我有一个最简单的脚本:

#!/usr/bin/env python

print "Content-type: text/html"
print ""

print "<h1>Hello from Python!</h1>"

当我在浏览器中运行它时,它确实显示了自己而不是预期的来自 Python 的问候!

我做了以下让它运行:

a) 每个人都可以执行;它在 shell 中完美运行。

b) 它位于具有以下配置的虚拟目录中(在/etc/apache2/sites-available/my_cgi_dir 中):

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/my_cgi_dir/>
Options Indexes +ExecCGI FollowSymLinks MultiViews
AddHandler cgi-script .cgi .py
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

如你所见

       Options Indexes +ExecCGI FollowSymLinks MultiViews

       AddHandler cgi-script .cgi .py

c) 我通过运行确保 apache 有 python 支持sudo apt-get install libapache2-mod-python

d) 是的,我确实重启了 apache。

不过,我只看到了脚本的源代码,而不是“Hello Python”。

我错过了什么?

请帮忙。


PS:如果这可能有帮助,这是我正在运行的:

Linux ip-172-31-37-178 3.2.0-40-virtual #64-Ubuntu SMP Mon Mar 25 21:42:18 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

服务器版本:Apache/2.2.22 (Ubuntu)

python 2.7.3

最佳答案

也可能导致这些症状的是您没有加载 apache2 cgi 模块。这还将在 /var/log/apache2/access.log 中生成一 strip 有 HTTP 304 错误的日志消息:

192.168.2.3 - - [26/Jul/2014:11:56:34 +0200] "GET /cgi-bin/hello.py HTTP/1.1" 304 179 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"

检查加载的模块:

apache2ctl -M

寻找:

cgid_module (shared)

如果没有加载,加载:

a2enmod cgid

然后重启apache2:

service apache2 reload

然后刷新浏览器并清除浏览器缓存 (CTRL + F5)。和/或重新启动浏览器,以确保它请求的是实际页面,而不是使用浏览器缓存。

关于python - 在 apache (ubuntu 12) 下将 python 脚本作为 cgi 运行时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19578091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com