It entirely depends on your use-case. Let me try to describe the possible scenarios and corresponding solutions.
If the data doesn't change fast or doesn't grow in size during the time it gets copied to another location, then there is no need to worry about the state (running / stopped) of the web server. Just copy the data and then switch the web server (from Nginx to Apache / Docker, for example).
If the data only grows in size (rather than change of content), then you may use rsync a couple of times before switching the web server. For the first time, rsync would copy the entire data (2GB or whatever). When rsync runs the second time, it'd only copy the new data (that was added when rsync was run the first time). In this situation, you'd want to stop the web server when rsync was run the second time. In this way, you'd minimize the downtime. It takes very less time to copy the newly added data than copying the entire data.
If the data changes (rather than grow in size), then you should definitely stop, copy and then start the web server.
If the data changes and also grows in size, then you should certainly stop, copy and then start the server too.
Whatever your scenario is, I highly recommend using rsync to reduce the downtime by copying most of the existing data to the new location.
I hope that helps.