- 博客(108)
- 收藏
- 关注
转载 NGINX上的限流
本文是对 https://www.nginx.com/blog/rate-limiting-nginx/ 的主要内容(去掉了关于NGINX Plus相关内容)的翻译限流(rate limiting)是NGINX众多特性中最有用的,也是经常容易被误解和错误配置的,特性之一。该特性可以限制某个用户在一个给定时间段内能够产生的HTTP请求数。请求可以简单到就是一个对于主页的GET请求或者一个...
2019-07-24 12:25:00
213
转载 let's encrypt部署免费泛域名证书
环境说明[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@localhost ~]# uname -r3.10.0-862.11.6.el7.x86_64安装此处使用yum安装certbot#certbot 包在epel源中,所以此处需要先安装epe...
2019-01-07 10:28:00
1415
转载 LVS、keepalived原理及配置
使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录。lvs官方网站http://www.linuxvirtualserver.org/zh/lvs1.htm...
2018-11-19 21:32:00
837
转载 Zabbix源码安装部署
zabbix源码部署安装参考文档:https://www.zabbix.com/documentation/4.0/manual/installation/install https://www.zabbix.com/documentation/4.0/manual/appendix/install/db_scripts这里以zabbix-4.0.1为例,环境为CentOS 7...
2018-11-09 16:59:00
167
转载 Iptables
iptablesiptables是一个规则管理工具,工作于用户空间,四表五链iptables添加规则送到内核的netfilter中netfilter:kernel framework 内核框架功能fileter:过滤,防火墙raw:关闭nat表上启用的连接追踪机制mangle:拆解报文,做出修改,封装报文nat:network address translation...
2018-11-08 11:44:00
106
转载 RabbitMQ安装与配置
RabbitMQRabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。消息队列是什么消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包...
2018-11-01 14:17:00
169
转载 Kubernetes
KubernetesK8s概念和术语k8s中,主机分为master和nodes,客户端请求首先发给master,由master分析各node资源状态,分配一个最佳node,然后由node主机通过docker把容器启动起来MasterAPI server:负责接收并处理请求scheduler:调度器,存在于master上,负责检测node上的资源,根据用户请求的资源量在no...
2018-10-28 20:32:00
1381
转载 MB/s与Mbit/s的区别
数据传输率的单位一般采用MB/s或Mbit/s,尤其在内部数据传输率上官方数据中更多的采用Mbit/s为单位。此处有必要讲解一下两个单位二者之间的差异:MB/s的含义是兆字节每秒,Mbit/s的含义是兆比特每秒,前者是指每秒传输的字节数量,后者是指每秒传输的比特位数。MB/s中的B字母是Byte的含义,虽然与Mbit/s中的bit翻译一样,都是比特,也都是数据量度单位,但二者是完全不同...
2018-10-26 13:55:00
533
转载 Kubernetes中的Ingress
Ingress是什么Ingress :简单理解就是个规则定义;比如说某个域名对应某个 service,即当某个域名的请求进来时转发给某个 service;这个规则将与 Ingress Controller 结合,然后 Ingress Controller 将其动态写入到负载均衡器配置中,从而实现整体的服务发现和负载均衡Ingress Controller实质上可以理解为是个监视器,...
2018-10-24 18:01:00
154
转载 Kubernetes安装
部署方式:通过kubeadm安装步骤(一个master节点和两个node节点)master,nodes:安装kubelet,kubeadm,dockermaster:kubeadm initnodes:kubeadm join(文档:https://github.com/kubernetes/kubeadm/blob/master/docs/design/design_v1.8....
2018-10-24 16:39:00
82
转载 Nginx配置文件解析
user nginx;worker_processes auto; #nginx开启的进程数worker_cpu_affinity auto; #自动为每个进程绑定CPUworker_rlimit_nofile 65536; #每个进程最大打开文件数pid /var/run/nginx.pid; #PID文件存放路径eve...
2018-10-19 20:40:00
99
转载 DDOS
DDOSDDOS又称分布式拒绝服务攻击,全称是Distributed Denial of serviceSYN floodSYN flood在攻击时,首先伪造大量的源IP地址,分别向服务器发送大量的SYN包,此时服务器端会返回SYN/ACK包,因为源地址是伪造的,所以伪造的IP并不会应答,服务器端没有收到伪造IP的回应,会重试3~5次并且等待一个SYN Time(一般为30秒至2...
2018-10-14 20:08:00
96
转载 Redis
redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)Redis的应用场景缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)分布式集群架构中的session分...
2018-10-11 17:10:00
94
转载 Haproxy
目录 HAproxy 安装 安装完成后的主要文件 配置日志文件 代理参数: 自定义添加请求或响应报文首部 访问控制: 常用测试标准 动静分离配置示例 配置示例 ...
2018-10-10 01:04:00
156
转载 Supervisor安装与配置
目录 Supervisor [Supervisor官网](http://supervisord.org) 安装Supervisor 配置 配置文件参数说明 配置示例 启动服务 bash终端示例 交互终端 ...
2018-10-10 01:02:00
131
转载 Varnish
目录 Varnish varnish的内置变量 动静分离示例配置 VarnishVarnish官方网站管理进程:编译VCL并应用新配置,监控varnish,初始化varnish, CLI接口Child/cache:Acceptor: 接收新的连接...
2018-10-10 00:59:00
108
转载 Tomcat
目录 Tomcat 运行过程图解 Tomcat核心组件 Tomcat运行模式 安装Tomcat Tomcat目录结构: 配置文件 Tomcat配置文件结构 示例配置文件 配置解析 ...
2018-10-10 00:55:00
317
转载 Js正则
JS正则方法test 判断字符串是否符合规定的正则(只要包含就返回true)rep =/\d+/rep.test(“asdda12assa23”)返回truerep = /^\d+$/rep.test(“asdda12assa23”)返回falseexec 获取匹配的数据(默认只获取第一个匹配的值,加上g表示全局匹配,匹配的过程是一个个拿出来,全部匹配完之后,...
2018-09-25 16:09:00
92
转载 Nginx 配置支持 WAF
WAF(Web Application Firewall),中文名叫做“Web应用防火墙”WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,通过从上面对WAF的定义中,我们可以很清晰地了解到:WAF是一种工作在应用层的、通过特定的安全策略来专门为Web应用提供安全防护的产品。ngx_lua_waf是一...
2018-09-18 12:54:00
759
转载 Python通过RabbitMQ实现RPC
Client端代码:#!/usr/bin/env python# -*- coding:utf-8 -*-import pikaimport uuidimport timeclass FibonacciRpcClient(object): def __init__(self): #生成socket self...
2018-09-09 23:29:00
231
转载 HTTP状态码
状态码含义100客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。101服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最...
2018-09-05 13:56:00
134
转载 Python装饰器
装饰器:定义:本质是函数,(装饰其他函数),为其它函数添加附加功能原则: 1、不修改被装饰的函数的源代码2、不修改被装饰的函数的调用方式函数即变量 函数名指向内存中的函数体高阶函数:1、把一个函数名当做实参传给另外一个函数2、返回值中包含函数名嵌套函数:1、在一个函数体内,用def定义一个函数高阶函数 ...
2018-08-24 17:24:00
53
转载 flock文件锁
linux中的定时任务crontab会定时执行一些脚本,但是脚本的时间往往无法控制,当脚本的执行时间过长,可能会导致上一次任务的脚本还没执行完,下一次任务的脚本又开始执行的问题。这种情况下会出现一些并发问题,严重时会导致出现脏数据或性能瓶颈的恶性循环。通过使用flock建立排他锁可以规避这个问题#!/bin/shecho "------------------------...
2018-08-22 02:05:00
105
转载 Python单元测试
import unittestdef get_formatted_city_name(city, country, population=''): '''fanhui''' if population: full_name = city + ", " + country + ' - ' + 'population ' + str(popu...
2018-08-10 15:42:00
64
转载 Mbps、Kbps、bps、kb、mb区别和换算
Mbps 即 Milionbit pro second(百万位每秒)Kbps 即 Kilobit pro second(千位每秒)bps 即 bit pro second(位每秒)速度单位,bit即比特,通常用b(小写)表示,指一位二进制位,Milionbit=1000Kilobit=1000000bit所以1Mbps=1000 000bps这是通常用来衡量带宽的单位...
2018-08-09 17:50:00
1492
转载 Python导入模块方法
import module_name 导入整个模块from module_name import function_name 导入特定函数from module_name import function_0, function_1, function_2 导入多个函数 from module_name import function_name ...
2018-08-08 17:08:00
86
转载 Nginx http重定向到https时,post请求变为get的问题
Http协议是有状态码的,比较熟悉的状态码是200,代表链接OK,还有404和403,一个是not found,另一个是forbidden。Not found不用多说,可能是地址栏输入有误,或者是网页已经被移动。Forbidden的原因有很多,有可能是IP被服务器拉入黑名单,有可能是IP过分密集的访问该网站,被网站防火墙屏蔽,有可能是域名解析到了空间,但是空间没有绑定域名,也有可能是...
2018-08-08 15:08:00
2108
转载 python文件操作
#a 追加#w 只写(如果没有文件,就会新建)#r 以只读模式打开文件,并将文件指针指向文件头;如果文件不存在会报错#r+ 读写,追加读#w+ 写读#a+追加读#rb 二进制文件# f = open("yesterday2",'r+', encoding="utf-8",) #文件句柄#for i in range(5):# print(f...
2018-08-07 22:16:00
56
转载 Python集合
list_1 = set([1, 5, 3, 6, 8])list_2 = set([2, 4, 5, 8, 6])#交集# print(list_1.intersection(list_2)) &# {8, 5, 6}#并集# print(list_1.union(list_2)) |# {1, 2, 3, 4, 5,...
2018-08-07 14:13:00
66
转载 字符串的操作
name = "Template"name.capitalize() #首字母大写name.count("a") #统计a的数目name.center(50, "-") #填充字符name.endswith("ex") #判断是否以ex什么结尾name.expandtabs(tabsize=30) #建tab转换成30个空格name.find("name") #找出字符的...
2018-08-06 01:55:00
78
转载 .pyc是什么鬼
.pyc是个什么鬼?1. Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊!为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并...
2018-08-05 15:23:00
164
转载 Python笔记
常量大写字母表示ASCII 最多只能用8位来表示,所以只能表示2 ** 8个字符1980年 GB2312 7445多个字符1995年 GBK1.0 21886个字符2000年 GB18030 27484个汉字90年代初 Unicode 65536个字符 统一万国码(每个字符占两个字节)UTF-8 英文1个字符占一个字节(存的是ASCII码)中文一个字符占3个字节...
2018-08-05 15:16:00
56
转载 Nginx读书笔记
...upstream proxy_svrs { server http://192.168.1.1:8001/uri/; server http://192.168.1.2:8001/uri/; server http://192.168.1.3:8001/uri/;}server { server_name www....
2018-08-02 23:20:00
97
转载 快速搭建FTP服务
Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令rpm -qa |grepvsftpd来查看是否安装相应的包,如果没有安装那么可以执行yum-yinstallvsftpd来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:useradd -s /sbin/...
2018-08-02 13:41:00
72
转载 内核参数
这里提到的参数都是和IPv4有关的Linux内核参数。可以将这些内核参数追加到Linux系统的/etc/sysctl.conf文件中,然后使用/sbin/sysctl -p命令使参数生效。1、net.core.netdev_max_backlog = 262144表示当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包的最大数目。2、net.cor...
2018-08-01 22:17:00
98
转载 Linux时区修改
Linux修改时区的正确方法CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件[root@centos7 ~]# ll /etc/localtime lrwxrwxrwx 1 root root 33 Oct 12 11:01 /etc/localtime -> /usr/...
2018-07-26 11:54:00
296
转载 Mysql字符集问题
方法1:登录mysql,先做set names latin1,然后在执行更新语句或执行语句文件mysql> set names latin1;方法2:在sql文件中指定set names latin1;然后登录mysql,通过如下命令执行mysql> source test.sql;方法3:在sql文件中指定set na...
2018-07-24 23:58:00
71
转载 Mysql笔记
insert into test(id,name) valuse(1,'template');insert int test values(4,'zuma'),(5,'kaka') 批量插入两条数据,提升效率delete from test; 删除全部数据mysqldump -uroot -p123456 -S /data/3306/mysql...
2018-07-24 22:53:00
72
转载 NFS笔记
yum -y install rpcbind nfs-utils需要先启动rpc 在启动nfs 客户源也需要安装nfs-utils/etc/init.d/nfs reload 平滑重启nfs 相当于 exportfs -rvexportfs -o rw,sync 172.16.1.0/24:/data 直接使用exportfs配置nfsshowmount -e 172.16.1...
2018-07-24 16:14:00
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人