Подключение python 3.2 к Apache 2.2 как CGI

В общем, вот рабочий пример запуска python3 как CGI в апач 2.2 с кириллицей в браузере:

#!/usr/local/bin/python3

import sys, os

os.dup2(1, 2) # copy stderr->stdout

sys.stdout.buffer.write(b'Content-type: text/html;charset=utf-8nn')

def out(msg):

sys.stdout.buffer.write(msg.encode('utf8'))

sys.stdout.flush()

# test

import time

for i in range(10):

out('кириллица

')

time.sleep(1)

файл сохраняем в utf-8

в браузере тоже должна быть выбрана эта кодировка

все ошибки копируются в stdout, т.е. в браузер

подключение в httpd.conf:

– создаем вирт. хост, добавляем хэндлер

– в директории со скриптами добавляем +ExecCGI

– ставим на скрипт права на выполнение: chmod +x script.py

ServerAdmin admin@localhost2

DocumentRoot /home/python3/www

ServerName pyweb

ErrorLog logs/pyweb_errors

CustomLog logs/pyweb_custom common

AddHandler cgi-script .cgi .py .pyw # важно

DirectoryIndex start.pyw

Options +ExecCGI # важно

вроде бы больше ничего не требуется

Рекомендую статью:  python/php на freebsd
Рейтинг
( Пока оценок нет )
Алексей Волконский/ автор статьи

Более 15 лет занимаюсь сайтами, программированием и IT-технологиями. Разбираюсь в веб-разработке, Linux и серверном администрировании, базах данных, алгоритмах, информационной безопасности, SEO, искусственном интеллекте и автоматизации. На kvodo.ru публикую практические инструкции, примеры кода и разборы технических задач, объясняя сложные технологии понятным языком и с упором на применение в реальной работе.

Загрузка ...
Кводо.ру