Я должен был использовать awstats с Nginx на этой неделе, и вам не обязательно использовать cgi-bin. Awstats поставляется со скриптом awstats_buildstaticpages.pl, который генерирует статические html-файлы, которые затем можно использовать в Nginx. При работе cron я регулярно обновляю html-файлы.
/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
(В зависимости от вашей ОС пути могут немного отличаться, но вы сможете найти сценарии)
Чтобы предотвратить потерю данных при ротации журнала, вы можете добавить эту строку в ваш файл 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 |"
Сценарий объединит последние 2 журнала, когда вы извлекаете журнал для обновления ваших данных. Или вы можете добавить ловушку pre-logrotate на Nginx, как они делают здесь: http://www.bytetouch.com/blog/system-administration/how-to-awstats-installation-and-configuration-on-debian/