Apache2 Python脚本未在浏览器中运行

时间:2015-12-08 13:57:27

标签: python apache cgi

我知道在几个论坛上有很多讨论,但不幸的是,没有一个答案和建议对我有用。我想执行一个非常简单的Python脚本并在浏览器中查看输出。我按照http://raspberrywebserver.com/cgiscripting/writing-cgi-scripts-in-python.html的说明进行了操作。

我的" hello.py" Python文件位于/ usr / lib / cgi-bin中。从终端运行python hello.py时,一切正常。我的Apache2 Web服务器似乎也运行得很好,如下所示:

" 它有效!这是此服务器的默认网页。 Web服务器软件正在运行,但尚未添加任何内容。"

在浏览器中输入Raspberry Pi(xxx.xxx.x.xx)的IP时。

当我将路径添加到我的Python文件(如192.168.0.12/cgi-bin/hello.py)时,它会显示 404 - Not Found

我的Apache配置文件如下所示:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            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
            AddHandler cgi-script .cgi .py
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

到目前为止的任何想法?

1 个答案:

答案 0 :(得分:0)

终于解决了。我没有注意到我在端口80上运行Lighttpd而Apache也监听了该端口。通过将Apache设置为侦听端口8080,它可以完美地工作。尽管如此,我要感谢所有为解决我的问题做出贡献的人。