zyh
ABOUT
标签
分类
web
fpm
fpm☞安装-包管理方式
fpm☞安装-编译方式
fpm☞静态配置
nginx
nginx-常用变量
nginx☞fcgi中alias的使用
nginx☞location
nginx☞基本认证
nginx☞安装
nginx☞日志切割
nginx☞泛域名_变量截取
nginx☞问题集
其它
web☞服务器承载能力计算
公有云
aws
aws☞EC2-GPU实例安装显卡驱动
aws☞rds-mysql参数
aws☞rds-mysql日志
aws☞s3初始化创建
aws☞s3跨账户访问
aws☞利用cf服务初始化aws环境
aws☞国内外之间迁移-AMI
阿里云
aliyun-ack_ingress
aliyun-k8s_svc绑定固定ELB
aliyun☞cli安装和基本调用
aliyun☞oss
aliyun☞常见问题
其它
git
gitlab☞大版本迁移
gitlab☞安装及备份
gitlab☞批量修改用户密码
git☞常用命令
hexo
hexo☞图片显示404错误的解决办法
hexo☞本地搜索
jira-备份文档
openvpn☞安装
vsftpd☞安装
工具库
开发-认证机制[转载]
网络-SNAT和DNAT
网络-华为路由器vlan划分
网络☞S5700配置攻击朔源
网络☞链路聚合
问题记录
容器
docker
docker-多阶段构建
docker-常用的指令
docker☞01安装
docker☞非root用户执行程序
harbor
harbor☞安装
helm
helm☞01入门
helm☞02chart
k8s
k8s-22自定义hpa
k8s-安全上下文
k8s☞01常见术语概念
k8s☞02-1切换使用runtime-containerd
k8s☞02安装
k8s☞03Pod
k8s☞04Pod-init容器
k8s☞05容器生命周期-回调和探针
k8s☞06无状态服务deployment
k8s☞07自动扩缩
k8s☞08负载均衡service
k8s☞09存储资源
k8s☞10应用配置与密码与信息提供
k8s☞11-1pod资源约束
k8s☞11-2namespace资源约束
k8s☞12-1DaemonSet
k8s☞12-2有状态服务StatefulSet
k8s☞13-1 ingress-nginx的各种用法
k8s☞13高级版负载均衡ingress控制器
k8s☞14认证授权
k8s☞15证书管理
k8s☞16kubeadm集群升级
k8s☞17-1调度之node污染和pod容忍
k8s☞17-2调度之亲和性和反亲和性
k8s☞18日志收集系统
k8s☞19日志系统EFK
k8s☞20网络cni
k8s☞21证书管理器
k8s☞kubectl多集群管理
k8s☞showdoc部署
k8s☞常用命令记录
k8s☞记录点
数据库
mysql
mysql-主从同步
mysql-联合索引
mysql☞安装
mysql☞常用命令
mysql☞离线迁移脚本
pgsql
pgsql-基础命令
redis
redis-001安装
redis-002备份
redis-003内存紧张bgsave失败
redis-004主从复制知识
redis-005主从复制和哨兵配置
redis-006获取没有设置TTL的key
日志
ELK
日志-06Elasticsearch索引生命周期
日志☞00ELK基本使用-简介
日志☞01ELK基本使用-beats组件
日志☞02ELK基本使用-logstash组件01-安装
日志☞03ELK基本使用-logstash组件02-插件介绍
日志☞04ELK基本使用-elasticsearch
日志☞05ELK基本使用-kibana
其它
日志☞logrotate安装
消息
kafka
001-kafka基本信息
002-kafka基本安装
003-kafka基本认证
004-kafka用户配额
005-kafka基本维护
006-kafka基本监控
007-kafka基本保活
rabbitmq
rabbitmq-集群相关概念
rabbitmq☞安装
监控
prometheus
prometheus-07k8s-coredns
prometheus-08k8s-node
prometheus-09windows_exporter
prometheus☞01搭建
prometheus☞02外置prometheus监控k8s
prometheus☞03k8s内置部署
prometheus☞04redis监控
prometheus☞05mysql监控
prometheus☞06rabbitmq监控
zabbix
zabbix☞WEB监控
zabbix☞agent和proxy(yum)
zabbix☞nginx
zabbix☞redis
zabbix☞server安装注意事项
zabbix☞容器搭建
zabbix☞预警
其它
监控☞monit
监控☞mysql慢sql预警
监控☞企业微信机器人
监控☞微信预警
监控☞远程磁盘检测
监控☞邮件预警
系统
linux
linux-vim中文乱码
linux-添加ssh登陆限制
linux☞centos7重置root密码
linux☞df与du数据不一致的原因
linux☞ssh-MFA自动登陆
linux☞ubuntu20-04纯命令行网卡配置
linux☞使用expect自动登录ssh后远程会话不会跟随本地会话缩放的问题
linux☞利用acme-sh管理免费的ssl证书申请
linux☞时间
linux☞系统内核优化
linux☞软raid创建
linux☞输出个性化开机状态
windows
windows-wsl问题点
windows-包管理工具-scoop
windows☞win10迁移数据
自动化
ansible
ansible☞playbook-aws
ansible☞playbook-handle
ansible☞playbook-include
ansible☞playbook-lookup插件
ansible☞playbook-tags
ansible☞playbook-变量
ansible☞playbook-循环
ansible☞playbook-条件判断
ansible☞playbook-过滤器
ansible☞playbook-错误捕获
ansible☞基础信息
ansible☞常用模块-命令调用
ansible☞常用模块-文本文件操作
ansible☞常用模块-系统相关
ansible☞常用模块-软件包管理
ansible☞模板
ansible☞角色
jenkins
jenkins-gitops-cd
jenkins-gitops-ci
jenkins-groovy基础
jenkins-pipeline dsl 常用方法
jenkins-常用插件
jenkins-构建工具集成
jenkins-示例1
jenkins-集成SonarQube
jenkins-集成gitlab
jenkins☞001安装和基本配置
jenkins☞002Pipelines
jenkins☞003共享库
jenkins☞从容器中访问宿主机docker命令
jenkins☞基于k8s生成动态的Jenkins agent
虚拟化
vmware
vcsa☞存储设备有vmfs分区,但数据存储丢失
语言
css
css☞背景图居中拉伸平铺
go
go-013文件先读再覆盖写
go-014并发和管道
go-015自定义包
go-016并发
go-017测试
go-100遇到的点
go☞001变量
go☞002常量
go☞003运算符
go☞004控制流
go☞005函数
go☞006函数-闭包
go☞007结构
go☞008方法
go☞009接口
go☞010特殊控制流(defer panic recover)
go☞011错误处理
go☞012常用模块
java
jdk☞安装和配置
jquery
jquery☞伪进度条
python
django☞admin管理视图
django☞restful简单使用
django☞日志
django☞管理静态文件
django☞记忆点
django☞验证码
python-虚拟环境
python☞json
shell
shell-[[ ]]
shell☞if判定
shell☞read嵌套
其它
正则表达式-修饰符
go-013文件先读再覆盖写
涉及模块 os fmt io/ioutil 代码 package main import ( "fmt" "os" "io/ioutil" ) func main(){ filePath : ...
2021-12-07
语言
>
go
go-017测试
前言 TDD 测试驱动开发: 先编写测试程序,然后编写开发程序 命令 go test -v Go 将查找当前目录下所有 *_test.go 文件来运行测试。 逻辑 测试代码的逻辑是假想已有代码,通过构造测试对象并调用假想代码,如果假想代码【应该】有结果,则对结果进一步编写测试逻辑。 例子 银行转账 ...
2020-11-26
语言
>
go
go-016并发
前言 go并发涉及两个概念: goroutine 轻量线程 channel 通道 go的程序运行在goroutine,并通过channel来发送和接收数据。 因此,go不是通过共享内存通信,而是通过channel进行通信共享内存。 goroutine go的第一个goroutine是main( ...
2020-11-25
语言
>
go
go-015自定义包
main包 主程序需要引用package main,只有引用了main,才可以编译生成二进制程序。 自定义包 包代码 <$GOHOME/src/packageName>/sum.go package calculator // 包名 var logMessage = "[ ...
2020-11-21
语言
>
go
go☞012常用模块的记录
log log 是内置模块,无需导入 # 直接打印 log.Print("Hey, I'm a log!") 2020/12/19 13:39:17 Hey, I'm a log! # 设置前缀 log.SetPrefix("main():") main() ...
2020-11-20
语言
>
go
go☞010特殊控制流(defer panic recover)
前言 三个奇特的关键字defer/recover/Panic defer defer用于当前函数作用域结束后,执行 defer 后定义的代码。也就是说 defer 可以推迟语句的执行。 规则 一个函数体内可以包含多个 defer,多个 defer 会暂存在队列中,并且多个 defer 的执行顺序是 ...
2020-10-14
语言
>
go
go☞011错误处理
前言 Go语言检测和报告错误情况的常用方法: 函数返回的多个值,并按照惯例将最后一个值定位错误。if条件判断这个错误值,如果为nil,则没有错误。 例子 package main import ( "fmt" "time" " ...
2020-10-12
语言
>
go
go☞009接口
前言 接口和结构体一样,也是一种自定义数据类型,它是抽象类型。 接口内只是定义了实现这个接口的具体类型所需要的方法名,并不处理方法的逻辑。 ✨这就如同你制作一艘飞船(具体类型),需要一个蓝图(接口)来告诉你飞船需要实现哪些功能(方法)。 ✨只不过飞船(具体类型)的这些功能(方法)如何制作,蓝图(接口 ...
2020-10-09
语言
>
go
go☞007结构
前言 结构是多种类型的集合,它本身就是类型的一种,因此需要用type关键字来声明 鉴于上述的性质,常用来描述一个具有多种属性的类。 例如,人类,书本等。 写法和使用 当定义好一个struct后,就可以通过var声明struct类型了 package main import "fmt&qu ...
2020-10-08
语言
>
go
go☞008方法
前言 一个函数是没有接收方的。但当一个函数有了接收方后,则称之为方法。 在python中,一个类(接收方)定义方法,直接在类里写方法即可,只不过有一个self指向了它本身。这样,一个类对象就通过方法实现了行为。 在go中,没有类概念,但当自定义的结构作为方法的接收方后,结构就既有了属性,又有了行为, ...
2020-10-07
语言
>
go
1
2
>