今天给各位带来Centos 8系统下安装goaccess软件的完整教程,goaccess软件可以分析网站日志,并可以生成html文件,在网页上查看网站日志中的各种访客类型,每日访问等数据。值得注意的是,本教程适用于所有Linux系统(只有goaccess依赖软件的安装区别),不过我用的是Centos Stream 8系统。理论上,根据本站教程,可以在Centos 7 Centos 8等系统完成goaccess软件的安装。
我已经很长时间没用过站长统计了:
一来,确实有那么一丢丢影响网站速度,虽然影响很小;
二来,几乎每个站长统计都无法避免刷站长广告的情况;
三来,站长统计也不见得准确
最终我在纠结使用Wordpress统计插件还是直接分析网站日志,确定使用了分析日志的访问,而使用的软件就是部署在Linux平台上的goaccess软件
软件安装
首先,需要安装goaccess软件,所需要的各种依赖包,否则make编译会出现各种失败的情况:
#centos 7 yum install glib2 glib2-devel ncurses ncurses-devel GeoIP GeoIP-devel #centos 8 && Centos Stream 8 dnf install glib2 glib2-devel ncurses ncurses-devel GeoIP GeoIP-devel
当然,其他系统也可以使用自己的源安装去安装这些依赖包,比如Debian的apt-get install命令等等。
接着,通过如下命令,即可完成goaccess软件的安装
wget https://tar.goaccess.io/goaccess-1.4.5.tar.gz tar -xzvf goaccess-1.4.5.tar.gz cd goaccess-1.4.5/ ./configure --enable-utf8 --enable-geoip=legacy make make install
当然,你可能还需要安装wget,不过相信大部分人都安装过了,这里就不给出安装方法了。wget用于下载软件,例如下载github等资源库的软件。
到此,就安装完成了。下面,说一下简单的用法吧:
软件使用
可以输入如下命令,在ssh终端里以简单的图文形式显示日志分析结果:
goaccess /data/wwwlog/iymark.com/ssl_access.log
需要注意替换log文件为你的网站日志路径及文件名,比如nginx可能是:
goaccess /usr/local/nginx/logs/access.log
然后在界面内摁下空格,选中NCSA Combined Log Format,再摁下回车,即可查看日志分析结果。
此外,你还可以通过如下命令,来生成html页面:
goaccess /data/wwwlog/iymark.com/ssl_access.log -o /data/www/iymark.com/report.html
正常的输出过程如下:
[root@iZwz98biiph4vhee88vxj8Z ~]# goaccess /data/wwwlog/iymark.com/ssl_access.log -o /data/www/iymark.com/report.html [PARSING /data/wwwlog/iymark.com/ssl_access.log] {1,022} @ {0/s}
然后就可以在浏览器上访问这个html页面,查看日志分析结果了。
注意替换日志文件位置,及html页面生成位置。如果报错,你可能需要修改/usr/local/etc/goaccess/goaccess.conf文件,如果你的goaccess.conf文件找不到,可以使用如下命令,来查找goaccess.conf文件的具体位置:
find / -name goaccess.conf
编辑该文件,找到log-format、date-format、time-format三个选项,去设置下他们的格式,我的设置结果如下:
time-format %H:%M:%S date-format %d/%b/%Y log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
里面还有更多详细的设置内容,通过简单的几条配置文件,可以再搭配一个脚本,实现日志的实时转换html文件,不过需要服务器支持websocket,我这里就操作不了了(apache服务器,各种尝试,都办不到)。
需要注意的是,服务器不同,可能日志格式有所区别,所以log-format具体怎么写,要看自己的日志文件具体什么样子,不懂可以问我哦。
以下付费内容,推荐各位购买哦:
[vk-content]
在这里给大家列出,我编辑过的goaccess.conf里的几个内容吧:
time-format %H:%M:%S date-format %d/%b/%Y log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" html-prefs {"theme":"bright","perPage":7,"layout":"vertical","showTables":true,"visitors":{"plot":{"chartType":"bar"}}} log-file /data/wwwlog/iymark.com/ssl_access.log exclude-ip 你服务器的ip output /data/www/stat.iymark.com/index.html hide-referer iymark.com
其他的各项配置,如果不懂,可以随时跟我讨论,可以下方评论,也可以在本站论坛交流处提问题。
最后,再说下如何生成中文html页面:
#!/bin/bash LANG="zh_CN.UTF-8" goaccess -p /usr/local/etc/goaccess/goaccess.conf
将以上文件保存为goaccess.sh,放于opt/shell目录,ssh终端执行如下命令,即可直接生成html页面,前提是你配置好了goaccess.conf文件!
sh /opt/shell/goaccess.sh
当然,聪明的你,肯定想到可以定期执行该脚本,实现html自动实时生成的效果。
[/vk-content]
原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/1573.html
评论列表(2条)
在第二点那,站长统计工具会刷广告是指站长工具不老实吗?
@太耀:哈哈,站长工具不会不老实。
是有人采集网站,收集统计代码,比如收集了几百万个网站的统计代码,他们把代码放到某个页面。访问页面,就可以在这几百万个站长的站长统计里显示他们的来源。
站长出于好奇,可能会访问,他们就有流量。
慢慢的,就有人找他们在站长统计后台打广告,他们就可以赚钱了。