Как установить скрипты Python для работы в Apache 2.0?

голоса
17

Я пытался следовать пару гугле вверх учебники по настройке mod_python, но не каждый раз. У вас есть хорошая, шаг за шагом, незыблемую HOWTO?

Мой DEV окно OS X, производство - Centos.

Задан 07/08/2008 в 19:24
источник пользователем
На других языках...                            


4 ответов

голоса
12

Есть два основных способа выполнения Python на Apache. Простейшие будут использовать CGI и писать обычные скрипты на Python, а второй используют веб-фреймворк, как Django или пилоны.

Использование CGI просто. Убедитесь , что ваш конфигурационный файл Apache имеет CGI-BIN создан. Если нет, следовать их документации ( http://httpd.apache.org/docs/2.0/howto/cgi.html ). В этот момент все , что вам нужно сделать , это поместить скрипты Python в CGI-BIN каталога и стандартный вывод будет ответ HTTP. Обратитесь к документации в Python для дальнейшей информации ( https://docs.python.org/library/cgi.html ).

Если вы хотите использовать веб - фреймворк вам нужно настроить mod_python или FastCGI. Эти шаги зависят от рамок которой вы хотите использовать. Django предоставляет четкие инструкции о том, как настроить mod_python и Django с Apache ( http://www.djangoproject.com/documentation/modpython/ )

Ответил 07/08/2008 в 19:40
источник пользователем

голоса
8

Да, mod_python довольно запутанный, чтобы настроить. Вот как я это сделал.

В httpd.conf:

LoadModule python_module modules/mod_python.so

<Directory "/serverbase/htdocs/myapp">
  AddHandler mod_python .py
  PythonHandler myapp
  PythonDebug On

и в каталоге приложения:

$ /serverbase/htdocs/myapp$ ls -l
total 16
-r-xr-xr-x 1 root sys        6484 May 21 15:54 myapp.py

Повторите настройку для каждой программы питона вы хотите иметь работает под mod_python.

Ответил 07/08/2008 в 20:02
источник пользователем

голоса
5

Вы используете Python в UNIX или Windows?

Альтернативой mod_python и FastCGI является mod_wsgi. Вы можете узнать больше на modwsgi

Я построил и установил это на Solaris без проблем. Я раньше пытался mod_python , но столкнулся с проблемами с разделяемыми библиотеками как часть сборки. Есть хорошие установки документы доступны.

Ответил 07/08/2008 в 20:05
источник пользователем

голоса
0

Проблема для меня не была в Apache установлена, но в понимании того, как на самом деле mod_apache использует .py файлы. Заявления Модуля уровня ( в том числе в if __name__=='__main__'разделе) будут не выполнены - я предположил , что стандартный вывод от запуска сценария в командной строке будет то , что сервер будет выводить, но это не то, как это работает.

Вместо этого я написал функцию уровня модуля под названием index(), и она была вернуться в виде строки в HTML страницы. Кроме того , можно иметь другие функции уровня модуля (например, otherFunction()) , которые могут быть доступны в качестве дополнительных сегментов в URI (например, testScript/otherFunctionдля файла testScript.py.)

Очевидно, что это имеет больше смысла, чем моя первоначальная стандартный вывод концепция. Лучше способность фактически используя Python как язык сценариев, а не Humongous язык разметки.

Ответил 09/02/2013 в 21:05
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more