by Devin Yang

建立于: 1年前 ( 更新: 1年前 )

在开始前我先说一下,GoAcess也能产出静态数据只要您有log,
因为我觉的即时感觉比较炫,所以本文将专注在GoAccess即时显示的部分进行介绍。

虽然Google Analytics(GA)很好用,但试试另一种GA感觉也很不错,
例如您想了解网站使用者用什么浏览器访网站。

我在好几年前自己的笔记有写过GoAceee这款工具了,但真的太久,久到自己都忘了有这东西。
下方是早期的旧画面,来回忆一下,本篇我就来Update一下我的最新做法。


开始前,先Show一下新的UI吧,图中绿色的登号代表了WebSocket是有正确连线的,所以当使用者开启了网站即时响应在画面上。


本文我会采phpenv的环境进行说明,因为简单好设置,但基本上phpenv就是包著docker的bash,不是包著羊度的狼哦。🤪
所以phpenv能跑,您的Docker环境设置好应该也不成问题。
如果您想搜寻phpenv可下关键字deviny/phpenv,就能找到罗。

那就直接开始吧,非常简单。😎

第一步: 在phpenv中,我们可以用如下的命令导出nginx的log,可透过Ctrl+c停止

./console logs --no-log-prefix -f web|tee nginx.log

如果您不是用phpenv可将./console换成docker-compsoe试您的运气,您的容器服务名称可能不叫web,请自行调整。

第二步: 开启另一个终端机,进行简易验证,第一步的命令中,会生成nginx.log在phpenv目录中了。
我们可以下tail -f nginx.log命令,再开网页,看看log会不会跑,如果会动您差不多成功了。

始用Ctrl+c中断。

第三步:  查看环境设置档,phpenv提供简易的./info命令,可以让我们查看容器的项目的环境设置
留意HTTP_PORT及FOLDER这两个设置,跟本次操作有关。

第四步: 设置您的项目路径,安全考量,您可以用phpenv启动另一台不公开的WEB,或者把report.html名称改复杂的名称(下方命令中)。
在这里,我直接用目前ccc项目开启测试,ccc项目内网使用的port 1056,Laravel项目数据夹是/volume1/docker/ccc。
所以,GoAccess命令如下,请自行揣摩:

tail -f nginx.log|
docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html

在上方两行命令,全部拷贝粘贴终端机,他会将nginx.log的标准输出丢给goaccess的官方容器处理。
您需留意,换掉我后方的Proejct目录/volume1/docker/ccc/public/report.html
这个容器默认会开启port 7890的WebSocket用来传输数据。
上方的命令启动前,您也可以先清一下nginx.log,因为不正确的log档会启动失败。

$ >nginx.log

下图是我启动的结果:

我的主机内网IP是192.168.99.130,所以我就能开启下方网址,看即时解析罗。

http://192.168.99.130:1056/report.html

你如果想改WSS的port,例如换成7800,请冒号两边一起换,并加上--port 7800参数,命令如下:

tail -f nginx.log|
> docker run -p 7800:7800 --rm -i -e LANG=$LANG allinurl/goaccess --port 7800 -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html
 [SETTING UP STORAGE -] {0} @ {0/s}

如果您想深入专研,可以用Docker命令行出帮助说明哦

docker run --rm allinurl/goaccess --help

实际操作画面如下载图

以上就是轻松快速运行GoAcess的操作啦。

在bash的环境下,我们可以透过nohup及&把这两个命令放到背景运行。

nohup ./console logs --no-log-prefix -f web|tee nginx.log &
nohup tail -f nginx.log|
docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html &


最后附上官方下载网址:

https://goaccess.io/download

 

Tags: docker goaccess config

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


docker,laravel

[D-Laravel]./console node

进行Laravel开发时,有时我们会需要透过npm安装nodejs的包,但是偏偏我们系统中的Node又不够新。 或许因某些因素没法升级,例如要跑旧版的nodejs进程等。 其实我们可以透过简单的命令,用docker,让我们就能使用最新版本的node image来挂载host端的/sites数据夹罗。 这么一来我们就可以随时运行新版本的npm命令啦。

docker,dlaravel

D-Laravel 1.5.5变更说明

D-Laravel的fpm image在php 7.2.1以前是使用docker php官方的dockerfile重build的, 并且所以我可以指定了fpm的默认的owner是dlaravel, --with-fpm-user=USER Set the user for php-fpm to run as. (default: nobody) --with-fpm-group=GRP Set the group for php-fpm to run as.

openai,flax,docker

用容器跑OpenAI官方教程的Python(Flax)

如果您登录了openai的网站,可在此处看到官方的教程说明https://beta.openai.com/docs/quickstart/build-your-applicationAPI的KEY的申请,就在这页的下方就有按钮了+ Create new secret key本篇教您用Docker跑官方OpenAI运行环境。