Golang Go语言中有没有类似 PM2 那样的管理工具?

发布于 1周前 作者 sinazl 来自 Go语言

Golang Go语言中有没有类似 PM2 那样的管理工具?

没什么要求,有日志、进程自启保活之类。要是有面板的话那就更好了

25 回复

docker (

更多关于Golang Go语言中有没有类似 PM2 那样的管理工具?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


直接用 pm2 不好吗

直接用 docker 不就行了嘛

pm2 有一个 fork 模式,可以满足你的需求。

你说的不就是 supervisord,带面板

直接用 pm2 不好吗

go 也可以用 pm2 呀

centos7 的话可以用 systemctl

编译好 pm2 start main

想当初我也问过类似的问题
然后发现 go 是直接可以用 PM2,后来又尝试了 systemd 和 supervisord
最终还是选择了 docker

pm2 不就是提供了个 UI 么…

#16

docker 还没仔细接触过,问下它能不能看到所有 start 的 app 的资源占用啊,日志啊之类的啊?

#17 对啊,,要的就是他的简介而已,而且还有 https://app.pm2.io/ 不登录服务器就能直接看到系统信息,app 占用详情和日志,很方便呀

试了一圈,目前比较好的方案就 pm2,systemd 。

supervisord 主要问题是不能直接从配置文件加载 server,添加了个新配置文件后需要 update 。

当然能呀

但是不能像你在 19L 说的那样不登录服务器就能看到日志信息啥的,得自己实现吧

pm2 目测就是 process manager 的缩写,官网上也说它就是个进程管理器,虽然通常都是在 Node 技术栈上用。

容器化+K8s 是发展趋势,可以了解一下。

单节点就用 docker run 的 always 参数,多节点就用 k8s 的 deployment kind 吧

在Go语言(Golang)生态系统中,确实存在类似PM2这样的进程管理工具,以下是一些推荐的管理工具:

  1. Supervisor:一个基于Python的进程管理工具,支持多种语言,包括Golang。它可以监控、启动、停止和重启多个进程,并提供进程状态监控和日志记录等功能。
  2. Monit:一个轻量级的进程监控工具,同样支持Golang。Monit可以监控多个进程的运行状态,当进程异常时可以自动重启,并提供进程状态监控、日志记录和报警等功能。
  3. god:一个基于Golang开发的进程管理工具,专注于启动和监控多个Golang进程。它提供了进程状态监控、日志记录、自动重启和平滑重启等功能。
  4. pmon2:专为Go语言设计的进程管理工具,由init系统管理,确保进程的稳定运行。它支持进程自动重启、自定义日志路径、进程启动用户设置等功能,具有灵活的配置选项和简洁的命令行接口。

这些工具都具有各自的特点和功能,开发者可以根据具体需求选择适合的工具进行多进程管理。pmon2作为专为Go语言设计的工具,可能更符合Go语言开发者的使用习惯和需求。

回到顶部