- 博客(43)
- 收藏
- 关注
原创 TCP基础知识
⑥序列号和确认应答:TCP为每个数据段分配一个唯一的序列号,接收方在收到数据后,会向发送方发送一个包含接收到的数据段序列号的确认应答(ACK)。接收方收到数据后,会对数据进行同样的校验和计算,并与发送方的校验和进行比对。接收方会在ACK中告诉发送方其当前可用的缓冲区大小,发送方则根据这个信息来调整发送速率,避免发送过多的数据导致接收方无法及时处理。当网络拥塞时,发送方会降低发送速率,以减少数据包的丢失和重传,从而提高网络的稳定性和可靠性。发送方会重新发送该数据段,直到收到确认应答或达到最大重传次数。
2025-02-11 10:04:26
354
原创 python的sys模块学习与实践
6、sys.getswitchinterval() 获取解释器当前设置的县城切换时间间隔,间隔以秒为单位,这个间隔决定了在python代码执行期间,线程在执行多长时间后自动让出控制权,允许其他线程运行。5、sys.path 定义了python解释器的模块搜索路径,当尝试导入一个模块时,python会在sys.path列表中的每个目录里查找该模块。一、sys模块是python内置模块,他提供了一些简单的函数和变量,用于访问与python解释器和python环境相关的变量与功能。三、sys模块的函数。
2024-12-16 16:23:10
437
原创 python的os模块实践和shutil模块实践
是一个非常重要的模块。os.rmdir(‘dirname’) 删除单级空目录,若目录不为空则无法删除,报错;os.system() 相当于linux系统在命令行shell中执行一条命令,在windows系统cmd中执行一条命令。2、os.listdir() 列出指定目录下的所有文件和目录,包括隐藏文件,并以列表方式打印。3、os.getcwd() 获取当前工作目录的绝对路径。os.pardir 获取当前目录的父目录字符串名:(’..’)1、os.system() 和 os.popen()
2024-12-12 14:26:30
266
原创 python中的高阶函数
reduce 函数累积求值(需要导入from functools import reduce)高阶函数是指将函数作为参数传入。filter 过滤函数。sorted 排序函数。1、什么是高阶函数?2、高阶函数有哪些?
2024-12-09 16:44:31
262
原创 nginx防盗链原理与实践
nginx防盗链的原理是基于http请求头中的referer来限制对资源的访问(referer是用来告知浏览器该网页时从哪个页面链接来的),从而防止其他网站胃经授权直接链接资源。再次通过百度发现无法访问该图片资源,并显示403操作被拒绝(没有足够的权限导致)1 首先在nginx的工作目录下创建img文件夹,并存放image.png图片。此时由于没有开启防盗链,我的电脑可以访问该资源,通过百度也可以访问该资源。nginx防盗链的作用是节省带宽和资源消耗,保护数据安全,维护内容版权。
2024-12-04 16:55:17
210
原创 nginx优化
在Linux中使用epoll,在FreeBSD中使用kqueue,在windows中使用iocp.如GoAccess或AWStats,分析访问日志,找出性能瓶颈和优化点。缓存打开的文件描述符,以减少文件打开和关闭的开销。若客户端支持,启用HTTP/2以提高并发性能。使用固态硬盘SSD代替传统的机械硬盘HDD,以提高I/O性能。保持与客户端和上又服务器的长连接,以减少建立和关闭的开销。1 启用nginx的运行状态,以及时发现和解决性能瓶颈。增加服务器内存,以减少交换空间使用,并提高缓存命中率。
2024-11-25 13:38:54
292
原创 python实现对数据进行千分位的操作
理解题目:希望写一个函数add_thousandth来实现该操作。输入1234567890 返回 1,234,567,890。方法二:也可以两行代码直接实现,不使用函数。输入1000 返回 1,000。方法一:使用函数来实现,如下图所示。
2024-11-19 13:55:00
324
1
原创 双网卡绑定即网卡bond
网卡bond(绑定),也称作网卡捆绑。就是将两个或者更多的网卡绑定成一个虚拟网卡。bond可以让多块网卡看起来是一个单独的以太网接口设备具有相同的ip地址,可以实现本地网卡的冗余,带宽扩容和负载均衡。通过网卡绑定技术技能增加服务的可靠性,又增加了网络带宽,为用户提供不间断的网络服务。意义提高网卡的吞吐量;增强网络的高可用;同时也能实现负载均衡。
2023-11-13 14:48:33
1560
原创 Centos7之pxe-kickstart批量装机步骤和遇到的问题
2 system-config-kickstart显示Could not open display because no X server is running. Try running 'system-config-kickstart -help"3 还有一种是system-config-kickstart 菜单出现后乱码,可以按这个操作下。两个原因:网络原因和配置文件原因,可以参照dhcpd.conf文件。重启服务端机器即可解决问题。修改配置文件效果如下。
2023-10-30 22:28:44
617
1
原创 bash: /bin/yum: /usr/bin/python: bad interpreter:没有那个文件或目录
python "bad interpreter"
2023-10-16 16:00:18
1829
1
原创 openEuler系统重置root密码
2 按下光标后,找到linux开头这一行,修改ro为rw,并在行尾添加init=/bin/sh,修改后效果如下,在crtl+x保存后开始。1 系统启动时,出现如下页面,按e进入内核编辑模式。3 执行修改密码操作,指令如下。4 验证root密码。
2023-10-10 14:53:49
2098
1
原创 Linux运维基础之Centos6重置root密码
显示updated successfully表示root密码更新成功,最后执行reboot重启即可。输入echo 'abc123' | passwd --stdin root。centos6.6版本的系统root密码更新成功。本次演示的版本是centos6.6版本。
2023-10-10 13:45:04
2203
1
原创 docker将镜像导出到本地,上传至内网服务器上
背景:在企业中往往出现了内网不能和外网相通,不能使用docker pull命令来拉取镜像,这个时候我们就可以考虑在有所需镜像的服务器上导出镜像,再将其上传到内网服务器上。有两种方法,一种是通过容器,一种是通过镜像,其实本质是一样的,容器的实质就是镜像方法一:通过容器1 首先使用docker ps -a 查看本机上的所有容器2 导出镜像使用docker export命令根据容器id将镜像导成一个文件上面命令执行之后,我们便可以通过ls命令在当前目录下发现image.tar3 导入镜像。......
2022-08-03 17:41:45
14131
3
原创 Centos 7 之使用LVM扩容根分区
在VMware中,默认安装的Linux虚拟机的磁盘大小为20G,但是在安装完各种软件和下载各种包后往往出现根分区磁盘大小不足。即使删除大的日志文件还是磁盘空间不足,这个时候便需要对挂载在根分区上的磁盘进行扩容。LVM,即Logical Volume Manager,逻辑卷管理器,是一种硬盘的虚拟化技术,可以允许用户的硬盘资源进行灵活的调整和动态管理。LVM是Linux系统对于硬盘分区管理的一种机制,诞生是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对硬盘的强制性扩容和缩容理论上是可行的,但
2022-05-15 16:50:12
3690
1
原创 Linux之系统状态运维 常见命令即参数详解
vmstat命令展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存的交换情况,io读写等用法:vmstat a b 表示每a秒采集b次procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id...
2022-05-06 10:44:19
1332
原创 keepalived和LVS的高可用的负载均衡集群原理
keepalivedkeepalived三大核心模块:1 core模块 功能是主进程的管理维护,全局配置文件的解析和加载2 vrrp模块 功能是来实现vrrp协议3 check模块 功能是负责健康检查,主要对端口和url进行健康检查keepalived的工作原理:keepalived是通过vrrp协议进行通信的,那么就要从vrrp协议说起。1 vrrp协议是虚拟路由冗余协议,作用是为了解决静态路由的单点故障。vrrp协议的原理:是一种容错的主备模式的协议。保证当主机的下一跳路
2022-03-28 14:09:57
1944
原创 配置redis缓存实例出现报错 及解决方法
redis由于其高并发和高性能常被用于缓存配置时常常会遇到一些问题。正常情况下,访问应该如下展示:第一次访问页面再次刷新上次访问页面,会出现如下页面 mysql 变为redis但在配置过程中常常出现,没有出现redis,一直是mysql可能出现的原因:1没有关闭防火墙systemctl stop firewalld systemctl disable firewalld 开机自关闭防火墙sed -i 's/Enforcing/Disabled/g' /e..
2022-01-18 22:15:12
1682
原创 为什么要用redis,以及redis 的缓存问题(穿透,击穿,雪崩)以及解决方案
为什么要用redis答:1 redis是非关系型数据库,内部是一个key-value存储系统。2 支持五种数据类型:列表(list),字符串(string),集合(set),有序集合(zset sorted-set),hash(哈希类型。相当于Java中的map)。3 基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQL(非关系型数据库)数据库之一,也被称为数据结构服务器。单机时代模型如果每次存储成千上万条数据,这样很会导致MySQL的性能很差,存储以及读取速度很慢,...
2021-12-17 13:13:02
354
原创 redis 如何实现发布订阅?redis事务详解
Redis 发布订阅(pub/sub)是一种消息通信模式: 发送者发送消息(pub)订阅者接收消息(sub)实例:准备工作:一台主机的两个终端创建一个订阅频道channel在另一个终端,发布两个消息此时会发现,订阅者终端会显示发布的信息发布订阅拿下!redis事务a 作用:串联多个命令防止别的命令插队b 特征:1 事务是一个原子操作:原子性(Atomicity)(不可分割性) 要么完成,要么不完成,不会存在中间态 2 事务是一...
2021-12-04 21:57:45
199
原创 计算机网络概述
网络硬件设备: 中继器: RP (信号放大器)适用于完全相同的两类网络的互连,通过对数据信号进行放大,来 扩大网络传输的距离。 工作与OSI模型的物理层 优点:对信号进行再生和还原的网络设备 缺点:放大通信信号的同时放大噪音 已经被淘汰 集线器: HUB 对接收到的信号进行再生整形放大,以扩大传输距离,同时把所有节点集中在以它为中心的节点上。 工作在OSI模...
2021-12-02 15:44:46
2269
原创 配置数据库缓存(memcached)
Memcached 可以轻松应对大量同时出现的数据请求,而且它拥有独特的网络结构,在工作机制方面,它还可以在内存中单独开辟新的空间,建立 HashTable,并对 HashTable 进行有效的管理。 Memcache 是这个项目的名称,而 Memcached 是它服务器端的主程序文件名。一个是项目名称,另一个是主程序文件名。 memcached是一种缓存技术,将数据放入内存,从而通过内存访问提速,因为内存是最快的,memcached的主要目的是提速那么为啥...
2021-11-28 13:48:09
1551
原创 MySQL登录密码忘记?怎么办
1 找到配置文件vim /etc/my.cnf在最后一行加入skip-grant-tablesskip-grant-tables2 重启MySQLsystemctl restart mysqld3 输入mysql ,进入数据库,并使用mysql库use mysql;4 修改帐号密码为空update user set authentication_string = '' where user = 'root';5 查看主机名,用户,算法select host
2021-11-21 17:14:19
649
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人