- 博客(45)
- 资源 (34)
- 收藏
- 关注
原创 负载均衡 lvs
LVS的IP负载均衡技术是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件,它的主要作用是:安装在Director Server上,同时在Director Server上虚拟出一个IP地址,用户必须通过这个虚拟的IP地址访问服务。RS接收到包以后,处理完,返回响应时,源IP是RS IP,目标IP是客户端的IP,这时RS的包通过网关(LVS)中转,LVS会做源地址转换(SNAT),将包的源地址改为VIP,对于客户端只知道是LVS直接返回给它的。概述:DS给数据包加上一层隧道,RS的LO做VIP。
2024-07-18 21:45:04
476
原创 jenkins 使用教程
全局角色(Global roles)与项目角色(item roles)的区别就是,项目角色只能管理项目,没有管理jenkins的权限配置,全局角色适用于Jenkins中的任何项目,并覆盖您在项目角色中指定的任何内容。由于这里是根据tag进行拉取代码的,第一次构建的时候,页面上不出现选项,成功后,再次构建的时候,就会提示要选择tag,进行拉取代码了。这里把jenkins运行用户改为root。这里有个问题,如果同样的tag,被推送到harbor仓库以后,再次推送的是推不上相同的tag的,只能删除。
2024-07-17 21:36:18
1169
原创 linux负载高,内存不足,io高排查工具 vmstat
关于内存的使用情况还可以结ps aux top prstat –a等等一些相应的命令来综合考虑关于具体的内存的使用情况,和那些进程在占用大量的内存.一般情况下,如果内存的占用率比较高,但是,CPU的占用很低的时候,可以考虑是有很多的应用程序占用了内存没有释放,但是,并没有占用CPU时间,可以考虑应用程序,对于未占用CPU时间和一些后台的程序,释放内存的占用。块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes。
2024-07-17 14:07:59
785
原创 zabbix 自定义监控项及触发器
etc/zabbix/zabbix_agent2.d/目录下创建自定义监控项脚本UserParameter=固定写法,表示要自定义键值key表示键值名字,命名最好就是 单词+"." (点)cmd表示命令或脚本#这里注意awk的写法,取列$3,要写成$$3(zabbix自定义监控的特殊写法)
2024-07-12 10:57:35
603
原创 gitlab 搭建使用
把用户主机上/root/.ssh/id_rsa.pub 里面的公钥复制到下图1的位置,如果没有此文件,先ssh-keygen生成。上面报错是因为此用户权限是developer,无法创建分支,可以用管理员账户把tom用户权限调整为owner.密码:/etc/gitlab/initial_root_password文件中的Password字段值。注意:执行恢复命令的时候,备份文件的名字去除_gitlab_backup.tar,只要前面的部分。已经可以看到代码的分支,标签,提交记录。#查看gitlab状态。
2024-07-12 10:53:18
1134
原创 git 使用
它会在本地创建一个新的目录,并将远程仓库的整个代码库复制到该目录中。文件下载到工作空间并可以使用 git checkout . 或 git checkout 文件。提交数据到缓冲区(暂存区) git add . (所有文件) 或 git add 文件。把暂存区的数据提交到本地仓库 git commit -m "标记/说明"用于从远程仓库获取最新的提交,但不会自动合并或更新本地分支。用于从远程仓库获取最新的提交,并将其合并到当前分支中,合并(吸收)分支(把指定的分支合并到当前分支中)
2024-07-12 10:52:13
1177
原创 zabbix 配置钉钉告警
在zabbix-server 机器上,/usr/local/share/zabbix/alertscripts 目录下创建一个dingding-webhook.py。下载电脑版钉钉,登录后,在要接收群消息的群里,点击右上角设置图标,下滑找到机器人,添加一个机器人,保存机器人的webhook地址。在zabbix客户端上停止nginx,看钉钉群内是否报警。]# ./wechat-webhook.py "测试"脚本编写完成之后需要为脚本添加执行权限。会在钉钉群内收到我们测试发出的消息。添加消息模板后,点击更新。
2024-07-03 13:09:26
340
原创 zabbix 配置企业微信告警
在zabbix-server 机器上,/usr/local/share/zabbix/alertscripts 目录下创建一个wechat-webhook.py。下载电脑版企业微信,登录后,在要接收群消息的群里,点击右上角三个点,添加机器人后,保存机器人的webhook地址。在zabbix客户端上停止nginx,看企业微信群内是否报警。]# ./wechat-webhook.py "测试"上传应用logo,填写应用名称,选择可见范围。脚本编写完成之后需要为脚本添加执行权限。添加消息模板后,点击更新。
2024-07-03 10:51:59
718
原创 centos 安装zabbix 6.4.16 server client
Zabbix Server 采用源码包部署,数据库采用 MySQL8.0 版本,zabbix-web 使用 nginx+php 来实现。具体信息如下:软件名版本安装方式6.0.3源码安装6.0.3源码安装MySQL8.0.28yum安装Nginx1.20.1yum安装Php7.4.29yum安装。
2024-06-30 22:38:03
816
原创 docker --restart 容器重启策略
当容器退出后,或者docker程序重启了,容器是否要重启,可以用重启策略控制。用docker run命令的时候,用--restart 设置容器重启策略。
2024-06-24 10:53:41
509
原创 shell read详解
-u3,指定把名为3的描述符作为输入源#3<'1.txt'是定义一个文件描述符名称为3,并把文件输入到这个描述符里面i=a,j=1i=b,j=2i=c,j=3#自定义输入源,可以同时进行多个文件读取,也可以在读取文件的时候,读取标准输入的内容#写法一:read -u定义新的输入源doecho "文件读取行:"$lineadfa文件读取行:aadfads文件读取行:bafda文件读取行:cadfaadfadsafda#这里又能输出文件内容,同时也能读取标准输入的内容。
2024-06-22 22:08:10
1685
原创 shell jq教程 json数据处理
jq是一款命令行下处理JSON数据的工具。其可以接受标准输入,命令管道或者文件中的JSON数据,经过一系列的过滤器(filters)和表达式的转后形成我们需要的数据结构并将结果输出到标准输出中。jq的这种特性使我们可以很容易地在Shell脚本中调用它。
2024-06-22 16:05:40
731
原创 shell grep教程
grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为,则 grep 指令会从标准输入设备读取数据。
2024-06-20 23:04:26
826
原创 shell tr 字符替换,删除
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。tr只能接收来自标准的输入流,不能接收参数。
2024-06-19 14:19:04
779
原创 shell expr功能详解
expr命令可以实现数值运算、数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能。它还具个特殊功能,判断变量或参数是否为整数、是否为空、是否为0等。
2024-06-18 10:47:26
549
原创 shell awk教程
0 表示整个当前行$1 每行第一个字段NF 字段数量变量NR 每行的记录号,多文件记录递增FNR 与NR类似,不过多文件记录不递增,每个文件都从1开始\t 制表符\n 换行符FS BEGIN时定义分隔符RS 输入的记录分隔符, 默认为换行符(即文本是按一行一行输入)~ 匹配,与==相比不是精确比较!~ 不匹配,不精确比较== 等于,必须全部相等,精确比较!= 不等于,精确比较&& 逻辑与|| 逻辑或+ 匹配时表示1个或1个以上/[0-9][0-9]+/ 两个或两个以上数字。
2024-06-17 21:42:36
2031
原创 iptables教程
如果一个数据包没有匹配到一个链中的任何一个规则,那么将对该数据包执行这个链的默认策略(default policy),默认策略可以是 ACCEPT 或 DROP。链中默认策略的存在使得我们在设计防火墙时可以有两种选择:设置默认策略 DROP 所有的数据包,然后添加规则接受(ACCEPT)来自可信 IP 地址的数据包,或访问我们的服务监听的端口的数据包,比如 bittorrent、FTP 服务器、Web 服务器、Samba 文件服务器等等。
2024-06-13 22:50:39
1771
原创 keepalived vrrp_script,notify
vrrp_script模块说明: 当脚本的返回值为0时,说明正常,非0时则是异常,就会发生状态变化可用于检测后端服务是否正常,如果后端服务异常,从而让当前keepalived让出VIP。
2024-06-06 22:23:05
227
原创 Nginx反向代理之 upstream 模块
每个请求按客户端 IP 的 hash 结果分配,当新的请求到达时,先将其客户端IP通过哈希算法哈希出一个值,在随后的客户端请求中,客户 IP 的哈希值只要相同,就会被分配至同一台服务器,该调度算法可以解决动态网页的 session 共享问题,但有时会导致请求分配不均,即无法保证 1:1 的负载均衡,因为在国内大多数公司都是 NAT 上网模式,多个客户端会对应一个外部 IP,所以,这些客户端都会被分配到同一节点服务器,从而导致请求分配不均。2)wrr (weight 权重轮循,静态调度算法)
2024-05-30 16:31:03
1368
原创 nginx后端健康检查nginx_upstream_check_module
3.在新下载的ngin-1.26的目录下,把nginx_upstream_check_module补丁打进来,查看本机已安装nginx的编译参数,然后拷贝,然后在后面加上--add-module=../nginx_upstream_check_module-master,由于编译需要依赖库,先安装下面几个库 pcre-devel openssl openssl-devel,然后./configure ,然后再make。2.下载nginx_upstream_check_module模块。
2024-05-30 16:29:28
722
1
原创 nginx fastcgi_buffers 缓存
fastcgi_buffers 控制 nginx 最多创建 8 个大小为 4K 的缓冲区,而 fastcgi_buffer_size 则是处理 Response 时第一个缓冲区的大小,不包含在前者中。先简单的说一下 Nginx 的 buffer 机制,对于来自 FastCGI Server 的 Response,Nginx 将其缓冲到内存中,然后依次发送到客户端浏览器。显然,缓冲区设置的太小的话,Nginx 会频繁读写硬盘,对性能有很大的影响,但也不是越大越好,没意义,呵呵!
2024-05-29 12:15:54
573
原创 nginx 获取用户真实IP方案 proxy_set_header X_Forwarded_For $proxy_add_x_forwarded_for
nginx 获取用户真实IP方案。
2024-05-28 19:43:42
172
原创 nginx配置下载站,增加用户认证,增加统计功能
压力测试,查看状态,ab -n 99999 -c 3 -H host:video.tom.com。-c 创建文件,只可加一次,再次运行会覆盖第一次的文件。
2024-05-27 13:30:05
363
原创 nginx location规则及对应的优先级
查看结果,可以看到当前是哪个location生效,然后注释第一的location,就能看到谁第二,依次注释掉对应的location,就可以看到顺序就是上面总结的顺序。处于同一级别的,哪个location匹配的路径最全,哪个location生效。处于同一级别的,哪个location匹配的路径最全,哪个location生效。匹配路径的前缀,如果找到停止搜索 location ~ /abc { }location ~* /a { } 不区分大小写的正则。location ~ /a { } 区分大小写的正则。
2024-05-26 18:16:08
443
原创 linux vim设置tab占4个空格,cat 显示tab占用8个空格解决
2.但是cat 1.txt 文件时,如果文件中有tab键,tab键占用的是8个空格位置,会导致代码看着不对齐,要想看里面的tab键的位置,可以使用 cat -t,如果想把tab键显示为4个空格,可以使用expand -t4。1.vim中,tab键默认占用8个空格,这里要修改为占用4个空格,修改全局。
2024-05-26 09:39:26
181
原创 nginx 默认虚拟主机,default_server
conf.d目录下按照字母排序,cf.tom.com.conf排第一,如果是一个未匹配到的域名或者ip,就会找conf.d目录下字母排序位于第一个的配置文件, 所以这时候,无论访问的是cf.tom.com还是ip,都是去访问cf.tom.com.conf文件。情况2:在default.conf的name_server中加入 default_server, 访问域名cf.tom.com的时候,会去找cf.tom.com.conf文件,访问ip的时候,会去找default.conf文件。
2024-05-25 19:09:03
469
原创 ansible普通用户sudo权限问题,使用become提权到root用户
ansible控制端主机inventory hosts文件,与root用户连接的区别是加了几个become的参数。ansible的become提权配合linux的sudo提权。需要修改受控机的/etc/sudoers文件。二、ansible inventory hosts文件配置。受控端主机用root用户输入visudo添加如下配置。一、受控机/etc/sudoers配置。
2024-05-24 17:14:47
559
1
原创 ansible playbook中import_tasks 和 include_tasks区别
当对 include_tasks 使用 when 进行条件判断时,when 对应的条件只应用一次,发生在是否include这个文件,若include,则执行这个include文件中所有的任务,不再进行其他判断。下面的代码中,test1.yml中,打印finish的debug因为不满足条件num ==0,skipping跳过了。当对 import_tasks 使用 when 进行条件判断时,when 对应的条件会被应用于 include 文件中的每一个任务,意思是每要执行一个任务时,都要先进行条件判断。
2024-05-24 12:20:16
583
1
原创 linux vim 粘贴带#注释的代码格式会乱的问题,使用set paste 解决多行复制粘贴乱序问题
vi复制代码包含注释时格式会乱掉,通过下面的设置就可以避免这种情况。解决办法:在拷贝前输入:set paste,然后粘贴复制的内容即可。
2024-05-22 18:24:49
867
1
原创 ssh免密,批量免密脚本
f 选项指定生成的私钥的文件名,建议生成的时候指定一个非id_rsa的名字,因为别人重新生成了默认的密钥对,就会把原先同名的密钥对覆盖掉,原先的免密配对也就失效了。echo "-------------------------------执行开始时间`date +%F-%T`" >> ${log_file}echo "-------------------------------执行结束时间`date +%F-%T`" >> ${log_file}echo "新生成密钥对" >> ${log_file}
2024-05-17 14:09:20
821
1
原创 linux xshell连接服务器登录速度慢,优化ssh选项即可变快
sed -i '/GSSAPIAuthentication/s#.*#GSSAPIAuthentication no#' /etc/ssh/sshd_configsed -i '/UseDNS/s#.*#UseDNS no#' /etc/ssh/sshd_configsystemctl restart sshd
2024-05-16 11:14:11
477
原创 linux rsync如何进行版本升级
8.编辑 /usr/lib/systemd/system/rsyncd.service,把里面的rsync地址改为新安装的rysnc的地址 /usr/local/bin/rsync。2.https://rsync.samba.org/找到最新版本,源码编译。1.1 有期望的版本时,则用yum update rysnc。1.yum list|grep rsync 看看有没有新版本,5.进入到解压缩目录,./configure。1.2 没有期望的版本时,到2。3.下载最新的版本后,解压缩。
2024-05-16 11:12:33
230
Linux netstat命令详解.pdf
2019-09-12
Linux大文件已删除,但df查看已使用的空间并未减少解决 - BigBao的博客 - 博客园.pdf
2019-09-12
Foxit Reader 短小精悍的PDF阅读器
2010-09-09
BREW+工程师培训ppt
2009-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人