Golang Go语言中有没有类似 PM2 那样的管理工具?
Golang Go语言中有没有类似 PM2 那样的管理工具?
没什么要求,有日志、进程自启保活之类。要是有面板的话那就更好了
k8s
systemd…?
这不就是 supervisord 嘛: https://github.com/ochinchina/supervisord
直接用 pm2 不好吗
直接用 docker 不就行了嘛
pm2 有一个 fork 模式,可以满足你的需求。
你说的不就是 supervisord,带面板
k8s( Bingbushi
直接用 pm2 不好吗
go 也可以用 pm2 呀
centos7 的话可以用 systemctl
pm2 就行
编译好 pm2 start main
想当初我也问过类似的问题
然后发现 go 是直接可以用 PM2,后来又尝试了 systemd 和 supervisord
最终还是选择了 docker
pm2 不就是提供了个 UI 么…
#17 对啊,,要的就是他的简介而已,而且还有 https://app.pm2.io/ 不登录服务器就能直接看到系统信息,app 占用详情和日志,很方便呀
试了一圈,目前比较好的方案就 pm2,systemd 。
supervisord 主要问题是不能直接从配置文件加载 server,添加了个新配置文件后需要 update 。
go + docker
当然能呀
但是不能像你在 19L 说的那样不登录服务器就能看到日志信息啥的,得自己实现吧
pm2 目测就是 process manager 的缩写,官网上也说它就是个进程管理器,虽然通常都是在 Node 技术栈上用。
容器化+K8s 是发展趋势,可以了解一下。
单节点就用 docker run 的 always 参数,多节点就用 k8s 的 deployment kind 吧
在Go语言(Golang)生态系统中,确实存在类似PM2这样的进程管理工具,以下是一些推荐的管理工具:
- Supervisor:一个基于Python的进程管理工具,支持多种语言,包括Golang。它可以监控、启动、停止和重启多个进程,并提供进程状态监控和日志记录等功能。
- Monit:一个轻量级的进程监控工具,同样支持Golang。Monit可以监控多个进程的运行状态,当进程异常时可以自动重启,并提供进程状态监控、日志记录和报警等功能。
- god:一个基于Golang开发的进程管理工具,专注于启动和监控多个Golang进程。它提供了进程状态监控、日志记录、自动重启和平滑重启等功能。
- pmon2:专为Go语言设计的进程管理工具,由init系统管理,确保进程的稳定运行。它支持进程自动重启、自定义日志路径、进程启动用户设置等功能,具有灵活的配置选项和简洁的命令行接口。
这些工具都具有各自的特点和功能,开发者可以根据具体需求选择适合的工具进行多进程管理。pmon2作为专为Go语言设计的工具,可能更符合Go语言开发者的使用习惯和需求。