自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 收藏
  • 关注

原创 运维高可用架构设计

mysql: 开启binlog 级别 statement 及以上。postgresql: 日志级别hot_standby 及以上。postgresql: 日志级别hot_standby 及以上。postgresql: 日志级别hot_standby 及以上。mysql:开启binlog 级别 row。mysql:开启binlog 级别 row。mysql,postgresql 单节点。mysql,postgresql 单节点。mysql,postgresql 单节点。mysql:未开启binlog。

2024-11-06 14:06:32 1101

原创 《Google SRE》读后感

这两个优点对于SRE很是重要,反思使得SRE从失败中学习教训,总结使SRE从时间中获得经验,个人和团队需要学习和践行这种精神,但是对事不对人。Google的做法是:时事后总结机制。避免指责,提供建设性意见,充满正能量事后总结报告需要评审,避免低质量的事后总结带来负面影响google的事后总结模板。

2024-11-06 14:02:38 858

原创 Nginx配置、优化

原因是经过反向代理后,由于在客户端和Web服务器之间增加了中间层,因此Web服务器无法直接拿到客户端的IP,通过$remote_addr变量拿到的将是反向代理服务器的IP地址。但是,反向代理服务器在转发请求的HTTP头信息中,可以增加X-Forwarded-For信息,用以记录原有的客户端IP地址和原来客户端请求的服务器地址。可以自定义一份日志的记录格式,不过要注意,log_format指令设置的name名称在Nginx配置文件中是不能重复的。设置Nginx的CPU worker(建议和CPU的核数相同)

2024-10-29 15:54:27 1192

原创 nginx代理websocket服务

它使用了proxyhttpversion指令来指定使用HTTP 1.1协议,这是必需的,因为WebSocket需要使用这个协议。在上面的配置中,我们使用了ssl证书来保护我们的连接,并将wss的代理路径设置为“/wss/”。总之,这个配置为nginx提供了一个完整的WebSocket代理服务,可以让你将WebSocket服务发布到公共互联网上,而不必担心网络安全问题。在你的应用程序中,你需要将websocket连接的url更改为“wss://example.com/wss/”以使用nginx代理。

2024-10-29 15:08:41 2162

原创 数据库数据导出

【代码】数据库数据导出。

2024-10-29 12:03:21 440

原创 MySQL高级应用——存储过程和函数

函数与存储过程最大的区别就是函数调用有返回值,调用存储过程用call语句,而调用函数就直接引用函数名+参数即可Definer和sql security子句指定安全环境Definder是MySQL的特殊的访问控制手段,当数据库当前没有这个用户权限时,执行存储过程可能会报错sql secuirty的值决定了调用存储过程的方式,取值 :definer(默认)或者invoker。

2024-10-29 12:01:08 614

原创 MySQL常用函数

子查询是一个嵌套在外层语句中的完整select语句,通常用()括起来,子查询可以范围一个单一的值,一行值,一个表格等等。操作符的执行优先级,从高到低,同一行中的操作符优先级相同,相同优先级的情况下则从左到右执行。通常子查询的方式可以简化复杂join表链接查询和union结果合并查询,提高了语句的可读性。IFNULL 当expr1为非null时,则返回expr1,否则返回expr2。NULLIF 当expr1等于expr2时,则返回null,否则返回expr1。通配符%表示匹配0个或多个字符。

2024-10-28 17:23:40 598

原创 MySQL的权限系统

权限系统的作用:授予来自某个主机的某个用户可以查询、插入、修改、删除等数据库操作的权限不能明确指定拒绝某个用户的连接权限控制(授权与回收)的执行语句包括create user,grant,revoke授权后的权限都会存放在MySQL的内部数据库(MySQL)中,并在数据库启动之后把权限信息复制到内存中MySQL用户的认证信息不光包括用户名,还要包括发起的主机查看mysql实例默认root用户的权限(来自localhost)

2024-10-28 17:22:01 1014 1

原创 Linux的环境变量不生效

2.然后去用户家目录下,读取~/.bash_profile,否则读取~/.bash_login,再否则~/.profile,这三个文档设定基本上是一样的,存在读取优先关系。1.首先读入的是全局环境变量设定目录/etc/profile,然后根据其内容读取额外的设定的文档,如 /etc/profile.d和/etc/inputrc。在以上的配置中,定时任务只是默认加载当前用户的环境变量,即 所有的定时任务,默认使用 source ~/.bashrc 来加载执行后续命令的。

2024-10-22 16:48:01 667 1

原创 PCS命令配置

stonith_admin -M -a agent_name ## 查询fence设备的元数据,stonith_admin -M -a fence_vmware_soap。# fence_vmware_soap -o status -a vcenter.example.com -l cluster-admin -p -z -U ## 查看状态。

2024-10-21 14:33:18 1041

原创 物理内存与swap

当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。这个是SWAP 交换分区的作用。实际上,我们更关注的应该是SWAP分区的大小问题。设置多大才是最优的。

2024-10-21 14:27:46 2065

原创 Linux优化

Linux之TCP/IP内核参数优化。

2024-10-21 14:21:58 299

原创 Linux信号量

向指定的进程或进程组发送信号(The command kill sends the specified signal to the specified process or process group),或者确定进程号为 pid 的进程是否还在。.这是一个终止当前操作的请求.如果捕获了这个信号,一些简单的程序应该退出,或者允许自给被终止,这也是程序没有捕获到这个信号时的默认处理方法.拥有命令行或者输入模式的那些程序应该停止它们在做的事情,清除状态,并等待用户的再次输入.等价于 (TERM是默认信号量)

2024-10-21 14:03:33 931

原创 Linux系统层面问题总结

open files这个值阶梯性调整,不要一下设置太大open files6553600这个值足够了,若还有问题,有可能是受到攻击java需要打开文件数会大线下多种情况设置完毕后,再去设置线上。

2024-10-18 14:45:32 1423

原创 redhat系列的yum源配置

安装所有包,因为通过第一个命令下载后有很多rpm包,他们之前有依赖关系,一个一个安装不实际。downloadonly和yumdownloade。2)将 repo 配置中的地址替换为阿里云镜像站地址。/root/mypackages  下载包存放的位置。--downloaddir  下载包存放的路径。--downloadonly  只下载。添加rpm包,更新yum仓库。1)安装 epel 配置包。

2024-10-18 14:41:21 1063

原创 高并发负载均衡——nginx与lvs

简单理解:Domain Name System,域名系统是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网。例如我们将程序发布到192.168.55.145 和144两台服务器上,通过DNS可以设置一个统一的访问入口,如www.Max1209.com对这两台服务器上的服务进行访问。用户直接访问www.Max1209.com主机名而不需记住机器IP,通过主机名,最终得到该主机名进行域名解析得到对应的IP地址进行访问。

2024-10-18 14:35:57 1381

原创 解决Linux忘记密码唯一超管用户密码

那一行,用End键将光标移动到这段字符的行尾,然后添加console=tty0,rd,break用来告诉GRUB启动这项的操作系统时,传递参数给操作系统,然后按Ctrl+x从新引导。”那一行,删除“rhgb quiet,再用End键将光标移动到这段字符的尾部,添加参数init=/bin/sh,用来告诉GRUB启动操作系统时,将参数传递到操作系统。7 然后按Esc键退出硬盘的操作系统,reboot重启光盘系统,切入BIOS选项中,将硬盘设为启动项,然后正常启动。3 输入命令进行编辑密码。

2024-10-18 14:14:39 421

原创 使用Python监控Linux系统

dstat是一个用Python语言实现的多功能系统资源统计工具,用来取代Linux下的vmstat、iostat、netstat和ifstat等命令。并且,dstat克服了这些命令的限制,增加了额外的功能、以及更多的计数器与更好的灵活性。dstat可以在一个界面上展示非常全面的监控信息。dstat将以列表的形式显示监控信息,并且用不同的颜色进行输出,以可读性较强的单位展示监控数值。

2024-10-17 23:15:17 1321

原创 Python生态工具、文本处理和系统管理(虚拟)

PyCharm是由JetBrains打造的一款功能强大的Python IDE 也是目前最流行的 Python IDE。JetBrains是捷克一家软件开发公司,该公司最为人熟知的产品是一款名为 IntelliJ IDEA的Java IDE。IntelliJ IDEA是Eclipse最大的竞争对手,并且,不少资深的软件工程师 都认为,IntelliJ IDEA 比 Eclipse更加智能、更加好用。

2024-10-17 23:06:45 1097

原创 kubeadm部署的k8s证书过期解决

https://hub.docker.com/r/wzshiming/kube-cross/tags 在dockerhub 下载相应的版本。因为nginx的镜像中没有wget、telnet、curl等环境验证命令,从宿主机copy一个telnet命令来验证nginx服务。将新生成的 admin.conf 文件拷贝,替换 ~/.kube 目录下的 config 文件。#用源码包里的kubeadm覆盖掉以前的。使用for循环进行查看。编译后的文件所在路径。//此文件修改如下内容。//此文件修改如下内容。

2024-10-16 08:26:24 981

原创 kubernetes日志收集方案

使用节点级日志代理使用sidecar容器和日志代理使用具有日志代理功能的sidecar容器建议:使用方案1,将应用日志输出到stdout & stderr,通过在宿主机上直接部署logging-agent的方式集中处理日志部署简单可以使用kubectl logs目录查看日志宿主机本身可能已有rsyslogd等成熟日志收集组件可使用。

2024-10-16 08:25:40 1345

原创 Flink On kubernetes

Session 模式下,Flink 集群处于长期运行状态,当集群的Master组件接收到客户端提交的任务后,对任务进行分析并处理。用户将Flink集群的资源描述文件提交到 Kubernetes 之后,Flink 集群的 FlinkMaster 和 TaskManager 会被创建出来,如下图所示,TaskManager 启动后会向 ResourceManager 模块注册,这时 Flink Session 集群已经准备就绪。

2024-10-15 22:35:55 1443

原创 kubernetes自定义pod启动用户

image: ...

2024-10-15 22:32:55 487

原创 Karmada核心概念

Karmada (Kubernetes Armada)是一个Kubernetes管理系统,使您能够跨多个Kubernetes集群和云运行您的云原生应用程序,而无需更改应用程序。通过使用Kubernetes原生api并提供高级调度功能,Karmada实现了真正开放的多云Kubernetes。Karmada旨在为多云和混合云场景下的多集群应用程序管理提供交钥匙自动化,具有集中式多云管理、高可用性、故障恢复和流量调度等关键功能。Karmada是云原生计算基金会(CNCF)的一个沙盒项目。

2024-10-15 22:29:47 1238

原创 GO之流程控制

for range 结构时Golang语言特有的一种迭代结果,在许多情况下都非常有用,for range 可以遍历数组、切片、字符串、map及通道。这三种基本逻辑是相互支撑的,他们构成了算法基本机构,无论怎样复杂的逻辑结构,都可以通过他们来表达。fmt.Printf("索引为: %d, 具体的值为:%c \n", i, value)索引为: 10, 具体的值为:d。索引为: 11, 具体的值为:!索引为: 15, 具体的值为:你。索引为: 18, 具体的值为:好。索引为: 21, 具体的值为:,

2024-10-15 22:23:23 967

原创 flask基础学习

Flask中有个配置属性叫做SECRET_KEYregex名字固定"""第一步:自定义URL匹配正则表达式""""""路由匹配时,正则匹配成功后传递给视图函数中参数的值:return:""""""使用url_for反向生成URL时,传递的参数经过该方法处理,返回的值用于生成URL中的参数:return:"""return val# 第二步:添加到flask中# 第三步:zaiapp.run()Mobile转换器# 等价于# 定义转换器# 将自定义转换器告知Flask应用。

2024-10-14 16:39:08 1255

原创 部署带证书的docker高可用的私有仓库harbor

它以 Docker 公司开源的 registry 为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control),AD/LDAP 集成、以及审计日志(Audit logging) 等企业用户需求的功能,同时还原生支持中文。echo "${node} 秘钥copy完成,准备环境初始化....."对于已经安装的harbor仓库,先stop,然后执行安装命令(注意:高版本)对于已经安装的harbor仓库,先stop,然后执行安装命令。echo "host 文件拷贝完成"

2024-10-14 16:15:13 1096

原创 内网DNS

递归查询就是客户机会等待最后结果的查询,而迭代查询是客户机等到的不一定是最终的结果,而可能是一个查询提示。

2024-10-14 16:08:51 701

原创 Redis日常运维

作为一名资深运维工程师,了解 Redis 的不同架构模式及其优缺点是非常重要的。此外,监控 Redis 的关键指标也是确保其稳定运行的关键。以下是对这些问题的详细解答。

2024-10-14 16:00:54 1192

原创 FBV与CBV区别

由路由----->as_view()方法----->view中dispatch方法(反射实现的)注释setting.py中的46行代码之后单独需要验证的方法。首先执行url中的as_view()方法。CBV就是在视图中使用类处理请求。就是在视图里使用函数处理请求。实现本质:基于反射实现的。

2024-10-13 21:37:59 314

原创 Django ORM中models的字段和参数

PS: 返回值为字段在数据库中的属性,Django字段默认的值为:注意事项触发Model中的验证和错误提示有两种方式:a. Django Admin中的错误信息会优先根据Admiin内部的ModelForm错误信息提示,如果都成功,才来检查Model的字段并显示指定错误信息b. 使用ModelFormc. 调用Model对象的 clean_fields 方法,如:email = models.EmailField(error_messages={'invalid': '格式错了.'})

2024-10-13 21:34:17 427

原创 Django-分页、中间件和请求的声明周期

  2、index.html   3、扩展 二)自定义分页器二、中间件     Django中叫中间件,其他框架种有的叫管道。  中间件,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变Django的输入与输出。因为改变的是全局,所以需要谨慎使用,用不好会影响性能。  django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件

2024-10-13 21:28:04 1002

原创 gitlab项目迁移和日志文件功能解析

Gitlab 日志位置记录。

2024-10-13 21:17:59 306

原创 jenkins知识整理

先备份 config.xml 为 config.xml.bak,而后打开 config.xml 配置文件,修改“<useSecurity>true</useSecurity>”为“<useSecurity>false</useSecurity>”;首先,进入 .jenkins 目录(比如/home/jenkins/.jenkins)。jenkins job显示设置插件,比如二维码显示(需要在全局安全配置)2 访问Jenkins页面,输入管理员admin,及刚才的密码;job配置历史插件(方便配置管理)

2024-10-13 21:09:44 1647

原创 git的使用

Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。

2024-10-13 21:03:56 670

原创 网站安全篇之SQL注入

【代码】网站安全篇之SQL注入。

2024-10-13 18:37:54 514

原创 Django-admin管理工具

单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。

2024-09-30 15:25:19 1402

原创 Django-form表单

Widget:用来渲染成HTML元素的工具,如:forms.Textarea对应HTML中的<textarea>标签Field:Form对象中的一个字段,如:EmailField表示email字段,如果这个字段不是有效的email格式,就会产生错误。Form:一系列Field对象的集合,负责验证和显示HTML元素Form Media:用来渲染表单的CSS和JavaScript资源。subject = forms.CharField(max_length=100 ,label='留言标题')

2024-09-30 15:06:42 1705

原创 进程管理工具:非daemon进程管理工具supervisor

supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程,或者可以说是多个程序。supervisor与launchd,daemontools,runit等程序有着相同的功能,与其中某些程序不同的是,它并不作为“id 为 1的进程”而替代init。相反,它用于控制应用程序,像启动其它程序一样,通俗理解就是,把Supervisor服务管理的进程程序,它们作为supervisor的子进程来运行,而supervisor是父进程。

2024-09-29 08:33:21 1366

原创 Django-认证系统

authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的。通过认证并不意味着用户拥有任何权限,甚至也不检查该用户是否处于激活状态,这只是表明用户成功的通过了认证。若用户没有登录,则会跳转到django默认的 登录URL '/accounts/login/ ' (这个值可以在settings文件中通过LOGIN_URL进行修改)。用户需要修改密码的时候 首先要让他输入原来的密码 ,如果给定的字符串通过了密码检查,返回 True。

2024-09-27 15:47:12 757

wiztree称得上最快的磁盘空间分析器,没有之一,界面简洁明晰,操作简单快捷,500GB硬盘,不到1秒完成扫描,文件按大小进行

wiztree称得上最快的磁盘空间分析器,没有之一,界面简洁明晰,操作简单快捷,500GB硬盘,不到1秒完成扫描,文件按大小进行排序,轻松发现究竟哪个流氓软件占用大量硬盘空间。 Windows磁盘管理的利器,非常直观地确定资源占用情况,根据实际情况进行清理空间

2023-02-21

Serv-U是Windows平台和Linux平台的安全FTP服务器(FTPS, SFTP, HTTPS),是一个优秀的、安全的文

Serv-U是Windows平台和Linux平台的安全FTP服务器(FTPS, SFTP, HTTPS),是一个优秀的、安全的文件管理、文件传输和文件共享的解决方案 Serv-U 是当前众多的FTP服务器软件之一。通过使用Serv-U,用户能够将任何一台PC 设置成一个FTP 服务器,这样,用户或其他使用者就能够使用FTP 协议,通过在同一网络上的任何一台PC与FTP 服务器连接,进行文件或目录的复制,移动,创建,和删除等。这里提到的FTP 协议是专门被用来规定计算机之间进行文件传输的标准和规则,正是因为有了像FTP 这样的专门协议,才使得人们能够通过不同类型的计算机,使用不同类型的操作系统,对不同类型的文件进行相互传递。

2023-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除