Развертывание вашего веб-сайта в 2023 году для новичков

Всем привет. Развертывание веб-приложения может быть сложным и разочаровывающим. В сегодняшней статье я покажу вам некоторые подводные камни и советы, как их избежать. Кроме того, будут некоторые общие моменты, такие как CI/CD и резервное копирование данных.

Я уже развернул несколько веб-сайтов в digitalocean. Поэтому я буду придерживаться так называемых «капель». Обязательно адаптируйте некоторые советы к другим услугам хостинга.

1. Брандмауэр

Вопросы

  • Кто должен иметь доступ к вашему серверу?
  • Кто может получить доступ к порту x или порту y?
  • Как вы защищаете доступ?

Digitalocean имеет простую настройку брандмауэров. Я рекомендую вам включить аутентификацию SSH. Обязательно предоставьте всем ipv4 и ipv6 доступ к порту вашего веб-сайта.

Примером другого порта может быть цветок сельдерея. Цветок сельдерея должен быть настроен для внутреннего использования, а не для публичного доступа, поэтому ограничьте IP-адреса.

Мой опыт - Совет

После того, как меня взломали с помощью широко известного пароля (атака грубой силы), я очень осторожен с аутентификацией и доступом — и все должны! Учитесь на моей ошибке: не важно, что вы не обращаете внимания на свой проект — они все равно попытаются скомпрометировать ваш сервер.

См. https://www.abuseipdb.com в качестве краткого справочника. Вы можете запросить свой сервер и выявить основные проблемы безопасности.

2. Дважды проверьте свои ресурсы

Вы должны быть уверены, что ожидаемое количество пользователей не будет ограничено плохой производительностью. Поэтому протестируйте свое веб-приложение с ресурсами ЦП и памяти. Подумайте об использовании более дорогого решения для хостинга, когда ваше веб-приложение регулярно закрывается (из-за высокого использования ресурсов).

Сельдерей — пример

Также обязательно протестируйте другие демоны вашего сервера, например, celery. Совершенно нормально запускать celery, celery beat, celery flower и веб-приложение в дроплете, если:

  • Все настроено, например, параллелизм! (- в)
  • У вас достаточно памяти

Если это не так, и вы видите, что демоны часто убиваются, обновите свой дроплет/сервис до следующего возможного. Вы можете проверить использование памяти и процессора с помощью команды:

htop

# or

top

3. Отладка

Маловероятно, что вы выполняете развертывание с включенным режимом отладки, но это может случиться. Просто убедитесь, что вы установили debug=False, если это возможная конфигурация в вашей структуре.

4. Плохое резервное копирование и аварийное восстановление

Пренебрежение регулярным резервным копированием и отсутствие плана аварийного восстановления может привести к потере данных или длительному простою из-за непредвиденных событий.

Внедрите автоматизированные решения для резервного копирования (например, моментальные снимки) и разработайте стратегию аварийного восстановления, чтобы обеспечить доступность и целостность вашего приложения и данных.

5. CI/CD

Используйте системы управления версиями, такие как git, и автоматизируйте процессы развертывания с помощью таких инструментов, как Docker или систем управления конфигурацией, и внедрите конвейеры непрерывной интеграции/непрерывного развертывания (CI/CD), чтобы обеспечить плавное и воспроизводимое развертывание.

Это не обязательно, особенно для очень маленьких проектов. Вы также можете использовать git pull вручную без всякой автоматизации.

Урто

Спасибо, что прочитали эту статью. Не забудьте взглянуть на мой последний проект, если вы заинтересованы в финансах. Он начнется совсем скоро:

https://palmy-investing.com/