развернуть проект на удаленном сервере
План работы
Получите доменное имя, по которому будет доступно приложение. Начните именно с этой задачи, так как для тестирования работы проекта вам понадобится доменное имя, а для того, чтобы оно попало на все DNS-серверы, нужно время. Вы можете использовать любой сервис, выдающий доменные имена, платный в том числе.
Клонируйте репозиторий infra_sprint1 с проектом Kittygram со своего аккаунта на GitHub на удалённый сервер.
Настройте WSGI-сервер Gunicorn для работы с бэкенд-приложением проекта Kittygram.
Создайте ещё один конфигурационный файл для демона WSGI-сервера Gunicorn. Назовите его gunicorn_kittygram.service. Так Gunicorn будет управлять работой демона для каждого проекта независимо.
Опишите в этом файле параметры запуска приложения через WSGI-сервер. Так как порт 8000 уже занят проектом Taski, используйте другой порт, например 8080.
Настройте веб-сервер Nginx для перенаправления запросов и работы со статикой проекта Kittygram.
Соберите фронтенд для Kittygram:
находясь на сервере, из директории frontend/ последовательно выполните команды npm install и npm run build;
собранный фронтенд скопируйте в директорию /var/www/kittygram/.
Опишите нужные настройки в существующем файле конфигурации, но в новом блоке server.
Чтобы фотографии котиков отображались на сайте, создайте директорию media в директории /var/www/kittygram/. Django-приложение будет использовать эту директорию для хранения картинок.
В настройках бэкенда для константы MEDIA_ROOT укажите путь до созданной директории media.
Назначьте текущего пользователя владельцем директории media, чтобы Django-приложение могло сохранять картинки. Для этого используйте команду chown:
# Подставьте в команду имя своего пользователя.
sudo chown -R <имя_пользователя> /var/www/kittygram/media/
Опишите в файле конфигурации блок с префиксом /media/, чтобы Nginx знал, из какой директории забирать фото котиков. Тут вам нужно немного поработать самостоятельно и разобраться с тем, как работать с директивой alias.
? По умолчанию Nginx не принимает запросы объёмом более одного мегабайта. Учитывайте это при загрузке фотографий на сайт. Если хотите загружать более «тяжёлые» файлы, добавьте в конфигурацию Nginx инструкцию client_max_body_size 20M;. Разместите её внутри директив location /api/ и location /admin/.
Настройте шифрование запросов по протоколу HTTPS.
? Так как браузеры по умолчанию обращаются именно к HTTPS-версии сайта, то пока эта версия не станет доступной, явно указывайте в адресной строке протокол. Пишите адрес, начиная с http://
В корневой директории проекта Kittygram на удалённом сервере создайте папку infra. Разместите в этой папке три файла:
файл конфигурации Nginx с именем default,
файл конфигурации Gunicorn с именем gunicorn_kittygram.service,
файл под названием kittygram_site.txt.
Содержимое файла kittygram_site.txt должно быть таким (после ключей не забудьте поставить двоеточия, а в конце строк — точку с запятой):
IP: IP вашего удалённого сервера;
name_taski: полная ссылка (https://доменное_имя) на ваш проект Taski;
name_kittygram: полная ссылка (https://доменное_имя) на ваш проект Kittygram;
login: логин суперпользователя;
password: пароль суперпользователя;
На удалённом сервере сделайте push проекта Kittygram в свой репозиторий на GitHub и отправьте проект на проверку.
Требования к результатам работы
Пользователь может получить доступ к проектам Taski и Kittygram по доменным именам.
При работе с Kittygram доступны все возможности проекта: можно зарегистрироваться и авторизоваться, добавить нового котика на сайт или изменить существующего, а также просмотреть записи других пользователей.
При работе с Taski тоже доступны все возможности: можно создать, удалить, изменить задачу, а также отметить её как выполненную.
Для проекта Kittygram секреты подключаются из файла .env. В файле должна быть как минимум одна константа — SECRET_KEY. Её значение не должно храниться в коде проекта. Однако для переменных окружения из файла .env в коде проекта должны быть указаны значения по умолчанию, иначе проект не пройдет проверку автоматическими тестами.
В проектах Taski и Kittygram подгружаются файлы со стилями для панели администратора.
План есть, требования определены и даже шпаргалка есть — можно приступать к работе. Удачи, всё получится!
Как будет проходить проверка
В отличие от других финальных проектов, проверка вашего решения этого задания будет осуществляться исключительно автоматическими тестами. Это значит, что после того, как вы отправите решение на платформу и пройдете все автоматические тесты там, оно не будет дополнительно проверяться ревьюером.
Виктория
ТГАСУ
Уже второй раз заказываю работу. все выполнено даже раньше срока, без замечаний приняли ра...
Ляйсан
КНИТУ
Работа на отлично! Ещё и досрочно!) Советую данного исполнителя Как говорится профессио...
Полина
МГИМО
Ксения - отличный автор. Обращаюсь к ней уже 2ой раз, вся работа выполнена прекрасно. Советую
Александр
ТоГУ
Не первый раз обращаюсь к Ивану, задания выполняет досрочно и всегда все отлично,. Если чт...