Скрипты, написанные на Python, могут работать и а web сервере IIS, который входит в состав Windows.
Для этого требуется установить сам интерпретатор Python, поддержку CGI и выполнить ряд настроек.
Установка интерпретатора Python была достаточно подробно рассмотрена в статье посвящённой поддержке Python в Visual Studio. Поэтому здесь мы опишем только операции связанные с IIS.
Поддержка CGI в IIS
Поддержка CGI в IIS включается при помощи стандартного окна «Включение или отключение компонентов Windows» (доступно через «Панель управления» — «Программы и компоненты»).
В разделе «Компоненты разработки приложений» устанавливаем соответствующий флажок и нажимаем «Ok».
После завершения установки можно приступить к настройке IIS для работы Python.
Настройка IIS для работы с Python
Для настройки воспользуемся стандартным «Диспетчером служб IIS» («Панель управления» — «Администрирование»).
Отрываем «Документ по умолчанию» и добавляем новое имя файла, который будет открываться по умолчанию на сайте. Например, index.py
Далее необходимо сопоставить обработчик для скриптов на Python.
Открываем в «Диспетчере служб IIS» «Сопоставление обработчика». Нажимаем «Добавить сопоставление сценария» и в открывшемся окне прописываем:
- Путь запроса: *.py
- Исполняемый файл: путь_к_папке_Python\python.exe %s %s
- Имя: python
В примере на скриншоте «путь_к_папке_Python» имеет значение C:\Python34.
После нажатия кнопки «Ok» в открывшемся диалоговом окне вновь подтверждаем наши действия.
По завершении установки рекомендуется перезапустить IIS («Перезапустить» в «Диспетчере служб IIS»).
Тестовый скрипт
Для проверки работы поддержки Python напишем небольшой скрипт.
Создадим в корневой папке сайта файл index.py и напишем в нём следующий код:
1 2 3 4 5 6 7 |
# coding: utf-8 print('Status: 200 OK') print('Content-Type: text/html') print('') print('') print('') print(' |
1 2 3 |
') print('') print(' |
Проверка работы Python на IIS
1 2 |
') print('') |
Далее после вывода пустой строки, которая отделяет заголовки от содержимого идёт вывод собственно HTML кода.
Если установка поддержки Python выполнена правильно и код не содержит ошибок, результат работы тестового скрипта можно будет увидеть в браузере.
Чтобы страница была в нормальной кодировке (т.е. в UTF-8), исправить скрипт нужно так: # coding: utf-8 import sys sys.stdout = open(1, ‘w’, encoding=’utf-8′, closefd=False) print(‘Status: 200 OK’) print(‘Content-Type: text/html; charset=utf-8’) print(») print(») print(») print(‘Тестовая страница’) print(») print(‘Проверка работы Python на IIS’) print(»)