Как стать автором
Обновить

Windows + Lighttpd + Python краткая инструкция по запуску

Время на прочтение2 мин
Количество просмотров14K
Под катом краткая инструкция по установке и настройке вышеуказанной связки. Через поиск не нашел, когда ставил для себя пришлось порыться по инету.



Шаг первый.

Качаем и ставим 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. Должно по идее работать на любой версии ОС.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 30: ↑23 и ↓7+16
Комментарии13

Публикации

Истории

Работа

Python разработчик
137 вакансий
Data Scientist
61 вакансия

Ближайшие события