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

Скопируйте файлы из / var / www / html, пока они используются nginx

У меня много данных в /var/www/html. Больше 2Гб. Теперь у меня есть возможность разместить сайт на хосте (nginx использует / var / www / html) или я могу использовать докер.

Для пользователя докера я копирую содержимое /var/www/html в другую папку (src/) и я еду src/ внутри моего контейнера:

Шаги:

stop nginx
copy files /var/www/html --> xxx/src/
start docker

Копирование занимает несколько минут, поэтому есть время простоя. Это плохая идея:

copy files /var/www/html --> xxx/src/ (while nginx is running)
stop nginx
start docker

Может быть проблема?

Это полностью зависит от вашего варианта использования. Попробую описать возможные сценарии и соответствующие решения.

Если данные не меняются быстро или не увеличиваются в размере во время копирования в другое место, тогда не нужно беспокоиться о состоянии (запущен / остановлен) веб-сервера. Просто скопируйте данные, а затем переключите веб-сервер (например, с Nginx на Apache / Docker).

Если размер данных только увеличивается (а не изменяется содержимое), вы можете использовать rsync несколько раз перед переключением веб-сервера. Впервые rsync скопирует все данные (2 ГБ или что-то еще). Когда rsync запускается во второй раз, он копирует только новые данные (которые были добавлены при первом запуске rsync). В этой ситуации вам нужно остановить веб-сервер при повторном запуске rsync. Таким образом вы минимизируете время простоя. Копирование только что добавленных данных занимает гораздо меньше времени, чем копирование всех данных.

Если данные изменяются (а не увеличиваются в размерах), вам обязательно следует остановиться, скопировать и затем запустить веб-сервер.

Если данные изменяются, а также увеличиваются в размерах, вам непременно следует остановиться, скопировать и затем запустить сервер.

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

Надеюсь, это поможет.