Назад | Перейти на главную страницу

Отделить веб-сайт от файлов?

Я не уверен, относится ли это к Server Fault или к Software Engineering, но, поскольку это, скорее всего, сильно влияет на серверную часть хостинга моего веб-сайта и связанных файлов, я считаю, что здесь может быть лучше. Если я ошибаюсь, дайте мне знать, чтобы мы могли перенести вопрос в нужное место.

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


Недавно я унаследовал веб-сайт, на котором загружено около 1,8 ГБ файлов изображений. Большинство из них, скорее всего, больше не используются, но в настоящее время у меня нет времени разбирать их и точно определять, какие из них можно оставить, а какие уйти.

В довершение всего, совсем недавно я получил запрос на добавление файлов изображений объемом около 105 МБ в этот и без того большой проект. Я был бы совсем не против, если бы мы не хранили все эти изображения в системе управления версиями.

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


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

Единственная теория, которую я придумал до сих пор, - это создание на моем веб-сервере поддомена, предназначенного для хранения файлов содержимого, которые я могу извлекать через веб-адрес из моего основного домена. Я не уверен, что это хороший подход, но может быть так, как я думаю.


  1. Какой был бы надежный вариант, соответствующий лучшим практикам, чтобы выделить это?
  2. Каковы возможные подводные камни с этим типом разделения?

Обновления

Поддомен

Помогло бы размещение всего вашего графического контента в субдомене. Браузеры имеют ограниченные возможности одновременного просмотра контента из одного домена. Поддомен считается отдельным доменом с точки зрения браузера. Так что время загрузки должно быть сокращено.

Хостинг

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

Развертывание

Обратите внимание, что ваш хостинг может разрешать или не разрешать существование субдоменов вне корневого каталога документов вашего сайта.

Управления источником

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

  1. Какой был бы надежный вариант, соответствующий лучшим практикам, чтобы выделить это?

git LFS - решение для обработки больших файлов в git

  1. Каковы возможные подводные камни с этим типом разделения?
  • Каждый человек, который работает с репозиторием, должен установить клиент Git LFS.
  • В репозитории должно быть настроено отслеживание файлов, а обновленный .gitattributes файл должен был быть помещен в репо.
    Вы можете перейти по этой ссылке, чтобы настроить git LFS https://docs.gitlab.com/ee/workflow/lfs/manage_large_binaries_with_git_lfs.html