LINUX.ORG.RU
ФорумAdmin

как прикрутить питон к апачу?


0

1

имею python 3.2, apache 2.2, линукс федора

сделал sudo yum install mod_python

добавил в httpd.conf LoadModule modules/mod_python.so

создал вирт. хост:

<VirtualHost localhost:80>
ServerAdmin admin@localhost2
DocumentRoot /home/user/www/pyweb
ServerName pyweb
ErrorLog logs/localhost2-error_log
CustomLog logs/localhost2-access_log common

AddHandler mod_python .py
SetHandler python-program
</VirtualHost>

все хорошо, кроме того что py-файлы выводятся как текстовые
раньше доводилось настраивать для пхп. ему подобных манипуляций было достаточно. чего питону не хватает?




Емнип, оно всё работает совсем не так как PHP. Как именно - надо гуглить.

Divius ★★
()
Ответ на: комментарий от mashina

спасибо

поставил wsgi

но получаю следующее:
у меня есть app.wsgi и в нем:


def application(environ, start_response):
«„„Simplest possible application object““»
status = '200 OK'
output = 'hi bithes!'
response_headers = [('Content-type', 'text/plain'), ('Content-length', str(len(output)))]
start_response(status, response_headers)
return [output]


собственно, а как добиться того, чтобы я мог открыть

/test.py, в котором написано print(«hello»)
и чтобы он мне вывел hello без всех этих хэндлеров?

джанго использовать не собираюсь
также интересует - будет ли там работать многопоточность?

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

сорри за такой output, совсем не уследил ночью
и ведь не исправишь =\

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

/test.py, в котором написано print(«hello») и чтобы он мне вывел hello без всех этих хэндлеров?

Питоновские модули работают немного иначе, нужен обязательно хендлер. Далее, в хендлере, из остатка урла можно вытянуть имя test.py и запустить этот скрипт. Делать придётся руками, хотя может быть есть где-то готовые примеры.

Если питонофицировать задачу, т.е. вызывать не скрипт, а питоновскую функцию из него, то можно воспользоваться простыми url-dispatcher'ами типа вот этого. Или url роутарами типа werkzeug.

Если просто нужно выводить stdout утилиты, то стоит смотреть более простые решения через CGI, mod_python и mod_wsgi будут оверкилом.

mashina ★★★★★
()
Ответ на: комментарий от mashina

спасибо
значит надо искать способ подключить его как cgi (fast-cgi?)

у меня задача не построить сайт, а запустить в браузере готовые скрипты, которые до этого работали с pyqt/GUI
поэтому вывод print предпочтительнее чем хэндлеры и роутеры

sergey-novikov ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.