常用命令

    或者:

    1. bin/edge-node -v

    如果使用的是GoEdge远程安装的节点,安装目录在 /$ssh用户名/edge-node/edge-node,请将其中的$ssh用户名换成你实际使用的用户名,比如root

    1. edge-node -h

    打印版本信息

    1. edge-node -v

    启动服务

    启动服务并在后台运行:

    1. edge-node start

    如果要在前端启动服务,并阻塞当前进程,可以使用:

    1. edge-node

    测试服务

    可以用下面命令检查服务是否可以正常工作:

    1. edge-node test
    1. edge-node stop

    对于集群中开启了systemd服务的(默认是开启状态),可以使用以下命令停止节点:

    1. systemctl stop edge-node

    优雅退出

    1. edge-node quit

    重启服务

    1. edge-node restart

    查看服务状态

    在v0.4.5中加入。

    1. edge-node reload

    安装systemd系统服务

    使用守护进程启动服务

    自动安装的edge-node会自动启动一个守护进程,手动启动的时候也可以通过 daemon 参数来启动守护进程。当守护进程在运行时,edge-node 进程在遇到故障意外退出时,守护进程可以立即启动一个新的 edge-node 进程,保障服务不会长时间宕机。

    1. edge-node daemon

    调试

    从v0.2.0开始,可以使用以下命令开启pprof模式,用来监控节点运行性能信息:

    1. edge-node pprof

    默认pprof地址为:6060

    启动后可以在浏览器上访问这个地址,比如 http://127.0.0.1:6060/debug/pprof/ ,或者使用go tool pprof命令来查看,比如查看所有alloc的heap信息:

    1. go tool pprof -alloc_space "http://127.0.0.1:6060/debug/pprof/heap"

    查看正在使用的内存空间:

    1. go tool pprof -inuse_space "http://127.0.0.1:6060/debug/pprof/heap"

    查看CPU调用信息:

    1. go tool pprof "http://127.0.0.1:6060/debug/pprof/profile"

    查看当前正在运行的goroutine:

    1. go tool pprof "http://localhost:6060/debug/pprof/goroutine"

    还有更多的示例可以参考 。

    打印正在运行的任务

    1. edge-node trackers
    1. edge-node goman

    打印连接数

    1. edge-node gc

    目前支持的本地防火墙:

    • Firewalld,v0.4.0加入

    在本地防火墙中丢弃数据包

    从v0.4.0开始。

    1. # 丢弃来自 192.168.1.100 的数据包
    2. edge-node ip.drop 192.168.1.100
    3. # 丢弃来自 192.168.1.100 的数据包,有效期 30 秒

    从v0.4.0开始。

    1. # 拒绝来自 192.168.1.100 的连接
    2. edge-node ip.reject 192.168.1.100
    3. # 拒绝来自 192.168.1.100 的连接,有效期 30 秒
    4. edge-node ip.reject 192.168.1.100 --timeout=30

    在本地防火墙中删除已有的IP

    从v0.4.0开始。

    1. # 删除我们使用 ip.drop 和 ip.reject 添加的IP
    2. edge-node ip.remove 192.168.1.100

    本地查询访问日志

    从v0.4.8开始,可以在本地使用命令查询访问日志(前提是网站服务中已经启用了访问日志)。

    1. edge-node accesslog

    如果有访问时会出现类似以下输出:

    1. 1.2.3.4 [15/Jun/2022:11:16:07 +0800] "GET https://goedge.cn/docs/Node/Commands.md?v=3 HTTP/2.0" 200 - 0.54ms
    2. 1.2.3.4 [15/Jun/2022:11:16:07 +0800] "GET https://goedge.cn/js/vue.min.js?v=bYbtFn HTTP/2.0" 200 - 0.74ms
    3. 1.2.3.4 [15/Jun/2022:11:16:07 +0800] "GET https://goedge.cn/_/@default/@layout.css?v=bYbtE8 HTTP/2.0" 200 - 0.27ms
    4. 1.2.3.4 [15/Jun/2022:11:16:07 +0800] "GET https://goedge.cn/css/semantic.min.css?v=bYbtE8 HTTP/2.0" 200 - 0.48ms

    可以使用管道符(|)筛选日志:

    1. edge-node accesslog | grep "css"

    输出类似于:

    1. root@vm # bin/edge-node accesslog | grep "css"
    2. 1.2.3.4 [15/Jun/2022:11:18:41 +0800] "GET https://goedge.cn/_/@default/@layout.css.map HTTP/2.0" 200 - 0.93ms
    3. 1.2.3.4 [15/Jun/2022:11:18:41 +0800] "GET https://goedge.cn/_/@default/docs/index.css.map HTTP/2.0" 200 - 0.81ms
    1. edge-node accesslog > accesslog.log

    如果要在后台执行,在命令后面加入符号: