Маркетплейс: Django
Django является популярным полнофункциональным серверным веб-фреймворком, написанным на Python и использующим шаблон проектирования MVC.
На Django можно создавать широкий диапазон веб-приложений: от небольших персональных сайтов до сложных высоконагруженных веб-сервисов. Фреймворк по умолчанию предлагает готовую функциональность для ряда распространенных задач, например – систему аутентификации, генерацию карт сайта и т.д., благодаря чему можно не тратить время и ресурсы на создание часто используемых компонентов.
В Django большое внимание уделяется безопасности, благодаря чему фреймворк помогает разработчикам избежать многих распространенных проблем в системе безопасности.
Приложение включает следующее ПО:
Название | Версия |
Nginx | 1.18.0 |
PostgreSQL | 14.5 |
Django | 4.1.3 |
Gunicorn | 20.1.0 |
Certbot | 1.32.0 |
Postfix | 3.6.4 |
Что делает это приложение:
-
Включает UFW брандмауэр и разрешает подключения на порты:
- SSH (22)
- HTTP (80)
- HTTPS (443)
- Настраивает Postfix для работы только на отправку сообщений, устанавливая параметр inet_interfaces = loopback-only
-
Подготавливает проект Django:
- Добавляет дополнительного системного пользователя.
- Создает виртуальное окружение с необходимыми модулями.
- Создает дополнительного пользователя и базу данных в PostgreSQL и добавляет реквизиты в settings.py проекта.
- Настраивает сервис gunicorn для работы с проектом.
- Настраивает nginx на обработку статического контента и использование gunicorn в качестве бэкенда для обработки динамического контента.
Что делать после развертывания приложения:
Информация о подготовленном проекте отображается в приветственном сообщении при заходе на сервер по SSH.
Вы можете отключить данное сообщение изменением параметра ENABLE в файле /etc/default/motd-django
Реквизиты для системного пользователя, пользователя базы данных и администратора проекта Django находятся в /root/.secrets
Интерфейс администратора доступен по адресу /admin.
Вы можете использовать уже подготовленный проект для работы со своим кодом, либо создать новый. При создании нового проекта Вам будет необходимо изменить пути в конфигурации сервиса gunicorn.service и виртуального хоста nginx.
Желаем Вам приятной работы!