Nginx限流
Nginx

Nginx限流

xiaole阅读(32)

Nginx官方版本限制IP的连接和并发分别有两个模块:limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 “leaky bucket”limit_req_conn 用来限制同一时间连接数,即并发限制其中limit_req_conn模块可以根据源IP限制单用户并发访问的连接数或连接到该服务的总并发连接数http{ #定义IP的session大小 limit_zone one $binary_remote_addr 20m; #定...

expect实现shell自动登录
Linux Shell

expect实现shell自动登录

xiaole阅读(55)

Expect是一个用来处理交互的命令。我们可以使用expect完成ftp和scp登陆的时候密码的自动输入。expect常用的四个命令:spawn 启动新的进程expect从进程接收字符串send 用于向进程发送字符串interact 允许用户交互spawn命令用来启动新的进程,spawn后的send和expect命令都是和使用spawn打开的进程进行交互。send命令接收一个字符串参数,并将该参数发送到进程。expect命令和send命令相反,expect通常用来等待一个进程的反馈,我们根据进程...

ETCD简介
技术前沿

ETCD简介

xiaole阅读(147)

1. ETCD是什么ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统。该项目目前最新稳定版本为2.3.0. 具体信息请参考[项目首页]和[Github]。ETCD是CoreOS公司发起的一个开源项目,授权协议为Apache。提供配置共享和服务发现的系统比较多,其中最为大家熟知的是[Zookeeper](后文简称ZK),而ETCD可以算得上是后起之秀了。在项目实现,一致性协议易理解性,运维,安全等多个维度上,ETCD相比Zookeeper都占据优势。2. ETCD vs ZK本文选取...

locate命令
Linux

locate命令

xiaole阅读(124)

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种...

whereis命令
Linux

whereis命令

xiaole阅读(111)

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用wherei...

Linux网络状态工具ss命令使用详解
Linux Shell

Linux网络状态工具ss命令使用详解

xiaole阅读(139)

ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:所有的TCP sockets所有的UDP sockets所有ssh/ftp/ttp/https持久连接所有连接到Xserver...

awk命令详解
Linux Shell

awk命令详解

xiaole阅读(130)

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息awk处理过程: 依次对每一行进行处理,然后输出awk命令形式:awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file [-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value ' ' 引用代码块 BEGIN 初始化代码块,在对每一行进行处理之前,初始化代...

shell下获取硬件基本信息
Linux Shell

shell下获取硬件基本信息

xiaole阅读(125)

shell下获取CPU型号,核心数,内存大小,磁盘信息,IP信息本代码基于CentOS 6验证通过#!/bin/sh sysinfo(){ echo "+--------------------------------------------------------------------+" echo "CPU: `cat /proc/cpuinfo | grep 'model name' | awk -F ":" ...

read命令
Linux Shell

read命令

xiaole阅读(121)

read命令 -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显)1、基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是read命令的最简单形式::#!/bin/bash echo -n "Enter your name:" //参数-n的作用是不换行,echo默认是换行 read name //从键盘输入 echo "...

Shell逻辑运算符及表达式
Linux

Shell逻辑运算符及表达式

xiaole阅读(128)

一、条件运算符运算符号代表意义应用说明=等于整型或字符串比较: str1 = str2字符串str1 和字符串str2 相等时返回真,如果在[]中,只能是字符串==等于整型或字符串比较: str1 == str2字符串str1 和字符串str2 相等时返回真,如果在[]中,只能是字符串!=不等于整型或字符串比较: str1 != str2字符串str1和字符串str2不相等时返回真,如果在[]中,只能是字符串<小于整型或字符串比较: str1 < str2按字典顺序排序,字符串str...