- 博客(72)
- 收藏
- 关注
原创 网络安全之SQL注入
在输入的字符串之中注入SQL指令,在设计不良的程序中忽略了字符检查,那么这些注入进去的恶意指令就会被数据库服务器误认为是正常的SQL指令而运行。2、联合查询其他信息。
2024-04-07 23:48:28
391
1
原创 网络安全之命令注入
应用系统设计需要给用户提供指定的远程命令操作的接口,比如:路由器,防火墙,入侵检测等设备的web管理界面。一般会给用户提供一个ping操作的web界面。如果设计者在完成改功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口在正常指令之后恶意拼接其他命令,让后台进行执行,从而获得后台服务器权限。用户从web界面输入目标IP,提交后台会对改IP地址进行一次ping测试并返回测试结果。
2024-04-07 00:35:59
390
原创 Java课堂小计
compareTo方法将此对象和指定对象进行比较。如果该对象分别小于,等于或者大于其他对象,则返回-1,0或者1.A <T 输出结果-1。
2024-01-05 05:00:26
444
原创 JAVA:面向对象1
void 可以不写返回值,return一个空就行 : return;一个java类中可以有多个class,但是只能有一个public class。抽象类的所有方法,继承了它的子类都必须要实现它的方法,除非子类也是抽象类。return 返回值;非静态方法可以调用静态方法里的东西而静态方法只能调用静态方法!调用父类的构造器必须要在子类构造器的第一行,否则会报错!//修饰符/ /返回值类型/ /方法名/ /方法的参数/3、有参构造:一旦定义了有参构造,无参构造就必须显示定义。1.方法名必须相同,方法体可以不同。
2024-01-02 05:48:28
892
原创 Java每日一题:26. 删除有序数组中的重复项
i++返回原来的值,然后再将i加1;而++i是先将i加1,然后再返回加1后的值。在for循环中,i++和++i的效果是一样的,但在while循环中,i++和++i的初始值和判断条件是不同的。需要注意的是,在Vue中更加需要注意i++和++i的使用。考虑到数组为空或者数组长度为的情况下我们无需进行比较,直接返回0即可!每次取出两个数进行比较,因此,需要有两个变量去存储每次取出的值。指针p和q, p=num1,q=num2。则++p=q && p++&&q++数组是有序的,因此重复的元素会相邻。
2023-11-25 23:14:14
576
原创 Java单链表
1) 链表是以节点的方式来储存的,是链式存储结构2)每个节点包含data域和next域,next域指向下一个节点3)链表内存储的元素不一定连续4)链表分带头节点的链表和不带头节点的链表注:此处head为头节点并不存储数据,仅仅用来标识链表的头。
2023-10-01 19:19:52
156
原创 Java刷题记录(小白边刷边学)7.25
为了方便比较,先把strs的第一个字符串放进新的数组中即strs[0]equals 方法(是String类从它的超类Object中继承的)定义数组stack为栈的容器,变量top作为栈顶指针,初始值为-1;数字j需要小于两个被比较的字符串的长度方便遍历字符串的每一位。而在比较引用时,如果引用指向内存中的同一对象,结果为true。因为我们虽然定义的是数组但是实际是按照栈来使用的,入栈自加。同时更新top=top+1,表示栈顶指向新插入的元素;(1)length不是方法,是属性,数组的属性。
2023-07-25 20:34:56
161
原创 kubernetes集群之pod调度、亲和性与反亲和性
kubernetes集群之pod调度、亲和性与反亲和性一、pod调度1. nodename2. nodeSelector二、亲和与反亲和1. 节点亲和2. pod亲和与反亲和三、Tolerations容忍度一、pod调度调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部
2021-08-01 17:27:26
771
原创 kubernetes集群之Volumes配置管理
kubernetes集群之Volumes配置管理一、了解Volumes二、 emptyDir卷1. 什么是emptyDir卷2. emptyDir的使用3. emptyDir卷创建三、 hostPath卷1. 了解hostPath卷2. 部署hostPath卷四、nfs卷1. 了解nfs卷2. nfs卷的部署3 nfs与pv一、了解Volumes为了持久化保存容器的数据,可以使用 Kubernetes Volume。Volume 的生命周期独立于容器,Pod 中的容器可能被销毁和重建,但 Volume
2021-08-01 16:23:28
483
原创 kubernetes集群之Secret配置管理
kubernetes集群之Secret配置管理一、了解Secret1. 什么是Secret2. secret的使用3. secret的类型二、Secret的部署一、了解Secret1. 什么是SecretSecret是用来保存小片敏感数据的k8s资源,例如密码,token,或者秘钥。这类数据当然也可以存放在Pod或者镜像中,但是放在Secret中是为了更方便的控制如何使用数据,并减少暴露的风险。用户可以创建自己的secret,系统也会有自己的secret。Pod需要先引用才能使用某个secret,
2021-08-01 14:50:07
468
原创 k8s之Configmap配置管理
k8s之Configmap配置管理一、了解ConfigMap1. 使用configmap的目的2. configmap的原理3. ConfigMap配置使用二、configmap的部署1. 创建ConfigMap2. Configmap的使用一、了解ConfigMap1. 使用configmap的目的把应用的代码和配置分开,通过配置configmap管理pod,一种统一的集群配置管理方案。ConfigMap API资源提供了将配置数据注入容器的方式,同时保持容器是不知道Kubernetes的。Con
2021-08-01 14:13:03
949
原创 Kubernetes-网络通信的部署
Kubernetes-网络通信的部署一.k8s网络通信二. Flannel1. 了解flannel2. 部署fannel组件1> Vxlan模式2> host-gw模式三. calico网络插件1. 了解calico2. 部署calico组件3. calico网络策略1> 限制访问指定服务2> 允许指定pod访问服务3> 禁止 namespace 中所有 Pod 之间的相互访问Kubernetes的网络通信方式是整个K8s的重点,所以更好的理解它的网络通信方式有助于我们更
2021-07-29 15:33:46
595
原创 K8s之service的管理和部署
K8s之service的管理和部署一、了解service1. 什么是service2. Service的三种工作方式:二、IPVS模式1.更改ipvs模式2.更新pod三.kube-dns(k8s内置dns解析服务,用于实现域名访问)四. Headless无头模式1. 配置2. 版本更新五、service的外部访问1. nodeport1> 了解nodeport2> nodeport的部署2.LoadBalancer1> 了解loadBalancer2> loadBalancer部署
2021-07-29 13:58:08
1179
原创 k8s之Pod管理和部署
k8s之Pod管理一、了解pod1. 什么是pod2. 静态pod4. pod容器共享volume二.pod的管理和配置1. pod的基本操作一、了解pod1. 什么是podk8s中的一切都可以理解为是一种资源对象,pod,rc,service,都可以理解是 一种资源对象。pod的组成示意图如下:由一个叫”pause“的根容器,加上一个或多个用户自定义的容器构造。pause的状态带便了这一组容器的状态,pod里多个业务容器共享pod的Ip和数据卷。在kubernetes环境下,pod是容器的载
2021-07-29 11:38:03
2915
1
原创 Kubernetes集群部署
Kubernetes集群部署一.k8s简介1、什么是K8s2、K8s 设计架构3、 k8s重要节点描述4、 过程原理:5、 k8s的核心功能6. k8s的优缺点二.k8s的部署1. 还原实验环境2. 部署软件仓库,安装k8s3. 部署k8s5. 初始化集群三.安装flannel网络组件1.获取flannel最新版本2.下载yml文件一.k8s简介1、什么是K8sk8s是一个docker集群的管理工具k8s是容器的编排工具Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内
2021-07-26 20:00:01
482
原创 Docker的内存配额及其安全
Docker的内存配额及其安全一、理解Docker安全1.命名空间隔离的安全2.控制组资源控制的安全3.内核能力机制4.Docker服务端防护5.其他安全特性二、容器资源配置1.CPU限额2.内存限制三.docker安全加固1.设置特权级运行的容器2.设置容器白名单一、理解Docker安全Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面:1.命名空间隔离的安全2.控制组资源控制的安全3.内核能力机制4.Docker服务
2021-07-26 18:53:05
1362
原创 Docker数据卷
Docker数据卷一. Docker数据卷管理为什么要用数据卷docker分层文件系统 性能差 生命周期与容器相同docker数据卷 mount到主机中,绕开分层文件系统 和主机磁盘性能相同,容器删除后依然保留 仅限本地磁盘,不能随容器迁移docker提供了两种卷: bind mount docker managed volume一. Docker数据卷管理在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随
2021-07-26 18:02:32
235
原创 Docker-网络配置和存储配置
Docker-网络配置和存储配置一. Docker网络配置1. 桥接网络2.host网络模式3.none模式二.自定义网络配置1.创建自定义网桥2.自定义网段3.指定ip给容器三.Docker网卡配置1. 两个不同网桥的容器通信(双网卡)2. macvlan网络<1>.使用eth0网卡来通信<2>.使用eth1网卡来通信四. Docker的通信1. docker连外部2.外部连docker一. Docker网络配置ocker安装后会自动创建3种网络:bridge、host、non
2021-07-26 15:58:00
1177
原创 Dockerfile
Dockerfile一. 了解dockerfile一. 了解dockerfileDockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。eg:docker build -f /path/to/a/DockerfileDockerfile的基
2021-07-26 11:35:05
154
原创 Docker部署nginx及其优化
Docker部署nginx及其优化一. Docker部署nginx二、 优化一. Docker部署nginx使用rhel7的内核1. 编写Dokcerfile创建镜像2. 导入rhel7镜像2. 通过Dockerfile 执行命令创建镜像rhel7:v1查看进程:3. 查demo容器配置信息在指定路径写入index.html文件测试访问nginx服务开启的ip:二、 优化优化思路:第一次优化:优化思路:减少镜像层数,合并所有RUN指令,清理镜像构建的中间
2021-07-25 12:43:36
859
1
原创 Docker镜像仓库搭建
Docker镜像仓库搭建一、docker本地仓库1. 搭建本地仓库2. 本地仓库加密3. 本地仓库的认证(需要两台虚拟机)二.docker-harbor仓库1.配置harbor2.添加默认仓库路径了解docker仓库Docker 仓库是用来包含镜像的地方,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。一、docker本地仓库1. 搭建本地仓库1. 先清理docker环
2021-07-25 11:50:00
1109
1
原创 Docker容器部署
Docker容器部署一、了解docker1. 镜像(Image)——一个特殊的文件系统2. 容器(Container)——镜像运行时的实体3. 仓库(Repository)——集中存放镜像文件的地方二、容器配置三、docker镜像1.镜像的分层结构一、了解dockerDocker 包括三个基本概念镜像(Image)容器(Container)仓库(Repository)理解了这三个概念,就理解了 Docker 的整个生命周期:Docker基本概念详解1. 镜像(Image)——一个特殊的文件
2021-07-25 09:43:16
406
原创 saltstack-部署zabbix
saltstack+zabbix1.server1中配置zabbix-agent文件2.执行文件3.在server1上配置zabbix-server文件5.mariadb进行初始化,创建用户并授权:6.在server1下载zabbix安装包,修改配置文件实验环境:server1:172.25.2.1 salt-master + salt-minion + zabbix-serverserver2:172.25.2.2 salt-minion + zabbix-agent1.server1中配置zab
2021-07-19 20:56:04
242
原创 saltstack 自动化运维管理
saltstack 自动化运维管理一、安装二、saltstack远程执行1.远程执行shell命令salt -G roles:apache cmd.run hostnamesaltstack是一个配置管理系统,能够维护预定义状态的远程节点。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。saltstack是运维人员提高工作效率、规范业务配置与操作的利器。Salt的核心功能使命令发送到远程系统是并行的而不是串行的使用安全加密的协议使用最小最快的网络载荷提供简单的
2021-07-18 17:50:53
997
6
原创 zabbix的安装与部署(proxy、睿象云)
zabbix的安装与部署一、安装配置二、三种主机添加方式配置agent添加主机方法1.手动添加主机2. 自动添加主机简介zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,
2021-07-15 16:43:13
653
2
原创 zabbix+tidb
zabbix+tidb一. Tidb+Zabbix的简单部署一. Tidb+Zabbix的简单部署基于之前zabbix部署来实验1.校验安装包是否完整sha256sum -c tidb-latest-linux-amd64.sha256tidb-latest-linux-amd64.tar.gz: OK2.解压并开启PDtar zxf tidb-latest-linux-amd64.tar.gz查看端口2379,2380:3.agent部署4.开启zabbix及tidb
2021-07-15 15:49:19
175
原创 HAProxy实现负载均衡及高可用集群(corosync+pacemaker)
HAProxy一. HAProxy的基本配置二. haproxy的优化策略三. 读写分离五. haproxy高可用一. HAProxy的基本配置下载好之后就有了haproxy用户,在以下文件添加该用户更改haproxy的配置文件:添加status,以方便一会查看更改两个server的ip以及其httpd服务端口:开启haproxy服务:查看日志,以确定haproxy是否开启成功:在网页上查看服务状态:红色标注就是服务未开启开启httpd服务之后,先是黄色填充:
2021-07-12 19:09:07
303
2
原创 moosefs分布式文件系统
[root@zhenji trash]# find -name fstab[root@zhenji trash]# cd 005/[root@zhenji 005]# mv 00000005|dir2|fstab undel/[root@zhenji 005]# ls /mnt/mfs/dir2/1234567891011121314在这里插入图片描述[root@zhenji mfs]# mfsscadmin create 2A sclass1[root@zhenj
2021-07-12 18:02:42
375
原创 lvs负载均衡
lvs负载均衡一. lvs的简介二. lvs的基础配置三. 负载均衡的优化四.高可用(keepalived)五. lvs多主高可用一. lvs的简介lvs(linux virtual server),linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统。后期也由很多用户参与开发LVS辅助工具和辅助组件,最出名的就是alexandre为LVS编写的keepalivedkeepalived最初专门
2021-07-10 18:02:16
1019
1
原创 codis
codis一. Codis二. Codis的配置1. 搭建go环境2.安装codis3.完成集群的配置一. Codis分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集。Redis 的分片承担着两个主要目标:允许使用很多电脑的内存总和来支持更大的数据库。没有分片,你就被局限于单机能支持的内存容量。允许伸缩计算能力到多核或多服务器,伸缩网络带宽到多服务器或多网络适配器。codis的特点a. 自动平衡,使用简单,图形化的面板和管理工具
2021-07-07 22:28:44
302
原创 redis服务的部署
redis服务的部署一. redisSET @RECV=gman_do_background('syncToRedis', json_object(NEW.id as `id`, NEW.name as `name`));END$$一. redis什么是redis?Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(s
2021-07-04 23:40:27
895
原创 lamp架构之MHA高可用
MHA高可用MHA 高可用什么是MHA高可用?MHA ( Master High Availability )目前在MySQL高可用方面是一个相对成熟的解决方案 ,它由日本DeNA公司youshimaton (现就职于Facebook公司)开发,是- 套优秀的作为MySQL高可用性环境 下故障切换和主从提升的高可用软件。在MySQL故障切换过程中, MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中**,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。*
2021-07-04 15:32:53
164
2
原创 lamp架构之mysql主从复制
mysql主从复制一. 主从复制二. GTID复制vim /etc/masterha/app.confmaster_ip_failover_script= /script/masterha/master_ip_failover #failover自动切换脚本shutdown_script= /script/masterha/power_manager #故障发生后关闭故障主机脚本,防止脑裂report_script= /script/masterha/send_report
2021-07-04 14:26:14
179
1
原创 lamp架构之通过php(memcache+openresty)构建nginx高速缓存
构建nginx高速缓存一. php添加memcache功能模块二. 基于openresty(构建高效透明的缓存机制) 访问在开始之前我们先要了解nginx的缓存原理:缓存技术的基本思想: 对用户已经访问过的内容在Nginx建立副本,如果在一段时间内(缓存尚未过期)再次访问该数据,则不需要重新发起请求获取数据,可以直接从缓存中读取到该数据。缓存的好处在于减少了Nginx与后端服务之间的网络交互,减轻了网络的压力,在减少数据传输的延迟时同时可以提升用户访问速度。而且如果后端服务出现异常时,还可以通过缓
2021-07-03 19:03:36
177
3
原创 tomcat结合memcache
这里写目录标题一.tomcat二. 交叉存储三级目录一.tomcatserver2和server3安装tomcat:server3同操作在server1上:访问test.jsp:172.25.2.2当我们将server2 down掉之后我们可以看到是server3接管了服务:当server2挂掉时,会接管到server3,但数据丢失二. 交叉存储在2,3上做同样操作yum install memcached -ysystemctl enable --no
2021-07-03 18:09:30
255
1
原创 lamp架构之(nginx重定向、nginx防盗链、日志可视化)
nginx重定向、nginx防盗链、日志可视化一. nginx重定向1. 80重定向443:2. www.westos.org 重定向bbs.westos.org3. bbs.westos.org 重定向www.westos.org二. nginx 防盗链三.goaccess 日志可视化一. nginx重定向防止域名恶意解析到服务器IP:1. 80重定向443:2. www.westos.org 重定向bbs.westos.org在网页上输入:3. bbs
2021-07-01 12:48:54
206
原创 lamp架构(nginx并发优化、负载均衡、平滑更新、sticky,nginx限流、配置管理)
nginx并发优化、平滑更新、sticky,nginx限流、配置管理、nginx重定向、nginx防盗链、交叉存储一. nginx并发优化二. nginx均衡实现负载三. nginx 平滑升级四. nginx限流五. nginx配置管理1. 自动索引:下载方便2. Nginx expire缓存配置: 缓存可以降低网站带宽,加速用户访问3. 日志轮询4. 禁用不必要的日志记录,以节省磁盘IO的消耗5. 解决中文乱码6. 限制IPnginx文件的修改已经在上一部分完成了,详情请参考上一部分哦!!!一. ng
2021-06-28 20:40:36
290
原创 python高级指令及其使用
python高级特性一、生成式详解1.列表生成式2.字典生成式3.集合生成式二、生成器详解生成式的特点三、闭包四、装饰器1.万能装饰器的实现2.含参数的装饰器3.多个装饰器五、内置高阶函数1. filter2. sorted:一、生成式详解1.列表生成式列表生成式就是一个用来生成列表的特定语法形式的表达式。是Python提供的一种生成列表的简洁形式, 可快速生成一个新的list。a.普通的语法格式:[exp for iter_var in iterable]b.带过滤功能语法格式: [exp f
2021-06-28 16:52:21
136
原创 python如何持久化存储文件
python如何持久化存储文件一、 文件操作介绍1. 文件的作用2.文件的打开读写关闭3.File对象的属性:4.File对象的常用方法5. 指针定位6.文件的关闭1.获取操作系统类型2.获取主机信息,windows系统使用platform模块,如果是linux系统直接使用os模块3.获取系统的环境变量os.environ.get('PASSWORD') 通过key值获取环境变量对应的value值1.判断是否为绝对路径2.生成绝对路径3.目录名和文件名的拼接4.获取目录名或者文件名1.创建目录/删除目录
2021-06-28 14:55:32
1191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人