- 博客(109)
- 收藏
- 关注
转载 Nginx流量带宽请求状态统计(ngx_req_status)
介绍 ngx_req_status 用来展示 nginx 请求状态信息,类似于 apache 的 status, nginx 自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求、以及各 url 域名所消耗的带宽是多少。ngx_req_status 提供了这些功能按域名、 url、 ip 等等统计信息统计总流量统计当前带...
2017-08-15 21:54:00 819
转载 Nginx实现图片防盗链(referer指令)
什么是图片盗链每张图片在浏览器中都有对应的图片地址,在浏览器中输入这个地址是可以直接拿到图片。图片盗链,就是盗用者在他的站上需要显示我们的图片,他没有把图片拿下来,放到他的服务器上,而是直接就用我们的,图片地址,来请求到我们的服务器来拿图片,流量产生在我们这边。refererreferer指令通过检测访问图片的来源,来做出一些控制。...
2017-08-15 21:50:00 293
转载 Nginx下载防盗链(迅雷等下载软件)
什么是下载盗链假设我们是一个B站,有些视频资源是可以提供给用户下载的。这时迅雷等其他下载软件,也提供下载该视频的服务,但是迅雷很不厚道的,将我们的下载资源提供给他的用户,下载。占用我们的带宽来服务他的用户,这是绝对不可以忍了的。使用来源判断根本不靠谱,只能防止一些小白站点的盗链,迅雷之类的下载工具完全无效,如果你是nginx 的话,使用 secure li...
2017-08-15 21:46:00 555
转载 隐藏Nginx版本号
http配置块中 server_tokens off后端是php,或者django,还需更改响应配置文件,将$nginx_version变量去掉。步骤1、进入 nginx 配置文件的目录(此目录根据安装时决定),用 vim 编辑打开在 http {—}里加上 server_tokens off; 如:http {……省略sendfile ...
2017-08-15 21:38:00 119
转载 Nginx用为缓存服务器
Nginx 缓存组成共享内存数据定位存储键和缓存对象的元数据磁盘空间:存储数据nginx做为反向代理时,能够将来自upstream的响应缓存至本地,并在后续的客户端请求同样内容时直接从本地构造响应报文。proxy_cache 模块为上游服务器提供缓存功能 当客户端再请求时先从缓存中找,找...
2017-08-15 21:35:00 115
转载 Nginx 反向代理 负载均衡
常见负载均衡算法轮询(默认)权重weight,访问比率等于权重之比IP 哈希解决session问题:每个请求访问IP的hash结果分配,这样每个访客可以固定到后端某一个台服务器。问题:如某台服务器挂掉,对应ip_hash找不到该机器?如果哈希选择失败次数达到20次以上,回退到轮询策略进行选择。如果同一IP地...
2017-08-15 21:28:00 109
转载 Nginx用作反向代理服务器
Nginx作为反向代理服务器时转发请求的流程客户端请求处理当客户端请求来时,Nginx并不会立刻转发到上游服务器,而是想完整的接收到Nginx所在的服务器,然后再把缓存的客户端的请求转发到上游服务器。优缺点缺点:请求处理延迟优点:降低上游服务器的负载由于网络,以及TCP分包的原因;一个大的数据包,很可能需要多个TCP连接来...
2017-08-15 21:22:00 131
转载 Nginx作为web服务器
配置文件Nginx的配置有着几个不同段的上下文:main对任何功能都生效的配置一般字段可省略httpserver必须属于http可以包含location每个server代表一个虚拟主机不可以嵌套upstream指定反向代理的location其余子段可以在server中...
2017-08-15 21:17:00 112
转载 TCP 滑动窗口
滑动窗口协议流量控制方法PUSH慢启动隔一个报文段确认”的策略实际就是因为 delayed ack,同时接收到两个待确认的ACK包时,就立即发送确认包。滑动窗口实例解决了快的发送方-》慢的接收方发送方发送 4个背靠背(back-to-back)的数据报文段去填充接收方的窗口,然后停下来等待一个AC...
2017-08-05 10:52:00 181
转载 Nagle算法&&延时确认
数据流分类成块数据交互数据Rlogin需要远程系统(服务器)回显我们(客户)键入的字符数据字节和数据字节的回显都需要对方确认rlogin 每次只发送一个字节到服务器,而Telnet 可以选择发送一行数据确认是通过期望数据序号Nagle算法rlogin发送一个字节,就产生41字节长度的分组:20字节IP首部,20字...
2017-08-05 10:23:00 188
转载 UDP:用户数据报协议
UDP不提供可靠性:它把应用程序传给 IP层的数据发送出去,但是并不保证它们能到达目的地。应用程序必须关心 IP数据报的长度。如果它超过网络的 MTU,那么就要对 IP数据报进行分片。如果需要,源端到目的端之间的每个网络都要进行分片,并不只是发送端主机连接第一个网络才这样做。UDP首部UDP校验和( 二进制反码计算和)UDP检验和覆盖UD...
2017-08-04 11:57:00 99
转载 ICMP--ping--Traceroute
ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议TCP或UDP使用。一些ICMP报文把差错报文返回给用户进程ICMP报文是在IP数据报内部被传输的,如:ICMP报文的类型所有报文的前4个字节都是一样8位类型+8位代码+16位校验和...
2017-08-03 11:10:00 224
转载 ARP/RARP
IP地址和MAC地址之间的转换点对点链路不使用ARPARP高速缓存ARP高效运行的关键是每个主机上都有一个ARP高速缓存。存放了最近IP地址与MAC地址间的映射关系。每一项生存时间一般为20分钟。命令arp -a接口: 192.168.0.112 --- 0x9 Interne...
2017-08-03 09:52:00 133
转载 IP 协议
IP协议它不能保证ip数据报能成功地到达目的地,IP协议仅提供最好的传输服务。错误处理丢弃该数据报发送ICMP消息给数据源,通知丢弃了该数据报任何可靠性必须由上层来提供(如TCP)IP首部IP首部,普通的IP首部长为20字节,除非含有选项字段。版本(4bit)目前协议版本号4,因此也叫IPv4...
2017-08-03 09:41:00 103
转载 TCP/IP 概述
tcp/ip 通常被认为是一个四层协议系统链路层处理物理接口细节ARP,RARP网络层IP,ICMP(报文控制协议),IGMP(组管理协议)处理网络中的活动,如路由的选择传输层TCP(传输控制协议),UDP(用户数据报协议)TCP提供高可靠性的数据通信把数据分成合适的小块交给网...
2017-08-03 09:28:00 105
转载 redis--Sentinel
Sentinel(哨岗,哨兵),是Redis的高可用解决方案:由一个或多个Sentinel实例组成的Sentinel系统,可以监视任意多个主服务器,以及这些主库下面的从库并在主库掉线之后,自动选择某个从库作为新的主库。说到底,就是探活,主从切换==高可用启动并初始化Sentinelredis-sentinel /pa...
2017-08-02 11:09:00 88
转载 redis 集群
redis集群是redis提供分布式数据库方案,集群通过分片(Sharding)来进行数据共享,并提供复制和故障转移功能。节点redis集群通常由多个节点(node)组成,在开始每个node 都是相互独立的。要组建成真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群。命令cluster meet <ip...
2017-08-02 10:33:00 127
转载 redis--主从复制
在Redis中,用户通过执行slaveof 命令 或者设置slaveof 选项,实现主从复制。两台实例:127.0.0.1:6379 127.0.0.1:12345 建立主从复制关系# 建立主从关系127.0.0.1:12345> SLAVEOF 127.0.0.1 6379OK # 主库新建键值127.0.0.1:6379>...
2017-08-01 11:37:00 120
转载 redis--AOF
Redis 分别提供了 RDB 和 AOF 两种持久化机制:RDB 将数据库的快照( snapshot)以二进制的方式保存到磁盘中。相当于MySQL binlog 的 raw模式AOF 则以协议文本的方式,将所有对数据库进行过写入的命令(及其参数)记录到 AOF相当于MySQL binlog 的 satement模式文件,以此达到记录数...
2017-08-01 10:57:00 105
转载 redis -- RDB
Redis 分别提供了 RDB 和 AOF 两种持久化模式。在 Redis 运行时,RDB 程序将当前内存中的数据库快照保存到磁盘文件中,在 Redis 重启动时,RDB 程序可以通过载入 RDB 文件来还原数据库的状态。RDB功能最核心的是rdbSave 和rdbLoad 两个函数,前者用于生成RDB文件到磁盘,而后者则用于将RDB文件中的数据重载内存中。...
2017-08-01 10:52:00 84
转载 redis--数据库
数据库除了说明数据库是如何储存数据对象之外,本章还会讨论键的过期信息是如何保存,而 Redis又是如何删除过期键的数据库的结构Redis 中的每个数据库,都由一个 redis.h/redisDb 结构表示:typedef struct redisDb { // 保存着数据库以整数表示的号码 int id; ...
2017-08-01 09:25:00 82
转载 redis-慢查询日志
慢查询日志是 Redis 提供的一个用于观察系统性能的功能相关数据结构每条慢查询日志都以一个 slowlog.h/slowlogEntry 结构定义: typedef struct slowlogEntry { // 命令参数 robj **argv; // 命令参数数量 int argc; ...
2017-07-29 13:17:00 100
转载 redis 订阅与发布
PUBLISH,SUBSCRIBE,等命令实现订阅与发布订阅/发布到频道订阅/发布到模式频道的订阅与信息发送订阅subscribe,可以让客户端订阅任意数量的频道,每当有新信息发送到被订阅的频道时,信息就会被发送给所有订阅指定频道的客户端:当有新消息通过publish命令发送给频道channel1时,这...
2017-07-29 13:10:00 65
转载 redis 事务
事务相关命令Redis通过multi,discard,exec和watch四个命令来实现事务功能,一般事务multidiscardexec特殊:watch服务器在执行完事务中的所有命令之后,才会继续处理其他客户端的其他命令事务由multi开启,将多个命令入队到事务中,最后exec命令触发事务,一并执行性...
2017-07-29 12:13:00 65
转载 redis 事件
事件是 Redis 服务器的核心,它处理两项重要的任务:文件事件在多个客户端中实现多路复用,接受它们发来的命令请求,并将命令的执行结果返回给客户端。时间事件实现服务器常规操作(server cron job)。文件事件读事件写事件读写事件的定义,是服务器对客户端的套接字操作;当服务器有数据返...
2017-07-28 11:53:00 74
转载 redis--服务器与客户端
初始化服务器从启动 Redis 服务器,到服务器可以接受外来客户端的网络连接这段时间,Redis 需要执行一系列初始化操作。整个初始化过程可以分为以下六个步骤:初始化服务器全局状态。载入配置文件。创建 daemon 进程。初始化服务器功能模块。载入数据。开始事件循环初始化服务器全局状态redis.h/redisS...
2017-07-28 11:19:00 171
转载 readis 内部数据结构
与其他key-value数据库不同之处不仅支持字符串值,还支持字符串set,get列表lpush,rpush,lrange哈希hset,hget,hgetallhmset,hmget集合saddsmembers有序集zset数据库的键则总是字符串对象...
2017-07-28 10:44:00 202
转载 Redis数据类型
Redis数据类型字符串哈希表列表集合有序集对象处理机制对键能执行的命令各部相同,但有些又是通用的。Redis 必须让每个键都带有类型信息,使得程序可以检查键的类型,并为它选择合适的处理方式因为各类型的底层实现(Redis 称为编码,encoding),各不相同,因此程序必须根据键所采取的编码进行不同的操作。比如说集合...
2017-07-28 09:58:00 106
转载 Docker 限制容器资源
默认情况下,容器没有资源的限制,它可以使用整个主机的所有资源。Dcoker提供了控制资源的方法,多少内存,CPU,IO,都可以在docker run使用标志符来设置。内存Docker可以强制执行硬内存限制,允许容器使用不超过给定数量的用户或系统内存,或软限制,允许容器使用所需的内存,除非满足某些条件,例如 内核检测到主机上的低内存或争用。当单独使用或设置...
2017-06-12 11:00:00 126
转载 Docker 网络命令
docker network createdocker network connectdocker network lsdocker network rmdocker network disconnectdocker network inspect创建网络zane@zane-V:~$ docker network create s...
2017-06-12 10:23:00 77
转载 Docker 容器网络
默认网络当安装docker时,它会自动创建3个网络。可以使用docker network ls 来查看。zane@zane-V:~$ docker network lsNETWORK ID NAME DRIVER SCOPE4b10534b40ff bridge ...
2017-06-12 09:59:00 134
转载 容器网络配置
在默认网络中启动容器Dcoker提供两种网络设备,bridge 和 overlay。也可以自己写一个网络驱动插件,当然这是很难的。每个Docker引擎自动包含三个默认网络:zane@zane-V:~$ docker network lsNETWORK ID NAME DRIVER ...
2017-06-12 09:33:00 129
转载 在容器中管理数据
数据管理的两种方法Data volumesData volume containersData volumesdata volumes 对数据的持久化和分享提供一些很有用的特性。volumes 在容器创建的时候被初始化。如果容器依赖的镜像包含指定点的数据,则在新容器建立时将已经存在的数据复制到volumes在初始化volu...
2017-06-11 12:06:00 77
转载 Docker 存储引擎
可插拔存储引擎架构这种可插拔式的存储架构。可以让你很灵活的去选择适合自己环境的存储引擎。每个存储引擎都是以Linux 文件系统为基础的。此外,每个存储引擎都以自己的方式自由的管理image层,container层。也就是说每个种存储引擎在特定的情况下,表现的比其他的更好。Docker只能运行一个存储引擎,所有的容器被daemon使用一样的存储引擎创建...
2017-06-10 16:50:00 503
转载 Dcokerfile 参考
Dcokerfile 包含了所有用来组装image的命令。通过docker build来自动创建image。用法需要指定本地路径作为上下文目录,路径是本地系统的目录。而docker build会递归的从指定目录去寻找。$ docker build .Sending build context to Docker daemon 6.51 MB ......
2017-06-09 13:48:00 182
转载 理解镜像,容器,存储引擎
为了很好的使用存储引擎,必须明白Dcoker是如何创建和存储images的。然后要明白这些images是如何让containers使用的。最后简短介绍一些images和containers操作。Images and layers每个Docker image都会参照只读列表里的layers,这些layers代表不同的文件系统。layers被堆放在顶端,以形成...
2017-06-09 11:41:00 135
转载 Docker 创建image
images 是containers的基础。每次使用docker run 命令都要指定image。列出本地imageszane@zane-V:~$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZ...
2017-06-07 12:03:00 211
转载 开始docker
安装docker 目前只支持64位系统1.下载并安装,简直太方便了$ curl -fsSL https://get.docker.com/ | sh用例1.docker run hello-world$ docker run hello-worldCannot connect to the Docker daemon...
2017-06-07 11:23:00 269
转载 Docker示例
运行一个Hello worldzane@zane-V:~$ docker run ubuntu /bin/echo 'Hello world'Unable to find image 'ubuntu:latest' locallylatest: Pulling from library/ubuntu b3e1c725a85f: Pull comple...
2017-06-07 11:04:00 84
转载 HTTP协议详解(转)
什么是HTTP协议协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器目前我们使用的是HTTP/1.1 版本Web服务器,浏览器,代理服务器当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?实际上...
2017-03-01 17:34:00 76
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人