【geohash源码】【discuz android 源码分析】【e语言网游源码】monit源码

时间:2024-11-27 00:38:37 编辑:杰奇2.3 源码 来源:源码设计

1.如何安装和设置Monit程序
2.linux下如何监听进程
3.从零搭建测试公众号,每天发送一句小情话(支持计算农历生日)
4.十个PM2中冷门但实用的功能

monit源码

如何安装和设置Monit程序

       ä¸€ã€ç®€ä»‹

       Monit是一个在类unix平台下用于监视进程、文件、目录和设备的软件,可以修复停止运作或运作异常的程序,适合处理那些由于多种原因导致的软件错误。

       äºŒã€å®‰è£…

       å‡å®šä¸‹é¢çš„安装和配置均在root身份下进行。

       å®‰è£…很简单,下载monit的源代码(现在最新版本是4..1)monit-4..1.tar.gz,将其放到适合的目录中,然后解压,configure(默认设置即可),make,make install 。具体在终端中使用如下命令:

       tar –xzf monit-4..1.tar.gz

       cd monit-4..1

       ./configure

       make

       make install

       å¾ˆå¿«å°±å¯ä»¥å®‰è£…完毕。

       ä¸‰ã€é…ç½®

       å®‰è£…完毕后,在monit源代码的目录将monit的配置文件monitrc拷贝到/etc目录下,使用命令:

       cp monitrc /etc

       æ³¨æ„/etc/monitrc这个文件的访问权限不能大于,所以可能还需要修改它的访问权限:

       chmod /etc/monitrc

       ç„¶åŽæ‰“å¼€/etc/monitrc这个文件进行配置,monit已经将大部分的配置的例子放在了里面,多数配置只需将配置前面的#(注释)去掉再做相应修改即可。我们主要用monit来监视tomcat服务器,所以配置如下:

       set daemon # 设置monit作为守护进程运行,并且每2分钟监视一次

       # 2分钟是默认的时间间隔,从网上的看到的多个配置的例子

       # 看到的时间间隔也是2分钟,应该是比较合理的

       set logfile /var/log/monit.log # 设置日志文件的位置,如果要写入系统日志可以

       # set logfile syslog

       set # 收邮件地址,如果要发送到多个地址

       # 可以写多条这样的设置

       # 下面设置监视tomcat

       check process tomcat with pidfile /var/run/catalina.pid # 这个要另外说明【2】

       start program = "/etc/init.d/tomcat start" # 设置启动命令

       stop program = "/etc/init.d/tomcat stop" # 设置停止命令

       if 9 restarts within cycles then timeout # 设置在个监视周期内重

       # 启了9次则超时,不再监视

       # 这个服务。原因另外说明【3】

       if cpu usage > % for 5 cycles then alert # 如果在5个周期内该服务

       # 的cpu使用率都超过%

       # 则提示

       # 若连续5个周期打开url都失败(秒超时,超时也认为失败)

       # 则重启服务

       if failed url mand=python /root/test_supervisor.py

       process_name=%(program_name)s

       stdout_logfile=/root/test.log

       stderr_logfile=/root/test.log

       ä¿å­˜ï¼Œå¯åŠ¨ï¼š

       /usr/bin/supervisord -c /etc/supervisord.conf

从零搭建测试公众号,每天发送一句小情话(支持计算农历生日)

       已有开源源码: gitee.com/fushentong/sa...

       支持事项:

       通过微信公众号给指定对象(举例:你的男/女朋友)每天发送指定内容;

       内容包含:

       同时,支持字体颜色自定义;

       暂时不一定支持事项:(不是不能做只是作者用不到,有需要的小伙伴可以评论区留言,需要的geohash源码多则下一期完善,有好的解决思路的大佬也欢迎评论区留言) 农历的部分月份 和 阳历不在同一年, 农历部分情况下可能出现闰某月

       一、整体框架

       二、准备需要的东西(网上均有免费可用的体验版)

       总览:

       接下来带大家一步步研究怎么获取这些账号

       第一步:公众号测试平台的注册并配置

       从微信官方文档中,找到接口测试号,并申请

       申请测试公众号后,可用获得独有的AppID 和 appsecret。

       这两个值的作用就是为了在程序中向微信平台验证身份。

       就像是 用户名和密码一样。

       同时,discuz android 源码分析用你自己的微信 和 你想要发送信息的对象的微信,扫描你的公众平台上的二维码。获得对应用户的微信号。

       这个微信号,就像是我们的身份证号一样,是独一无号的。

       有了微信号,你才能告诉微信平台,这条消息该发给谁。

       同时设置消息模板,

       最终发送给到 手机微信上的消息,也就是设置的这个格式的。

       同时在程序里面返回数据,也要包含模板中的数据

       参考:

       { { first.DATA}} 今天天气:{ { thing.DATA}} 今天温度:{ { thing.DATA}} 和xxx已经恋爱了:{ { thing.DATA}} 距离xxx生日还有:{ { thing.DATA}} 送你一句土味情话:{ { remark.DATA}} 送你一句诗词:{ { remark.DATA}} 送你一句脑洞鸡汤:{ { remark.DATA}}

       第二步:准备天气API

       在搜索引擎,直接搜索“免费天气API”就能找到许多。e语言网游源码

       小编采用的是图中所框选的。

       进去后可以看到有一部分是免费的的

       免费的当然会有一些限制,但对于我们自己玩,完全足够了。

       注册后,你就会得到我们需要的两个东西,

       天气API平台的appID 和 appSecret

       第三步:准备情话API

       同样的步骤,我们在搜索引擎搜索“免费土味情话API”。

       选择其中一个,小编选择的是ALAPI。

       注册后,你就要可以在你的控制台页面找到你的token

       (token的作用也是用于在请求数据的时候标识你的身份,不熟悉的小伙伴记下这个值就好了,后面会用到。)

       第四步:(可选,vscode源码安装mac不一定要)

       在自己电脑上安装XAMPP方便调试,确定调试好了再上传。

       把文末下载地址中的index.php 文件和Lunar.php文件放入XAMPP安装目录的htdocs目录下

       (XAMPP使用方法自行搜索,有障碍的小伙伴也可以评论区留言。)

       第五步:免费虚拟主机+免费子级域名

       自行选择,各个云服务厂商也有几个月免费体验那种。

       推荐: freehost.cc

       第六步:定时触发程序

       同样搜索免费网页监控程序,找一个自己觉得还行的。

       (因为php脚本的原理就是,你打开网页,它就会触发执行程序,发消息给微信平台。)

       也可以不弄这个监控程序。你想要发这个信息的时候,自己在浏览器输入一次也是ffmpeg播放rtmp源码一样的。

       小编使用的是: monit.or.passby.me/

       至此,我们需要的环境就全部准备完毕了。

       下面开始解读程序

       三、代码主体逻辑解析

       程序已开源到gitee,可查看。(其中的部分参数需要更新为上面申请到的)

       前置:准备好相关平台数据 ,替换成我们前面申请到的

       第一步:定义一个对象,把对象的相关信息都放进去

       第二步:把需要发送的一些共用的数据先准备好

       第三步:将消息组装成自己需要的样式

       根据个人信息,计算在一起天数、当地天气、距离生日的时间。

       封装成模板格式,同时可以字体颜色可以自行调整

       字体颜色进制表:

       模板里面格式字符,是来自微信官方平台的规范:

       第四步:发送信息

       以上就是代码的主体逻辑了,其中出现的函数都在同一文件中。

       四、本地调试(如果您本地有php环境的话)

       本地调试方法可以直接使用php在命令行运行脚本,也可以使用XAMPP将gitee中的index.php发布成本地站点。浏览器输入xampp发不出的本地站点来调试。

       五、上传云服务器,并使用浏览器触发

       如果申请了虚拟主机的话,根据平台指使文档来就行。

       一般的流程是将程序文件按要求命名后,上传到虚拟主机的某个路径下,即可。

       (注意:我们这里index.php和Lunar.php一定要同时放。因为index.php中调用了Lunar.phh)

       再使用虚拟主机提供的域名或者地址,在浏览器输入地址,则会触发上传的程序文件。

       六、定时触发

       找一个免费的网站监控程序,设置成固定每天的x点钟,扫描一次上一步虚拟主机给到的域名。

       以上就大功告成了,大家有疑问可以评论、留言,看到会回的哦!

       gitee.com/fushentong/sa...

十个PM2中冷门但实用的功能

       欢迎探索Node.js进程管理神器PM2的那些鲜为人知但极其实用的功能,让你的开发工作更加得心应手。

1. 自动守护进程</: pm2 set pm2:autodump true,这个隐藏的宝藏功能能自动保存进程变更,告别手动操作,确保进程安全。

2. 精准日志管理</: pm2 start --log [file],将日志定向到指定位置,让你随时掌握应用的动态。

内存守护者</: pm2 start --max-memory-restart=M,预防内存泄漏,保护系统资源。

深入洞察进程</: pm2 show [id],轻松获取进程详细信息,了解每个进程的健康状况。

实时监控大师</: pm2 monit,面板监控一目了然,CPU、内存和日志实时更新,提升运维效率。

PM2 Plus的力量</: 高级功能需付费解锁,但带来的性能提升和便捷性不可忽视,详情请参阅官方文档。

源码映射解谜</: pm2 start --source-map-support,线上错误追踪不再是难题,快速定位问题根源。

智能更新重启</: pm2 start --watch,业务变动自动重启,简化部署流程,但务必注意目录和忽略文件设置。

重启策略的艺术</: PM2提供了多种重启策略,从固定延时到高可用集群,适应不同场景需求。

固定延时</: pm2 start --restart-delay=

动态延时</: pm2 start --exp-backoff-restart-delay=

集群模式</: pm2 start -i 4,pm2 reload server,保障服务不间断。

控制重启频率</: pm2 start --no-autorestart

命名空间的智慧</: pm2 start api.js --namespace chihu,方便统一管理和操作多组件业务。

内置HTTP服务器的力量</: pm2 serve [path] [port],为前端提供高效托管服务,提升用户体验。

       这些实用功能只是冰山一角,深入探索PM2的文档和源码,你会发现更多的宝藏。提升开发效率,就从掌握这些冷门却强大的功能开始吧!

       

搜索关键词:源码代下