2 front end nginx boxes s01-s02:
1. take s01 out of pool.
2. migrate config on s01 to new config.
3. put s01 back in pool.
4. take s02 out of pool
5. migrate config on s02 to new config.
6. put s02 back in pool.
Ansible can handle this quite happily. Scales up to any number of boxes. For an (n-1)/n capacity reduction during deployment.
I've got a 450k apache config somewhere that takes <1 second to reload so I don't think that's a major issue.
Also if you have THAT much config, something is wrong with your information architecture (see my other points).