当它们被nginx使用时,从/ var / www / html复制文件

我在/var/www/html有很多数据。 它超过2GB。 现在我有可能在主机上托pipe网站( nginx正在使用/ var / www / html),或者我可以使用docker。

对于docker的用户,我将/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 

会有问题吗?

这完全取决于你的使用情况。 让我试着描述可能的情况和相应的解决scheme。

如果数据在复制到另一个位置的过程中没有快速变化或者不增长,那么就不必担心Web服务器的状态(运行/停止)。 只需复制数据,然后切换Web服务器(例如,从Nginx到Apache / Docker)。

如果数据的大小只是增长(而不是内容的变化),那么在切换Web服务器之前,您可能会使用rsync几次。 rsync将首次复制整个数据(2GB或其他)。 当rsync第二次运行时,它只会复制新的数据(第一次运行rsync时添加的数据)。 在这种情况下,当第二次运行rsync时,你会想停止Web服务器。 这样,你可以减less停机时间。 复制新添加的数据比复制整个数据花费的时间要less很多。

如果数据发生变化(而不是越来越大),那么您应该停止,复制然后启动Web服务器。

如果数据发生变化并且规模也在增长,那么您应该停止,复制然后启动服务器。

无论您的情况如何,我都强烈build议使用rsync通过将大部分现有数据复制到新位置来减less停机时间。

我希望有帮助。