You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统Nginx环境安装AWStats遇404错误求助

排查AWStats + Nginx 404错误的实用步骤

嘿,我之前在Ubuntu+Nginx环境搭AWStats也碰到过一模一样的404问题,给你梳理几个必查的点,大概率能解决:

1. 先确认文件路径是否匹配

你配置里写的root /home/myname/stats.mydomain.com/public;,先去这个目录看看有没有AWStats的相关文件——通常AWStats默认安装在/usr/lib/cgi-bin/awstats/或者/var/www/cgi-bin/,如果你的public目录是空的,那肯定会404。要么把root改成AWStats的实际安装路径,要么把AWStats的文件软链到这个public目录里。

2. 必须配置CGI处理(核心!)

AWStats是Perl CGI脚本,Nginx本身不处理CGI,得配合fcgiwrap来运行。如果教程里提了这个但你没配置好,这是最常见的原因:

  • 先装fcgiwrap:sudo apt install fcgiwrap
  • 然后在你的server块里添加这段location配置(根据你的AWStats路径调整):
location ~ ^/awstats/ {
    root /usr/lib/cgi-bin;
    fastcgi_pass unix:/var/run/fcgiwrap.socket;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

要是你的AWStats脚本在/var/www/cgi-bin/,就把root改成这个路径。

3. 检查AWStats站点配置文件是否存在

每个域名的AWStats配置文件一般在/etc/awstats/下,比如awstats.stats.mydomain.com.conf。用命令确认一下:ls /etc/awstats/,如果没有这个文件,赶紧运行生成脚本:

sudo awstats_configure.pl

跟着向导走,记得指定你Nginx站点的访问日志路径(比如/var/log/nginx/mydomain.com.access.log)。

4. 手动测试AWStats脚本能不能跑

先在服务器本地运行脚本,排除脚本本身的问题:

sudo perl /usr/lib/cgi-bin/awstats/awstats.pl -config=stats.mydomain.com -update

如果运行成功,会提示更新统计数据;要是报错,比如权限不够或者配置错了,先把这些问题解决了再看Nginx的配置。

5. 验证Nginx配置并重启

改完配置一定要先检查语法:

sudo nginx -t

看到test is successful再重启Nginx:

sudo systemctl restart nginx

6. 看错误日志找具体原因

你配置里的error_log /var/log/nginx/stats.mydomain.com.error.log;,直接看这个日志,里面会写清楚404的具体原因——是文件找不到,还是权限不足,还是CGI处理失败:

tail -f /var/log/nginx/stats.mydomain.com.error.log

先把这些步骤过一遍,尤其是CGI配置和路径匹配的问题,这俩是最容易踩的坑。要是还不行,把你完整的subdomain.conf内容和错误日志里的具体报错贴出来,我再帮你细化排查。

内容的提问来源于stack exchange,提问作者JSCRB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:05:08