当前位置:论坛首页 > Linux面板 > 版本发布

堡塔插件:堡塔应用管理器 使用说明

发表在 Linux面板2020-8-20 11:43   [复制链接] 95 64877

本帖最后由 Linxiao 于 2021-6-2 14:33 编辑

Hello,大家好!全新插件【堡塔应用管理器】正式上线。

一、简介:
堡塔应用管理器 定位是为自定义持久化运行应用(服务)提供一个集启动环境参数配置、应用运行状态可视化和进程守护、日志管理为一身的管理工具。简单来说,如果一个应用需要持久化运行,我们希望提供一个全方位的监控运行管理工具。

二、简易使用流程图:
堡塔应用管理器使用流程非常简单,添加一个应用>选择环境>必要的参数配置>然后启动就好了。
流程.png

三、开发背景:
作为应用服务器的管理者,我们经常需要在服务器上开启或停止某项服务。站在使用者角度这类服务我们把它分为两类:一类是系统级,他们属于现有的成熟产品服务,譬如Linux系统的日志进程syslogd、Web服务器进程httpd、邮件服务器的sendmail以及Mysql数据库服务器进程mysqld等;另一类是我们自己或公司开发的某个需要持久化运行的服务,有可能是Python写的某个管理系统,或者PHP搭建的某个企业站服务等等。两者不同之处是,第一类服务进程会有比较完善的运行监控、日志处理、环境参数配置等工具。而我们自己开发的第二类服务常常需要手动在命令行去敲入长长的命令行、配置不同的参数等等繁琐的操作,动手能力强的用户可能会选择写一个启动脚本的东西,避免下次重复操作。这虽然能解决一些问题,但我们要解决的可不仅仅只是帮你写一个启动脚本而已。

四、优势:
用堡塔应用管理器管理应用,有几点显而易见的优势:
24 hours.png
1. 保证应用持续运行。
堡塔应用管理器保证应用持续运行分为三个步骤:其一,单独运行后台监听进程对正在运行的应用做监听,发现
应用异常退出立刻重新启动(默认限制重复启动10次);其二,应用管理器默认随开机启动,启动后自动将在关机前正常运行的应用重新开启;其三,针对堡塔现有安全插件防护机制做特别处理,保证不会被安全防护意外杀掉。

全局配置.png
2.
独立环境运行、集中化配置和管理。堡塔应用管理器为运行主流开发语言(Python、PHP、Java、Go、Ruby、NodeJS等)应用而设计,每一种环境配置的应用都基于进程独立运行。你可以为应用选择相同语言的不同版本配置不同的默认参数和环境变量,实现可视化集中化管理。为了方便用户使用,堡塔应用管理器默认识别服务器内主流开发语言的开发环境(目前支持Python和PHP,后续持续更新),你也可以自定义添加已安装的运行环境。

监控源状态.png
3. 主动监听应用运行状态。
堡塔应用管理器会主动不间断地收集应用的基础信息、负载信息帮你随时掌握应用的运行状态和变化。

日志.png
4. 分类日志输出管理。
堡塔应用管理器为每一个应用单独分配日志输出文件,并详细记录每个应用的启动、停止等操作与时间。


五、使用说明步骤:
为了让说明不显得枯燥和更加有针对性,使用说明结合一个实际的添加Python应用的例子作为参考。在使用的过程中逐一对堡塔应用管理器做详细说明。

0. 准备应用文件。

示例的Python应用文件清单如下(实际当中替换成自己的应用文件):
文件名称
说明(支持python2和3)
fakeserver.py
应用的启动文件,需要持久运行监听6666端口,等待客户端连接。
client.py
客户端程序,用于连接到fakeserver,并与之交互。
如需用文件做测试,请到附件下载。
本示例中把fakeserver.py和client.py用堡塔面板上传到了/www/server/panel/script目录下。

1. 打开堡塔应用管理器主界面。
主界面.png

2. 点击[添加应用]。

将应用命名为fakeserver,选择一个Python执行环境,这里是[BTPython3.7.8]。
启动文件选择/www/server/panel/script/fakeserver.py,然后点击[添加]保存应用,第一个应用就添加完成了。
添加fakeserver.png

3. 启动应用。

默认新添加的应用是已暂停状态,点击后启动应用。
启动应用.png

应用启动后,我们能看到fakeserver的进程ID、监听端口号、CPU占用百分比、内存占用大小等信息。
应用运行信息.png

4. 模拟客户端连接。

打开SSH终端,cd到/www/server/panel/script/目录,命令行键入btpython client.py。这个时候命令行会等待你的输入,与fakeserver进行交互(注意:这是示例应用的机制,无需管太多)。
hifakeserver.png
当我们输入hi, fakeserver!之后,fakesever也同样返回了相同的内容。fakeserver作为测试应用,它只是简单把客户端发送过来的内容返回给客户端。当我们看到相同的内容返回代表fakeserver运行正常。你可以再输入多一点内容,方便下一步测试。输入exit或者按Ctrl+C是退出client.py。

5. 查看应用日志。

在[应用列表]页的fakserver行,点击[日志],打开fakeserver的运行日志。
应用日志.png
在日志页面,我们可以看到我们输入的"hi,fakeserver!"的输出记录。

6. 应用进程守护测试。
需要长时间运行的应用我们可能会担心要是应用中断后怎么办?人为的守着?写个脚本监听?不不不,现在有了堡塔应用管理器,都是自动监听并重新启动的。
为了模拟应用中断运行,我们手动把fakeserver的进程终止掉。首先从fakeserver的运行信息可以看到运行进程的ID为9028,在命令行中输入 kill -9 9028 终止掉fakeserver进程,然后
运行lsof -i:6666 检查是否还有进程监听着6666端口,没有的话说明fakeserver此时已经被中断了(fakeserver监听的是6666端口)。
终止应用.png
fakeserver被我们中断之后,再去查看堡塔应用管理器的[服务日志]。如果没有及时显示,请稍等片刻。然后我们可以看到日志中出现fakeserver被异常中断的提示,并随后提示fakeserver被重新启动,更换了新的进程ID。
异常中断.png

新的进程ID为9552,再切换到[应用列表]查看验证。
重启后的应用信息.png

是9552没错,你也可以再次运行 lsof -i:6666 验证一下。




到这里堡塔应用管理器的初步使用说明就这样了,你可以参考上面的流程添加自己的应用进行测试。

六、关于复杂应用的配置
涉及到应用参数和环境变量配置的应用请仔细阅读插件的提示,确定你已经明确了每一个参数的配置和预想一致。
这里主要提一点,环境的参数分为环境参数和应用参数,它们的不同之处在于环境参数是只对环境本身运行有效,应用参数会附加到应用启动文件的后面。
以Go语言应用helloworld启动为例:

/usr/bin/go                    run                    helloworld.go                   param1           param2 ....
--------------                    ----                    ------------------                   ---------------------------------------
环境启动文件           环境参数                  应用文件                               应用参数

堡塔应用管理器配置示例:
go示例.png
当然,应用参数也是可以在应用的配置里面添加的。假设还有一个应用参数为param3,那么helloworld这个应用的最后参数有三个param1 param2 param3。
go应用.png

堡塔应用管理器-应用持久化运行和管理工具,欢迎下载安装使用。


有任何问题请反馈到这里,Thanks♪(・ω・)ノ

fakeserver.zip

2.03 KB, 下载次数: 4712

示例文件

使用道具 举报 只看该作者 回复
发表于 2020-10-17 17:51:03 | 显示全部楼层
建议增加指定用户运行的功能。
使用道具 举报 回复 支持 3 反对 0
发表于 2020-9-17 16:47:49 | 显示全部楼层
本帖最后由 Linxiao 于 2020-9-22 09:13 编辑
宝塔用户_fvqpiw 发表于 2020-9-17 15:52
请问  Supervisor管理器 和 堡塔应用管理器 如何选择呢

和 Supervisor管理器 对比起来,堡塔应用管理器 注重应用管理这个概念而不是进程管理,应用相比进程包括的信息更多、更全面。堡塔应用管理器 在保证应用不中断运行方面做的更加深入一些、运行状态信息呈现更加丰富、利用环境池来简化应用环境配置等等。总体来说 堡塔应用管理器 是堡塔现有用户在需要持久运行应用和管理的需求上专门定制的一个管理工具插件,它的运行机制不借助、不妥协第三方开源组件,应对未来的需求变化也灵活。
如果你服务器上的应用需要一直运行下去,推荐你选择用 堡塔应用管理器 来管理。
使用道具 举报 回复 支持 2 反对 0
发表于 2020-10-16 20:18:41 | 显示全部楼层
ubuntu 重启的话,之前配置的都不在了,有谁遇到过这个问题?
使用道具 举报 回复 支持 1 反对 0
发表于 2020-9-14 21:28:53 | 显示全部楼层
挺好用的,支持
使用道具 举报 回复 支持 1 反对 0
发表于 2020-8-20 12:07:32 | 显示全部楼层
支持支持!
使用道具 举报 回复
发表于 2020-8-20 12:53:07 | 显示全部楼层
不错不错
使用道具 举报 回复
发表于 2020-8-20 14:40:13 | 显示全部楼层
支持下,很不错的软件
使用道具 举报 回复 支持 反对
发表于 2020-9-17 15:52:41 | 显示全部楼层
请问  Supervisor管理器 和 堡塔应用管理器 如何选择呢
使用道具 举报 回复 支持 反对
发表于 2020-9-17 16:51:51 | 显示全部楼层
Linxiao 发表于 2020-9-17 16:47
和 Supervisor管理器 对比起来,堡塔应用管理器 注重应用管理这个概念而不是进程管理,应用相比进程包括 ...

感谢~ 希望这个回答可以置顶
使用道具 举报 回复 支持 反对
发表于 2020-9-28 14:58:52 | 显示全部楼层
使用时报错:
AttributeError: 'NoneType' object has no attribute 'has_section'
环境为最新测试版
使用道具 举报 回复 支持 反对
发表于 2020-9-29 10:06:31 | 显示全部楼层
宝塔用户_hsnzpv 发表于 2020-9-28 14:58
使用时报错:
AttributeError: 'NoneType' object has no attribute 'has_section'
环境为最新测试版 ...

你好,首先升级到新版,如果新版仍然有问题尽快QQ联系我帮你处理。
使用道具 举报 回复 支持 反对
发表于 2020-10-15 17:47:10 | 显示全部楼层
python项目的日志不支持中文,如图:
微信截图_20201015174603.png

我自己生成的日志文件是没问题的。
使用道具 举报 回复 支持 反对
发表于 2020-10-16 09:16:09 | 显示全部楼层
与非 发表于 2020-10-15 17:47
python项目的日志不支持中文,如图:

感谢反馈
使用道具 举报 回复 支持 反对
发表于 2020-10-16 20:46:08 | 显示全部楼层
我全局设置了 日志文件大小50KB切分 可是并不生效 怎么回事呢
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表