- 博客(128)
- 收藏
- 关注
原创 Nginx:配置文件详解
server{访问:允许根据用户请求的URI来匹配定义的各location,匹配到时,此请求将被相应的location块中的配置所处理;# =: 精确匹配检查;# ~: 正则表达式模式匹配,区分字符大小写;# ~*:正则表达式模式 匹配,不区分字符大小写;# ^~:URI的前半部分匹配,不检查正则表达式;匹配优先级:精确匹配(=)、^~、~和~*、由不带符号的URL进行左侧匹配;#访问上面的地址就相当于访问。
2023-11-26 09:50:40 5071 1
原创 Nginx:简介、安装与部署
Nginx是一个很好的高性能Web和反向大力服务器,它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apahe服务器的不错的替代品:Nginx在美国是虚拟主机生意选择的软件平台之一。能够支持50000个并发连接数的响应,Nginx选择了Epoll and kqueue作为开发模型。Nginx作为负载据衡服务器:Nginx既可以在内部直接支持也可以直接对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。
2023-11-23 16:57:33 337
原创 算法:计数排序
目录一、简述二、算法思路三、图解实例3.1 整体过程图解编辑 3.2 把待要排序的列表用列表示出来编辑3.3 找出待排序列表中最大的数,构造新的数组:累计计数数组,数组内容全部为0 【蓝色部分】,长度为:待排序数组最大值+1 3.4 在计数数组上,统计待排序数组,中元素出现的次数 【蓝色部分】编辑3.5 把计数数组变更为累计数组【确定其在排序好列表中位置】 3.6 进行最终结果排序四,代码实现计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性
2022-06-20 23:31:26 776 1
原创 服务端性能监控:nmon使用
1、查看自己的服务版本,找的适合自己版本的服务器进行下载2、现在服务自己版本服务器的版本下载地址:http://nmon.sourceforge.net/pmwiki.php3、上传到服务器更改明敏文件目录为nomn,并给与执行对下文件下,系统的采集脚本[root@localhost app]# ./nmon/nmon_x86_64_centos7 -s 5 -c 60 -F res1.nmon-s :指定监控采样的时间间隔,单位为秒 -c:指定监控采样执行的次数,上述例子中指定...
2022-05-03 09:48:43 278
原创 Ettercap:中间人攻击使用
1、在kali中输入:ettercap -G 打开 最新版本的Ettercap,并选择eth0,进行sniffing2、右上角多选按钮,选择Targets > current targets,去嗅探当前网络的主机3、右上角多选按钮,选择Hosts > Hosts List , 展示当前网络的主机列表4、添加攻击的目标网段下的所有主机作为Target1,网关作为Target25、进行右上角的标志,点击ARP poisoning 攻击6、查看kail的物理地址,...
2022-05-02 22:13:28 1469
原创 Kali:sqlmap :[10:39:37] [CRITICAL] unable to connect to the target URL
1、kali中使用sqlamp 访问靶机OWAS中页面进行SQL注入提示:unable to connect to the target URL2、看了网上的都是扯淡增加代理访问sqlmap -u "http://192.168.111.132/mutillidae/index.php?page=user-info.php&username=zhuzhu&password=123456&user-info-php-submit-button=View+Account+Det
2022-04-17 09:29:51 4731 4
原创 爬虫:Splash使用
Splash 是一个JavaScript渲染服务,是一个带有HTTP API的轻量浏览器,同时它对接了Python中的Twisted和QT库利用它,可以同样实现动态渲染页面的抓取1、安装Scrapy-Splash 是一个Scrapy中支持JavaScript渲染的工具,安装分为两部分,一个是Splash服务的安装,具体是通过docker,安装之后,会启动一个服务,通过它的接口来实现JavaScript 页面的加载,另外一个是Scrapy-Splash的Python库的安装,安装之后可在Scrapy中
2022-01-13 23:01:02 4003 2
原创 爬虫:动态页面爬取Selenium
Ajax其实也是JavaScript动态渲染的页面的一种情形,不过JavaScript 动态渲染的页面不止Ajax 这一种: 比如中国青年网(详见 http://news.youth.cn/gn/ ), 它的分页部分是由 JavaScript 生成的,并非原始 HTML代码,这其中并不包含 Ajax 请求。 比如 ECharts 的官方实例(详见 http: //echarts.baidu.com/demo.html#bar-negative ),其图形都是经过 JavaScript 计算之后生成的。 再有
2022-01-05 22:55:20 10637 5
原创 爬虫:Ajax数据爬取
目录1、什么是Ajax1.1 实例的引入1.2 基本原理2、Ajax分析方法1、查看请求2、过滤请求3、Ajax结果提取1、分析请求2、分析响应3、例子我们在用 requests 抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用 requests 得到的结果并没有, 这是因为 requests 获取的 都是原始的 HTML 文档,而浏览器中的页面则是经过 JavaScript 处理数据后生成的结果,这些数据的.
2022-01-03 16:58:13 8984
原创 爬虫:CSV文件存储
CSV,全称为 Comma-Separated Values ,中文可以叫作逗号分隔值或字符分隔值,其文件以纯文 本形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔,每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符, 不过所有记录都有完全相同的字段序列 ,相当于一个结构化表的纯文本形式, 它比 Excel 文件更加简介, XLS 文本是电子表格,它包含了文本、数值、公式和格式等内容,而 CSV 中不包含这些 容,就是特定字符分割的纯文本,结
2022-01-02 19:15:18 952
原创 爬虫:JSON文件存储
JSON ,全称为 JavaScript Object Notation 也就 JavaScript 对象标记,它通过对象和数组的组合 来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式目录对象和数组读取Json输出JSON对象和数组JavaScript 语言中,一切都是对象, 因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、 对象 、数组等,但是对象和数组都是比较特殊且常用的两种类型,下面简要介绍一下 它们对象:他在JavaScript
2022-01-02 15:50:09 1325
原创 爬虫:文件存储:Text
文件保存的形式是多种多样的,最简单的形式是直接保存文本文件,如:TEXT,JSON,CSV等,另外还可以保存到数据中,如关系型数据库Mysql,非关系型数据库等:MongoDB,Redis等TXT文本保存保存知乎上"发现"页面的"热门话题"部分,将其问题和答案统一保存成txt形式import requestsfrom pyquery import PyQuery as pqurl = "https://www.zhihu.com/explore"headers = {"user-ag
2022-01-02 14:57:59 966
原创 爬虫:pyquery 解析库
如果你比较喜欢CSS选择器,对jQuery有所了解,那么这个库更加适合——pyquery初始化向Beautiful Soup一样,初始化pyquery的时候,也需要传入HTML文本来初始化一个PyQuery对象,它的初始化方式有很多种,比如直接传入字符串,传入URL,传入文件名1、字符串初始化...
2022-01-01 22:55:13 701
原创 爬虫:Beautiful Soup
目录Beautiful Soup 简介解释器基本用法节点选择器选择元素提起信息1、提取名称2、获取属性3、获取内容嵌套选择关联选择1、子节点和子孙节点2、父节点和祖先节点3、兄弟节点4、提取信息方法选择器1、find_all()2、find() :返回单个元素CSS选择器1、嵌套选择2、获取属性3、获取文本对于一个网页来说,都有一定的特殊结构和层级关系,而且很多节点都有 id,class 来作区分,所以借助它们.
2021-12-26 17:40:34 1222
原创 爬虫:Xpath定位
对于网页的节点来说,定义id,class或其他属性。而且节点之间还有层级关系,在网页中通过XPath或CSS选择器来定位一个或多个节点,对于这种解析库非常多,其中比较强大的库有lmxl,Beautiful Soup、pyquery等,XPath概览...
2021-12-25 14:16:02 2714
原创 爬虫:Requests高级用法
了解了 requests 基本用法 ,如基本的 GET, POST 请求以及 Response 对象 本节巾,我们再来了解下 requests 些高级用法,如文件上传、 Cookies 设置 代理设置等1、文件上传requests 可以模拟提交一些数据, 假如有的网站需要上传文件,我们也可以用它来实现, 这非常简单import requestsfiles = { "files": open("favicon.ico","rb")}response = requests.pos
2021-12-05 08:44:49 1594
原创 爬虫:使用Requests模块基本使用
目录安装Requests示例引入GET请求抓取网页抓取二进制数据POST请求常用的响应我们了解urllib的基本用法,但是其中确实有不方便的地方,比如处理网页验证和 ookies时,需要写 Opener 和Handler来处理.。为了更加方便地实现这些操作,就有了更为强大的库request ,有了它,Cookies 、登录验证、代理设置等操作都不是事儿。安装Requestspin install requests示例引入import requ...
2021-11-30 22:34:26 1427
原创 爬虫:Robots协议
Robots 协议也称作爬虫协议、机器人协议,它的全名叫作网络爬虫排除标准( Robots Exclusion Protocol ),用来告诉爬虫和搜索引擎哪些页面可以抓取,哪些不可以抓取 它通常是一个叫作 robots.txt的文本文件,一般放在网站的根目录下当搜索爬虫访问一个站点时,它首先会检查这个站点根目录下是否存在 robots.txt 文件,如果存在, 搜索爬虫会根据其中定义的爬取范围来爬取, 如果没有找到这个文件,搜索爬虫便会访问所有可直接访问的页面:看个robots.txt的样例:.
2021-11-29 22:40:41 2340
原创 爬虫:URL解析链接
目录urlparse() :实现URL的识别和分段urlparse() 方法其他API用法urlunparse() :实现URL拼接urlsplit():解析URL把params和并到path中urlunsplit() :完成链接拼接urljoin():完成链接的合并urlencode() :序列化为GET请求参数parse_qs():反序列:字典parse_qsl() 反序列化:列表quote() :将内容转化为URL编码的格式unquote():将UR...
2021-11-28 22:03:01 2405
原创 Kubernets:安装过程中问题解决
1、Kuerenets:启动失败:[kubelet-check] It seems like the kubelet isn't running or healthy.[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: c
2021-11-28 14:36:58 1319
原创 爬虫:基本解析库的介绍urllib
Python2中,有urllib和urllib两个库来实现请求的发送,而在Python3中,已经不存在urllib2这个库了,统一为urllib库,他是Python内置的HTTP的请求库主要有4个模块Request:它是最基本的 HTTP 请求模块,可以用来模拟发送请求 就像在浏览器里输入网挝 然后回车 样,只需要给库方法传入 RL 及额外的 数,就可以模拟实现这个过程了Error:异常处理模块,如果出现请求错误 可以捕获这些异常,然后进行重试或 作以保证程序不会意外终止Parse:一个工具模
2021-11-28 14:36:27 358
原创 Docker:kubernetes安装部署之二
kubernetes集群在安装的时候要求有三种网络Pod(Pod网络):每个Pod运行在同一个网段中,可以Ping通Service(集群网络):和Pod不在同一个网段,Service地址是虚拟的假的,存在IP tables或IPVS中Node(节点网络):节点的网段又是独立的一个,Node节点的IP地址,即物理机(宿主机)的网卡地址这种网络Kubernetes不提供,需要于第三方依赖插件来解决,都可以托管在Kubermetes上,单Pod,或者守护进程来启动提供网络服务: 提..
2021-11-21 10:31:11 1659
原创 Docker:kubernetes简介之一
Kubernetes是什么?Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。主要特性:1、自动装箱 【基于资源依赖,最大约束能够自动完成容器的部署,而且不影响其可用性】2、自我修复 【容器崩了,可以在短时间内启动(容器kill掉,用重启来代修复)】
2021-11-07 00:12:03 587
原创 Devops:Gitlab安装
目录GitLab 是什么GitLab的优势GitLab的构成和主要架构工作流程图GitLab工作流GitLab和兴概念:Merge Request 和ForkGitLab CI/Pipeline 流水线图搭建GitLab配置GitLab 是什么GitLab是一个开源分布式版本控制系统,利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目GitLab的优势开源免费,适合中小型..
2021-11-01 16:44:43 273
原创 Devops:Jenkins 使用简介,增加节点
目录Jenkins 系统架构图Jenkins分布式建构图Jenkins 核心概念常见的Job类型Freestyle project 项目构建一个项目Jenkins中增加节点Jenkins 系统架构图Jenkins分布式建构图Jenkins 核心概念概念 含义 Core [核心 ] 主要的jenkins应用程序(jenkins.war),它提供了基本的web ui、配置和插件构建的基础。 Plugin [插件] 与J
2021-10-31 17:32:39 857
原创 Devops:Jenkins安装用Docker
Jnekins 下载简介官方支持LTS(Long-term Support)和Weekly版本;LTS每12周发布一次支持多平台下载:下载地址:https://www.jenkins.io/download/ ;这里使用的Docker安装方式LTS版本发布周期示意图1、拉取docker新的镜像[root@localhost jenkins]# docker pull jenkins/jenkins:latest[root@localhost jenkins]# mkdir -p.
2021-10-31 11:18:02 242
原创 Docker:资源限制
前面我们提到过,容器能够得以实现,主要依赖于内核的种的NameSpace,CCgroupsNameSpace(命名空间)CCgroups(控制组)控制NameSpace(命名空间)来进行资源的分配1、默认情况下一个Docker中的一个Container是没有资源限制的,调度器能够Container调度多少资源,它都能 吃掉2、Docker provides 提供了控制Memory,CPU,block IO,从这三个维度来进行控制的,其实它正真能控制前两个Memory,CPU,【我们知...
2021-10-23 20:03:40 373
原创 Docker:Docker Registry 搭建私有仓库,Harbor
Resistry 【退管镜像】用于保存docker镜像,包括镜像的层次结构和元数据;用户可自建Registry , 也可以使用官方的Docker HubSponsor Registry:第三方的registry,供客户和Docker社区使用 Mirror Registry :第三方的registry,只让客户使用 Vendor Registry:由发布Docker镜像的供应商提供的registry Private Registry:通过设有防火墙和额外的安全层的私有实体提供的registry安.
2021-10-20 23:21:33 567
原创 Docker:Dockfile制作容器详细介绍
有些镜像不能满足我们的生产环境的需要就需要自己来制作镜像;制作镜像有两种方式:1、基于镜像【修改容器: 自定义容器】缺点所有的配置都是写死的不能灵活配置【假设我们需要三个镜像:测试,开发,线上配置都是不相同,实现起来配置是很麻烦的,都需要重新制作】;事实上docker在配置文件山解决方案是:nginx这个镜像启动为容器后只做一件事情,配置一个虚拟主机,提供一个虚拟Server,它所服务主机名、家目录、监听的端口,文档根目录,在什么时候?由于配置的环境影响可能可不一样,当时它的配置文件格式是.
2021-10-19 21:57:24 1986
原创 Docker:逻辑卷详细解释
目录什么是数据卷?扩展为什么要使用逻辑卷?卷卷的种类创建逻辑卷Docker-managed volume创建Bind mount volume 创建使用go模板过滤insepct中的信息2个容器共享容器卷创建共享存储卷并加入基础镜像的网络Docke 作为容器运行底层引擎,在组织和运行时候每个程序只运行一个程序及子程序,对于启动这个容器它底层可能不止一层的镜像联合挂载的启动而成最上层时可写层【读写层】,对于容器的所有的操作包括数据,对内容的修改...
2021-10-17 11:37:36 975
原创 Docker网络模型:Nat,bridge,叠加网络;Docker中的bridge,host,none网络
目录Docker:网络模型Network:隔离设备,网络栈,端口等Bridge:桥网络一、S1、S2交换机之间用软件模拟虚拟网卡,进行通信二、S1、S2交换机通过路由转发,实现不同的网段的通信Nat:网络地址转换协议Overlay Network:叠加网络Docker 中网络Docker 中 Bridge 网络IPtables 规则Docker 中 host 网络引入Container A要被外部主机B访问,还有什么方法(除了桥接)?...
2021-10-16 11:09:47 3982 2
原创 Linux:Tomcat 安装配置详解
目录一、Tomcat 简介二、Tomcat核心组件三、Tomcat组件组成部分四、Tomcat的运行模式五、安装Tomcat六、Java WebAPP组织架构七、部署(deployment)webapp相关的操作一、Tomcat 简介Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选二、Tomcat核心组件catalina: servlet container:...
2021-09-21 18:39:19 1228
原创 LInux:LInux找回密码
1、开机后按上下键,防止启动成功,然后在按:e2、修改如下图配置3、按Crtl + x进入救援模式4、输入以下命令5、重新启动,输入新改的密码,就可以登录成功
2021-09-05 18:10:19 222
原创 Linux:网络配置、IP、route、lftp、配置文件
网络配置方式一般分为两种静态指定 ifcig系列:ifconfig,route ip系列:object(link,addr,route),ss,tc 配置文件 [system-config-network-tui](setup) 使用图形化界面:nmcli,nmtui 动态分配 DHCP :Dynamic Host Configguration Protocol 命令形式配置网络...
2021-08-29 10:02:14 1736
原创 Linux:Ansible Playbooks,yuam语法,roles模块的详细解释
对于Playbook来讲是由:Inventory、Modules、Ad Hoc Commands、Playbooks【Tasks、Variables、Templates、Handlers、Roles】组成的,想要了解Playbooks,我们需要先了解下YAML语法一、YAML语法简介YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言,另外Ing
2021-08-15 15:17:49 2090
原创 Linux:Ansible简介、常见模块:server、copy、shell……等17个常用模块
一、Ansible简介ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架二、Ansible的架构Ansible core(核心程序):用来调度执行任务,所需要的模块Host inventory.
2021-08-12 07:27:53 1108
原创 Python:python中IO多路复用使用
IO多路复用大多数操作系统都是支持select和poll Linux2.5+ 支持epoll BSD、Mac支持kequeue Windows的IOCPPython的select库实现了select、poll系统调用,这个基本上操作系统都是支持。部分实现了epoll。底层的IO多路复用模块开发中的选择1、完全跨平台、使用select、poll。但是性能较差2、针对不同操作系统自行选择支持的技术,这样做会提高IO的处理能力 ...
2021-07-25 08:36:25 394
原创 Python:异步编程,同步、异步、IO模型概念
目录异步编程同步、异步概念阻塞、非阻塞同步、异步、阻塞、非阻塞的区别与联系同步IO、异步IO、IO多路复用IO两个阶段IO模型异步编程同步、异步概念同步是指:当程序1调用程序2时,程序1停下不动,直到程序2完成回到程序1来,程序1才继续执行下去,异步是指:当程序1调用程序2时,程序1径自继续自己的下一个动作,不受程序2的的影响。但是程序1会一直盯着程序2,直到程序2响应了,程序1会直接调用程序2,异步不保证多长时间程序2最中响应同步调用是指:发送方发出数据后
2021-07-17 23:47:30 1049 18
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人