Python 脚本未在 lighttpd 下执行
Python script not executing under lighttpd
我在 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
hello.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 World...'
print "</p></body></html>"
我的问题是浏览器不执行我的文件并显示我的 .py 代码。
/var/log/lighttpd/error.log 中没有错误
有人知道出了什么问题吗?
来自此处的文档:
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" )
我在 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
hello.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 World...'
print "</p></body></html>"
我的问题是浏览器不执行我的文件并显示我的 .py 代码。 /var/log/lighttpd/error.log 中没有错误 有人知道出了什么问题吗?
来自此处的文档:
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" )