Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 18, 2014 19:50:58

capable
Зарегистрирован: 2014-10-18
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с apache.

Всех приветствую форумчане, никак не могу решить вопрос с подключением к апачу, все линки в гугле старые за 2009 год и статьи для пайтона второй ветки, а мне нужно для третьей. С postgres проблем особых не было, скачал модуль, инсталлировал его и свободно с ним работаю. Подскажите пожалуйста куда смотреть по настройке апача для взаимодействия с пайтон.
Заранее благодарен, тем кто подскажет по вопросу.

Ось - шиндовс 7, апач - 2.2, пайтон 3.4.1.

Офлайн

#2 Окт. 19, 2014 17:42:19

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Проблемы с apache.

А вам зачем именно к апачу? Сейчас в основном используют сервера на питоне, типа waitress или утилит из werkzeug, или что идет с фреймворком из коробки и т.п. потому что с ними легко отлаживаться, а в продашене их ставят за обратным прокси, чаще всего за нгинкс.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Окт. 19, 2014 18:08:29

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Проблемы с apache.

Насколько werkzeug лучше apache по производительности и вообще, не модуль ли это для апачи? Если можете, популярно, пожалуйста, так как сейчас перед выбором стою.



Офлайн

#4 Окт. 19, 2014 19:35:12

capable
Зарегистрирован: 2014-10-18
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с apache.

PooH
А вам зачем именно к апачу? Сейчас в основном используют сервера на питоне, типа waitress или утилит из werkzeug, или что идет с фреймворком из коробки и т.п. потому что с ними легко отлаживаться, а в продашене их ставят за обратным прокси, чаще всего за нгинкс.

Мне не для фреймворков, нужно тестировать простые скрипты на пайтоне через броузер.
Вообщем есть простой бложек написанный на коленке мною на PHP, сейчас его начал переписывать на пайтоне. Так вот нужен доступ к броузеру.
Заранее благодарен.

Офлайн

#5 Окт. 19, 2014 19:42:16

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Проблемы с apache.

capable
Вообщем есть простой бложек написанный на коленке мною на PHP, сейчас его начал переписывать на пайтоне. Так вот нужен доступ к броузеру.

Возьми любой фреймворк или сервер из стандартной либы.

Узнай, что такое WSGI.



Отредактировано Budulianin (Окт. 19, 2014 19:46:26)

Офлайн

#6 Окт. 19, 2014 19:49:48

capable
Зарегистрирован: 2014-10-18
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с apache.

Budulianin

Не нужен мне пока что фреймворк.
Нужно настроить апач.

Отредактировано capable (Окт. 19, 2014 19:50:00)

Офлайн

#7 Окт. 20, 2014 07:43:02

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Офлайн

#8 Окт. 21, 2014 07:26:09

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Проблемы с apache.

Isem
Насколько werkzeug лучше apache по производительности и вообще, не модуль ли это для апачи? Если можете, популярно, пожалуйста, так как сейчас перед выбором стою.

Ух, все это разжевано в интернете, но попробую собрать в одно. Если где ошибся, пусть меня поправят. Смотрите, в простейшем варианте система у нас состоит из двух частей - веб-сервер и приложение на python, веб-сервер обрабатывает подключения, вызывает приложение и отдает все это клиенту, еще веб-сервер сам отдает статику.

С приложением веб-сервер может общаться следующими способами(вообще их больше):

  • CGI - сервер сохраняет входные данные запроса в переменных среды и вызывает интерпретатор python с приложением(данные POST передаются через stdin). Приложение пишет в stdout, который сервер перехватывает и отдает клиенту;

  • Встроенный интерпретатор в сервере(для apache mod_python) - здесь веб-сервер загружает интерпретатор python в память своего процесса и выполняет приложение в нем, тут, благо они в одном адресном пространстве, масса вариантов обмена данными между приложением и веб-сервером, подробности в доке на mod_python, фактически можно навесить обработчик на любой этап обработки запроса веб-сервером;

  • FastCGI - здесь приложение запущено отдельным долгоживущим процессом, который общается с веб-сервером через unix/tcp-сокет(в одном из вариантов через stdin/stdout) по определенному протоколу;

  • WSGI - тоже что и в предыдущем случае, но протокол другой, более близкий питону - любой callable объект, принимает словарь с данными, генерирует строки ответа;

В двух последних случаях, чтобы не писать все общение с веб-сервером самому используют готовые сервера приложений flup, uWSGI, gunicorn. Причем то-же flup, например, может ваше приложение дергать через WSGI, а с веб-сервером уже общаться через FastCGI.

Отдельно стоит mod_wsgi, это модуль для apache, который вызывает ваше приложение через WSGI, но запускает его либо внутри процесса apache как mod_python, либо в отдельном процессе, опять же под управлением apache.

Что касается werkzeug, то он унифицирует для вас работу с веб-сервером, через что бы вы не запускали приложение, для вас это будет WSGI. И плюс дает вам простенький веб-сервер на python для разработки без кучи настроек. Так, что, как видите, сравнивать werkzeug и apache бессмысленно.

Теперь про nginx и apache. У них разная модель обработки подключений apache обрабатывает каждое подключение в отдельном потоке, nginx - использует очередь сообщений - один поток(на самом деле несколько, но это не важно) опрашивает подключения по очереди. Поэтому nginx может обслужить намного больше клиентов, но не любит длительные обработки. Его часто используют в качестве обратного прокси и балансировщика нагрузки - обрабатывает запросы клиентов, статику отдает сам, а долгие запросы отдает за себя, другому серверу. Это может быть, конечно, и apache. Но смотрите, nginx сейчас умеет понимать и FastCGI и WSGI, и если мы отдельно поднимаем сервер приложений на том же uWSGI, то зачем нам лишнее промежуточное звено в лице apache? Это лишняя задержка, это потраченная память.

Ну вот как-то так. На самом деле вариантов, конечно, больше.

ЗЫ: Про производительность, пока писал наткнулся на интересную заметку автора mod_python , особенно комменты



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано PooH (Окт. 21, 2014 08:33:28)

Офлайн

#9 Окт. 23, 2014 20:43:34

capable
Зарегистрирован: 2014-10-18
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с apache.

sypper-pit
Так есть же http://modpython.org

Так у меня ж шиндовс 7.

Офлайн

#10 Окт. 23, 2014 21:37:48

cutwater
От:
Зарегистрирован: 2009-01-08
Сообщения: 444
Репутация: +  19  -
Профиль   Отправить e-mail  

Проблемы с apache.

sypper-pit
Так есть же http://modpython.org

WAT? sypper-pit, Вы откуда такой умный здесь взялись? С разморозкой Вас.
mod_python уже несколько лет как устарел и его не рекомендуется использовать.

capable, опишите подробно задачу, тогда будет проще Вам помочь. Возможно у вас типичная ошибка всех PHP разработчиков, которые начинают разработку Python проекта с настройки apache. Хотя этого в общем-то не нужно до определенного момента.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version