<p>Самым популярным фреймворком для веб-разработки на Python является Django. Бекэнд пишется очень быстро, работа с БД очень простая. В процессе отладки на локальном компьютере можно пользоваться встроенным в него простым веб-сервером через вызов</p> <p><kbd>python manage.py runserver</kbd></p> <p>Однако для реального "боевого" сервера нужно решение понадежнее. Чаще всего выбирают связку Nginx + uWSGI. Как нам говорит Википедия uwsgi - веб-сервер и сервер веб-приложений, первоначально реализованный для запуска приложений Python через протокол WSGI. В свою очередь WSGI (Web Server Gateway Interface) - стандарт взаимодействия между Python-программой, выполняющейся на стороне сервера, и самим веб-сервером. В этой заметке я рассматриваю как развернуть uWSGI на сервере (CentOS 7). Предполагается, что Nginx уже установлен, также предполагается, что установлен Python 3. Если он <a href="https://alex-math.ru/administrirovaniye/ustanovka-python-3-iz-ishodnikov/">ставился из исходников</a>, то исполняемые файлы лежат, скорее всего, в /usr/local/bin. Исходя из всего этого, давайте установим uWSGI в нашу систему.</p>
<p>CentOS 7 - стабильная операционная система, основанная на RedHat Enterprise Linux. Эти системы работают по принципу "если работает - не трогай". Поэтому они поставляются с довольно старыми, но зато проверенными версиями пакетов. Во многих случаях этот подход себя оправдывает, но иногда хочется видеть на своём сервере пакеты более свежих версий. Это касается, например, Python 3. Его вообще нет официальных репозиториях (есть только версии 2.7). А 3-й пайтон нужен для фреймворка Django. Поэтому приходится прилагать некоторые усилия, чтобы поставить на сервер Python самой последней версии.</p>
<p>Как и любой программный продукт, СУБД PostgreSQL каждой версии имеет ограниченный срок поддержки. Так, на момент написания статьи, заканчивается поддержка версии 9.5 и производитель настоятельно рекомендует перейти на более актуальные версии. Также часто встречается ситуация, когда для разворачивания на сервере какого-то ПО необходима PostgreSQL не ниже определённой версии. Например, сейчас CMS Moodle (последняя версия 3.10) требует PostgreSQL не ниже версии 9.6. Однако, популярная сегодня ОС для сервера CentOS 7 "из коробки" предоставляет PostgreSQL только версии 9.2. В этой статье я опишу простой способ перевода СУБД PostgreSQL на актуальную версию для случая CentOS 7. Для других ОС данный рецепт тоже можно применять с небольшими косметическими изменениями.</p>