AWStats配置教程:Nginx 与 Apache 环境下的详细步骤 (完整指南)

AWStats 是一款常见的网站日志分析工具,可以解析服务器日志并生成可视化报表。由于 Nginx 和 Apache 在日志格式和 Web 服务配置上有所差异,所以在部署 AWStats 时步骤也不同。下面分别介绍 NginxApache 的配置方法。

一、Nginx 下配置 AWStats

1. 安装 AWStats

Ubuntu/Debian:

sudo apt update
sudo apt install awstats

CentOS/RHEL:

sudo yum install awstats

2. 配置 Nginx 日志格式

AWStats 默认支持 Apache 格式的日志,因此需要在 Nginx 中定义兼容格式。
编辑 /etc/nginx/nginx.conf 或站点配置文件:

log_format awstats '$remote_addr - $remote_user [$time_local] '
                   '"$request" $status $body_bytes_sent '
                   '"$http_referer" "$http_user_agent"';
access_log /var/log/nginx/access.log awstats;

重启 Nginx:

sudo systemctl restart nginx

3. 创建 AWStats 配置文件

复制模板:

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.mysite.conf

编辑文件:

LogFile="/var/log/nginx/access.log"
LogFormat=1
SiteDomain="www.example.com"
HostAliases="127.0.0.1 localhost www.example.com"
DirData="/var/lib/awstats"

4. 更新日志数据

运行:

sudo /usr/lib/cgi-bin/awstats.pl -config=mysite -update

5. 配置 Web 界面

Nginx 自身不支持 CGI,需要借助 Apache 或 fcgiwrap。推荐使用 fcgiwrap + spawn-fcgi

安装:

sudo apt install fcgiwrap spawn-fcgi

创建配置(例如 /etc/nginx/conf.d/awstats.conf):

server {
    listen 8080;
    server_name localhost;

    location /awstatsclasses {
        alias /usr/share/awstats/lib/;
    }
    location /awstats-icon {
        alias /usr/share/awstats/icon/;
    }
    location /cgi-bin/awstats.pl {
        fastcgi_pass unix:/var/run/fcgiwrap.socket;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/awstats.pl;
    }
}

重启 Nginx:

sudo systemctl restart nginx

访问:

http://yourdomain:8080/cgi-bin/awstats.pl?config=mysite

即可看到 AWStats 报表。

二、Apache 下配置 AWStats

1. 安装 AWStats

sudo apt update
sudo apt install awstats

2. 确认 Apache 日志格式

Apache 默认日志格式通常兼容 AWStats,无需额外修改。一般路径:

/var/log/apache2/access.log

3. 创建配置文件

复制模板:

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.mysite.conf

编辑配置:

LogFile="/var/log/apache2/access.log"
LogFormat=1
SiteDomain="www.example.com"
HostAliases="127.0.0.1 localhost www.example.com"
DirData="/var/lib/awstats"

4. 更新日志数据

运行:

sudo /usr/lib/cgi-bin/awstats.pl -config=mysite -update

5. 配置 Web 界面

Apache 原生支持 CGI,直接启用模块并配置即可。

启用 CGI:

sudo a2enmod cgi
sudo systemctl restart apache2

在 Apache 配置文件(如 /etc/apache2/sites-available/000-default.conf)中添加:

Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon "/usr/share/awstats/icon/"
ScriptAlias /awstats/ "/usr/lib/cgi-bin/"

<Directory "/usr/lib/cgi-bin/">
    Options +ExecCGI
    AddHandler cgi-script .pl
</Directory>

保存并重启 Apache:

sudo systemctl restart apache2

浏览器访问:

http://yourdomain/awstats/awstats.pl?config=mysite

即可查看统计报表。

三、Nginx 与 Apache 配置对比

项目Nginx 配置Apache 配置
日志格式需要自定义 log_format默认兼容 Common/Combined
CGI 支持方式需借助 fcgiwrap 或 Apache 反代原生支持 CGI
配置复杂度较高,需要额外服务支持相对简单,直接配置即可
推荐场景高性能站点,配合 fcgiwrap 使用常见中小型站点,部署方便

 

THE END