Под катом краткая инструкция по установке и настройке вышеуказанной связки. Через поиск не нашел, когда ставил для себя пришлось порыться по инету.
Качаем и ставим Lighttpd для Windows.
Качаем и ставим питон для Windows.
Настраиваем конфиги, идем в C:\Program Files\LightTPD\conf и правим файл lighttpd-inc.conf, а именно:
Раскомментировать
Задать полный путь к каталогу в котором будет находиться наш базовый сайт, задать нужно полностью (pytрon.exe не будет исполнять .py файлы по относительным путям) и с прямым слэшем.
Добавить описание заголовочного файла на питоне:
Занести питоновские файлы в исключения, чтобы не относить его к статическому контенту:
И самое главное, указываем полный путь к местанахождению интерпретатора питона:
Если 80 порт уже используется каким-либо веб-сервером или приложением стоит проверить строку с привязкой к порту и изменить на свободный:
Запускаем Lighttpd сервер (C:\Program Files\LightTPD\TestMode.bat)
Создаем тестовый файл на питоне. Я использовал следующий код:
Но конечно можно ограничиться и более простым
Называем файл index.py и ложим по пути C:\Program Files\LightTPD\htdocs.
Тестируем вбив в адресную строку:
Тестировалось на Windows Server 2008 R2 x64. Должно по идее работать на любой версии ОС.
Шаг первый.
Качаем и ставим Lighttpd для Windows.
Шаг второй.
Качаем и ставим питон для Windows.
Шаг третий.
Настраиваем конфиги, идем в C:\Program Files\LightTPD\conf и правим файл lighttpd-inc.conf, а именно:
Раскомментировать
server.modules = ( ... "mod_cgi", "mod_rewrite", ... )
Задать полный путь к каталогу в котором будет находиться наш базовый сайт, задать нужно полностью (pytрon.exe не будет исполнять .py файлы по относительным путям) и с прямым слэшем.
server.document-root = "C:/Program Files/LightTPD/HTDOCS/"
Добавить описание заголовочного файла на питоне:
index-file.names = ( "index.py", "index.php", "index.pl", "index.cgi", "index.html", "index.htm", "default.htm" )
Занести питоновские файлы в исключения, чтобы не относить его к статическому контенту:
static-file.exclude-extensions = ( ".php", ".pl", ".cgi",".py" )
И самое главное, указываем полный путь к местанахождению интерпретатора питона:
cgi.assign = ( ".py" => "C:/Python27/python.exe")
Если 80 порт уже используется каким-либо веб-сервером или приложением стоит проверить строку с привязкой к порту и изменить на свободный:
server.port = 81
Запускаем Lighttpd сервер (C:\Program Files\LightTPD\TestMode.bat)
Шаг четвертый.
Создаем тестовый файл на питоне. Я использовал следующий код:
#!C:\Python27\python.exe -u
#!/usr/bin/env python
import cgi
import cgitb; cgitb.enable() # for troubleshooting
print "Content-type: text/html"
print
print """
<html>
<head><title>Sample CGI Script</title></head>
<body>
<h3> Sample CGI Script </h3>
"""
form = cgi.FieldStorage()
message = form.getvalue("message", "(no message)")
print """
<p>Previous message: %s</p>
<p>form
form method="post" action="index.py"
<p>message: <input type="text" name="message"/></p>
</form>
</body>
</html>
""" % cgi.escape(message)
Но конечно можно ограничиться и более простым
print "hello";
Называем файл index.py и ложим по пути C:\Program Files\LightTPD\htdocs.
Тестируем вбив в адресную строку:
http://localhost:81/index.py, должно работать и просто
http://localhost:81
Тестировалось на Windows Server 2008 R2 x64. Должно по идее работать на любой версии ОС.