【问题标题】:Python script not executing under lighttpdPython 脚本未在 lighttpd 下执行
【发布时间】:2016-05-19 12:28:46
【问题描述】:

我在 Debian 下, 使用“apt-get install”安装了 python 和 lighttpd

这是我的 lighttpd 配置文件:

server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
        "mod_rewrite",
        "mod_cgi"
)

server.document-root        = "/var/www/html"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80


index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/$

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

# configuration cgi-python
$HTTP["url"] =~ "^cgi-bin/" {
         cgi.assign = ( ".py" => "/usr/bin/python" )
}

我在 /var/www/html/cgi-bin/ 下有这个文件

-rwxr-xr-x 1 www-data www-data  245 mai   19 12:09 hello.py

你好.py:

#! /usr/bin/python
#
print "Content-Type: text/html\n\n"
print '<html><head><meta content="text/html; charset=UTF-8" />'
print '<title>Rapsberry Pi</title><p>'
for count in range(1,100):
   print 'Hello&nbsp;World...'
print "</p></body></html>"

我的问题是浏览器不执行我的文件并显示我的 .py 代码。 /var/log/lighttpd/error.log 中没有错误 有人知道出了什么问题吗?

【问题讨论】:

  • 我希望 Web 服务器能够为此类常见任务提供更好的文档。许多开发人员使用 Python 作为后端,但官方文档很少:(

标签: python lighttpd


【解决方案1】:

来自此处的文档:

https://wiki.archlinux.org/index.php/lighttpd#CGI

看来你还需要设置cgi.assign,例如:

cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".cgi" => "/usr/bin/perl",
                               ".rb"  => "/usr/bin/ruby",
                               ".erb" => "/usr/bin/eruby",
                               ".py"  => "/usr/bin/python",
                               ".php" => "/usr/bin/php-cgi" )

【讨论】:

  • 太棒了!我在 lighttpd.conf 中删除了我的 cgi conf 并启用 10-cgi.conf
猜你喜欢
  • 2013-11-01
  • 1970-01-01
  • 2022-12-11
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
  • 1970-01-01
  • 2012-05-19
  • 2014-08-15
相关资源
最近更新 更多