Tuve que usar awstats con Nginx esta semana y no tienes que usar cgi-bin necesariamente. Awstats viene con el script awstats_buildstaticpages.pl que generará archivos html estáticos que luego podrá servir con Nginx. Con un trabajo cron actualizo los archivos html regularmente.
/usr/share/doc/awstats/examples/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl
/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=domain.com -dir=/path/to/save/html/files awstatsprog=/usr/lib/cgi-bin/awstats.pl
(Dependiendo de su sistema operativo, las rutas pueden diferir un poco, pero podrá encontrar los scripts)
Para evitar la pérdida de datos durante la rotación del registro, puede agregar esta línea a su archivo awstats.domain.com.conf:
LogFile="/usr/share/awstats/tools/logresolvemerge.pl /path/to/log/access.domain.tld.log /path/to/log/access.domain.tld.log.1 |"
El script fusionará los últimos 2 registros cada vez que obtenga el registro para actualizar sus datos. O bien, puede agregar un gancho previo a la rotación en Nginx como lo hacen aquí: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/