>apache and wsgi, sitting in a tree
Это запустит mod_wsgi во встроенном режиме как часть самого Apache.
Вы также можете запустить его в режиме демона — как один или несколько процессов, отдельных от Apache. Для того чтобы это сделать, добавьте две новые строки директив в ваш файл конфигурации Apache:
>$ WSGIDaemonProcess domain-name user=user-name group=group-name threads=25
>WSGIProcessGroup domain-name
В предыдущем примере переменные user-name и group-name представляют собой имена пользователя и группы в операционной системе, а переменная domain-name — имя вашего интернет-домена. Минимальная конфигурация Apache может выглядеть так:
>
>····DocumentRoot /var/www
>····WSGIScriptAlias / /var/www/test/home.wsgi
>····WSGIDaemonProcess mydomain.com user=myuser group=mygroup threads=25
>····WSGIProcessGroup mydomain.com
>····www/test>
>····Order allow,deny
>····Allow from all
>····
>
Веб-сервер Nginx
Веб-сервер Nginx не имеет встроенного модуля Python. Вместо этого он обменивается данными с помощью отдельного сервера WSGI вроде uWSGI. Вместе они представляют собой очень быструю и удобную в конфигурации платформу для веб-разработки с помощью Python.
Вы можете установить Nginx с его официального сайта http://wiki.nginx.org/Install. Вам также нужно установить uWSGI (http://bit.ly/uWSGI). uWSGI — это крупная система, имеющая множество различных настроек. Небольшая страница документации предоставляет вам инструкции, позволяющие объединить Flask, Nginx и uWSGI.
Сайты и базы данных похожи на арахисовое масло и желе — часто можно увидеть, как они работают вместе. Небольшие фреймворки вроде Bottle и Flask не включают в себя функции поддержки баз данных, хотя некоторые надстройки их имеют.
Если вам нужно поставить на поток производство сайтов, работающих с базой данных, а сама база меняется не очень часто, можете попробовать воспользоваться одним из более крупных фреймворков. Рассмотрим самые известные из них.
• django (https://www.djangoproject.com/). Этот фреймворк самый популярный, особенно для крупных сайтов. Его стоит изучить по многим причинам, среди которых регулярно появляющиеся требования опыта работы с django в объявлениях о вакансиях. Он содержит код ORM (об ORM мы говорили в пункте··«The Object-Relational Mapper» подраздела «SQLAlchemy» раздела «Реляционные базы данных» главы 8), позволяющий создавать автоматические веб-страницы для типичных функций баз данных CRUD (создание, замена, обновление, удаление), которые я рассматривал в подразделе «SQL» раздела «Реляционные базы данных» главы 8. Вам не обязательно использовать ORM именно для django, если больше нравится применять что-то другое, например SQLAlchemy или прямые запросы SQL.