Под катом краткая инструкция по установке и настройке вышеуказанной связки. Через поиск не нашел, когда ставил для себя пришлось порыться по инету.
Качаем и ставим 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. Должно по идее работать на любой версии ОС.
