Eu tive que usar o awstats com o Nginx esta semana e você não precisa usar o cgi-bin necessariamente. O Awstats vem com o script awstats_buildstaticpages.pl que irá gerar arquivos html estáticos que você poderá servir com o Nginx. Com um trabalho cron, atualizo os arquivos 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
(Dependendo do sistema operacional, os caminhos podem variar um pouco, mas você poderá encontrar os scripts)
Para evitar a perda de dados durante a rotação do log, você pode adicionar esta linha ao seu arquivo 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 |"
O script mesclará os 2 últimos logs sempre que você buscar o log para atualizar seus dados. Ou você pode adicionar um gancho de pré-gravação no Nginx, como eles fazem aqui: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/