For nginx you can add custom log directive to VirtualHost config:
access_log "/var/www/<site-id>/access.log";
Then install logrotate to enhance and set something like:
/etc/logrotate.d/access-logs
/var/www/*/access.log {
weekly
missingok
rotate 6
compress
nocreate
delaycompress
notifempty
copytruncate
}
Copytruncate is not an ideal, but it does not require a reload of the webserver configuration.