По чуть-чуть начали использовать nginx, поэтому стал вопрос со статистикой. Сделал вот так....
У меня каждый виртаульный хост описан в отдельном файле.
# cd /usr/ports/www/fcgiwrap/
# make install clean
В rc.conf.local, либо rc.conf:
fcgiwrap_enable="YES"
fcgiwrap_socket="tcp:127.0.0.1:8999"
fcgiwrap_user="www"
# /usr/local/etc/rc.d/fcgiwrap start
# sockstat | grep 8999
www fcgiwrap 1824 0 tcp4 127.0.0.1:8999 *:*
Через юниксовый сокет работать не захотело. Может быть Вам повёзёт, кто знает? :)
# cd /usr/ports/www/awstats/
# make install clean
В /usr/local/etc/nginx/includes положил файлик вот такого содержания
# less awstats.conf
location /awstats/ {
satisfy any;
allow ;
deny all;
auth_basic "Hello, please login";
auth_basic_user_file /usr/local/etc/nginx/passwds/awstats.passwds;
fastcgi_pass 127.0.0.1:8999;
fastcgi_index awstats.pl;
fastcgi_param SCRIPT_FILENAME /usr/local/www/awstats/cgi-bin/awstats.pl;
fastcgi_param SCRIPT_NAME awstats.pl;
fastcgi_connect_timeout 60;
include fastcgi_params;
}
location ^~ /awstatsclasess/ {
alias /usr/local/www/awstats/classes/;
}
location ^~ /awstatscss/ {
alias /usr/local/www/awstats/css/;
}
location ^~ /awstatsicons/ {
alias /usr/local/www/awstats/icons/;
}
Делаем include в нужный конфиг виртуального хоста.
include includes/awstats.conf;
# killall -HUP nginx
Конфиги ротируются через logrotate. Пример конфига:
/hosting/example.com/http_log/access.log {
daily
rotate 10
missingok
notifempty
compress
sharedscripts
prerotate
/usr/local/www/awstats/cgi-bin/awstats.pl -config=example.com -update
endscript
postrotate
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
endscript
}
/hosting/example.com/http_log/error.log {
daily
rotate 10
missingok
notifempty
compress
sharedscripts
postrotate
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
endscript
}
В браузере теперь
http://example.com/awstats/. И всё должно заработать.