Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 212

имя вашего интернет-домена. Минимальная конфигурация Apache может вы-

глядеть так:

<VirtualHost *:80>

DocumentRoot /var/www

WSGIScriptAlias / /var/www/test/home.wsgi

WSGIDaemonProcess mydomain.com user=myuser group=mygroup threads=25

WSGIProcessGroup mydomain.com

<Directory /var/www/test>

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

Веб-сервер Nginx

Веб-сервер

-сервер

сервер Nginx не

не имеет

имеет встроенного

встроенного модуля

модуля Python. Вместо этого он обмени-

обмени-

вается данными с помощью отдельного сервера WSGI вроде uWSGI. Вместе они

представляют собой очень быструю и удобную в конфигурации платформу для

веб-разработки с помощью Python.

Вы можете установить Nginx с его официального сайта http://wiki.nginx.org/Install.

Вам также нужно установить uWSGI (http://bit.ly/uWSGI). uWSGI — это крупная

система, имеющая множество различных настроек. Небольшая страница докумен-

тации предоставляет вам инструкции, позволяющие объединить Flask, Nginx

и uWSGI.

Другие фреймворки

Сайты и базы данных похожи на арахисовое масло и желе — часто можно увидеть,

как они работают вместе. Небольшие фреймворки вроде Bottle и Flask не включа-

ют в себя функции поддержки баз данных, хотя некоторые надстройки их имеют.

Веб-серверы

275

Если вам нужно поставить на поток производство сайтов, работающих с базой

данных, а сама база меняется не очень часто, можете попробовать воспользоваться

одним из более крупных фреймворков. Рассмотрим самые известные из них.

 django (https://www.djangoproject.com/). Этот фреймворк самый популярный,

особенно для крупных сайтов. Его стоит изучить по многим причинам, среди

которых регулярно появляющиеся требования опыта работы с django в объяв-

лениях о вакансиях. Он содержит код ORM (об ORM мы говорили в пункте

«The Object-Relational Mapper» подраздела «SQLAlchemy» раздела «Реляционные

базы данных» главы 8), позволяющий создавать автоматические веб-страницы

для типичных функций баз данных CRUD (создание, замена, обновление, уда-

ление), которые я рассматривал в подразделе «SQL» раздела «Реляционные

базы данных» главы 8. Вам не обязательно использовать ORM именно для

django, если больше нравится применять что-то другое, например SQLAlchemy

или прямые запросы SQL.

 web2py (http://www.web2py.com/). Он работает примерно с тем же, с чем и django,