- 博客(18)
- 收藏
- 关注
原创 三次握手和四次挥手
close_wait:被动关闭连接方,收到主动方发送的FIN信号,同时返回一个ACK确认信号后的状态,close_wait期间,被动方会将最后的数据发送给主动方。established:客户端收到服务端的ACK和SYN标识后,客户端先完成连接建立状态,服务端收到客户端的ACK确认后,也完成established状态。last_ack: 当被动方发送完最后的数据,就自己发送一个FIN关闭连接的信号给主动方,此时是最后确认状态。fin_wait2:主动方在收到对方关于自己的FIN信号的确认信号后,变成的状态。
2024-07-25 17:27:02 328
原创 iptables介绍
链:INPUT:对进入本地的包进行访问控制(丢弃或者通过),比如外部想访问本地应用和服务时。做地址转换时候,一般处理PREROUTING,POSTROUTING链,和net表深度绑定。综上:做访问控制时,一般处理INPUT和OUTPUT链。OUTPUT: 对从本地出去的流量进行访问控制,比如自己想访问外部的应用和服务时。PREROUTING:在进入INPUT链前的访问控制,比如对目的ip地址进行修改。POSTROUTING:在OUTPUT链后面的访问控制,比如对源ip地址就行修改。过滤,处理端口和ip,
2024-07-24 18:50:33 310
原创 RAFT一致性算法
3.RAFT通过将客户端的请求转化成日志追加到文件中,同时向从节点发送日志条目并附带了日志条目索引和任期。从节点将收到的日志条目进行匹配,如果不匹配就要求重新发送。每个节点上带有一个计时器,在一个计时器超时时间内,如果未选举出一个超过绝大部分票数的leader会重置计时器,并开启新一轮投票,直到选举出leader。2.当leader选举出后,通过心跳机制,来确保其他节点,不会在任期内发起重新选举请求。如果follower节点在一个计时器超时时间内,未获得主节点的心跳信息,就会发起候选者请求。
2024-07-23 13:30:26 156
原创 tomcat默认目录漏洞修复
直接删除默认页:删除以下conf/web.xml配置文件中的相关内容。删除severlet和mapping中的default内容。搜索关键词default 然后删除图片中的所有内容。
2024-06-28 17:20:06 260
原创 docker-compose编写redis-sentinel模式脚本
环境二:共3个ip,一个ip放一个redis服务和一个sentinel服务,实现一主两从和3个sentinel集群。环境一:搭建实验环境的sentinel哨兵模式,一主两从和3个sentinel节点都在一个ip上。docker镜像是redis:5.0.14。
2024-06-12 09:27:49 235
原创 学习笔记:linux系统优先级解读
linux系统的优先级分0-139,共140个优先级别,以系统优先级为参照,0-99是实时优先级,为系统程序分配使用,100-139为非实时优先级,可以分配给用户的应用程序使用,优先级从左向右是从高到低。图中的四条优先级以系统优先级为参照,另外三个是不同命令可以设置的优先级,可设置区间和优先级的命名数字各有不同,但是以系统优先级为参照,就能掌握这些优先级所代表的真正优先级范围。realtime优先级也是RT优先级,设置的就是参照系统优先级0-99的区间,但是它的编号却是反过来的,99代表最高,0代表最低。
2024-06-05 10:31:26 331
原创 自动执行远程复制的脚本scp
"password" :这个就是except{}里面期望监控到的关键词,scp远程复制会有输出密码提示,提示里面带"password"关键字。except {} :这个except和外部的except含义不同,代表期望监控的交互内容,可以通过监控关键字来设置自动输入的内容。场景:采用非交互式方式将文件通过scp复制到其他服务器,用到的expct。{send " 内容"}:期望发送的内容,这里就是scp远程登录的密码。需要支持except命令,apt -y install except。
2024-06-03 15:43:50 245
原创 docker环境问题总结+spug启动java服务脚本(初版)
想要将spug服务器上的包传到目标机器上,首先要明确是从spug容器里面的环境把包传递到目标机器的,那么只需要把spug宿主机上放包的路径映射到容器里面的一个目录,然后将容器里的这个目录写到spug控制台发布配置里面的源路径里面。问题一:docker启动的spug平台要以spug容器内部的路径来考虑传包问题?今天将新项目部署到spug平台进行自动发布维护。中间遇到一些问题进行总结。场景:spug使用的容器安装,java应用使用公司封装的镜像进行管理。
2024-05-15 20:00:54 256
原创 docker-compose部署elasticsearch集群
场景:这是一个基于docker环境的部署,脚本整合了单机模式,多服务器集群,单机集群模式。
2024-05-14 19:35:24 393 1
原创 Linux服务器资源检查脚本
场景:整理和检查服务器资源台账,需要统计内存,cpu,磁盘使用。统计应用程序名字,监听端口以及安装路径。脚本的逻辑比较简单,不是完全自动化,减少登入登出的麻烦。
2024-05-13 13:31:24 275
原创 解决shell环境变化的问题
usermod -s /bin/bash user #修改用户的shell环境,在创建用户的时候也能指定,useradd -s /bin/bash。场景:使用su - 命令切换其他用户的时候,有时候发现shell环境变化。或者不习惯bash解释器之外的其他解释器使用。chsh -s /usr/bin/bash #选择切换到bash,退出重新登录就切换过来了。cat /etc/shells #看下有哪些shell解释器。echo $SHELL #查看当前用的shell。
2024-05-13 10:08:12 238
原创 内网环境chrony时间服务器的配置和安装
说明:工作学习笔记场景:内网的一台可以访问外网的服务器,以这台为基础搭建内网的时间同步服务器,让内网其他不能访问的服务器能够通过它进行时间同步。原理:时间服务器是可以向上同步高级时间服务的,又可以向下提供服务,全靠配置文件决定。
2024-05-12 14:40:23 577 1
原创 ubantu22.04安装zabbix-proxy(含完美删库及阿里云地址)
dpkg -l | grep ^rc| awk '{print$2}'| sudo xargs dpkg -P #删除rc标记的文件。步骤六:初始化zabbix_proxy数据库,输出命令后,要输入zabbix用户的密码,且初始化需要等待一段时间。说明:还是要强调,zbbix-proxy组件的版本号一定要和zabbix-server保持一致,至少不能超过次版本号。suibian(这个地方的值必须要和zabbix页面中配置代理的里面的值一致)步骤九:zabbix配置页面【管理】》【agent代理程序】
2024-05-11 16:38:06 580 2
原创 安装系统的中文字符集
locale -a |grep zh #查看系统是否安装中文字符集,就是步骤一的locale命令的参数使用。#LC_ALL不是一个系统变量,是一个宏,可以替换所有LC_*的值,除了系统变量LANG的。locale #查看使用的字符集信息,下图就是标准的英文,UTF-8的编码。#LANG是优先级最低的变量,当LC_*没有默认值的时候,会用LANG代替。步骤二:查看系统有没有中文字符集“zh_CN.UTF-8”echo $LANG #取到的值就是红框里面的。步骤三:没有的情况下,安装中文组件。
2024-05-11 15:24:34 295 1
原创 自动获取Java应用程序名的脚本
获取的是父进程的列表,正常启动的java应用程序的父进程id应该是1,非1的父进程id说明就是#wrapper封装过的。说明:记录工作的内容,会介绍一下脚本思路,具体使用应该根据实际情况进行调整。本场景是有用wrapper封装的应用,也有用jar启动的应用。#sed要加属性-r,代表使用扩展正则,只有扩展正则才能使用组(),通过\1取到值。#grep -w 匹配的是单词,要完全一致才能有值。echo "wrapper 封装的程序"echo "-jar 启动的程序"#获取-jar启动的应用程序。
2024-05-11 14:47:51 223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人