nginx

Keepalived+Nginx实现Nginx的高可用

白昼怎懂夜的黑 提交于 2021-01-13 03:28:23
集群规划 主机名 IP  VIP Nginx:port KeepAlived主备 KA_NG_01 192.168.30.130 192.168.30.120 8088 MASTER KA_NG_02 192.168.30.131 192.168.30.120 8088 BACKUP 实验环境: [root@KA_NG_01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@KA_NG_01 ~]# keepalived -v Keepalived v1.2.13 (03/19,2015) [root@KA_NG_01 ~]# nginx -v nginx version: nginx/ 1.14.0 如果是编译安装的的话,在本机首先配置好YUM源,保证机器可以访问公网,然后安装以下依赖: [root@KA_NG_01 ~]# yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel 去官网下载对应的的软件包进行编译安装 Nginx的官网下载地址: http://nginx.org/en/download.html

QPS、TPS、并发用户数、吞吐量的关系

你离开我真会死。 提交于 2021-01-13 00:30:58
1、QPS QPS Queries Per Second 是每秒查询率 ,是 一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器 在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。 2、TPS TPS Transactions Per Second 也就是事务 数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数, 3、QPS和TPS区别 个人理解如下: 1、Tps即每秒处理事务数,包括了 用户请求服务器 服务器自己的内部处理 服务器返回给用户 这三个过程,每秒能够完成N个这三个过程,Tps也就是N; 2、Qps基本类似于Tps,但是不同的是,对于一个页面的一次访问,形成一个Tps;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“Qps”之中。 例子: 例如:访问一个页面会请求服务器3次,一次放,产生一个“T”,产生3个“Q” 例如:一个大胃王一秒能吃10个包子,一个女孩子0.1秒能吃1个包子,那么他们是不是一样的呢?答案是否定的,因为这个女孩子不可能在一秒钟吃下10个包子,她可能要吃很久。这个时候这个大胃王就相当于TPS,而这个女孩子则是QPS。虽然很相似,但其实是不同的。 4、并发数 并发数(并发度)

nginx 日志配置log_format用法

徘徊边缘 提交于 2021-01-13 00:29:49
nginx服务器日志相关指令主要有两条: 1.一条是log_format,用来设置日志格式; 2.另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,可以参加 ngx_http_log_module 。 log_format指令用来设置日志的记录格式,它的语法如下: log_format name format {format ...} name 定义的格式; format 定义日志样式; log_format有一个默认的、无须设置的combined日志格式设置,相当于Apache的combined日志格式,其具体参数如下: log_format combined '$remote_addr-$remote_user [$time_local]' ‘"$request"$status $body_bytes_sent’ ‘"$http_referer" "$http_user_agent"’ 假设将Nginx服务器作为Web服务器,位于负载均衡设备、Squid、Nginx反向代理之后,不能获取到客户端的真实IP地址了。 原因是经过反向代理后,由于在客户端和Web服务器之间增加了中间层,因此Web服务器无法直接拿到客户端的IP。 通过$remote_addr变量拿到的将是反向代理服务器的IP地址。 在日志格式样式中,变量$remote_addr和$http_x

nginx的log_format记录header的字段

我是研究僧i 提交于 2021-01-13 00:29:34
##log_format log_format main '$http_userId $http_userName $remote_addr $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" $request_time'; 通过http_argname来获取 ##设置header ngx.req.set_header("userId",xxx) ngx.req.set_header("userName",xxx) 在rewrite_by_lua_file里头验证登录之后设置 来源: oschina 链接: https://my.oschina.net/u/2922256/blog/813849

QPS、TPS、并发用户数、吞吐量关系

前提是你 提交于 2021-01-13 00:04:00
来源: https://juejin.im/post/5c2cb5e15188257a937fbfaf 1、QPS QPS Queries Per Second 是每秒查询率 ,是 一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器 在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。 2、TPS TPS Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数, 3、QPS和TPS区别 个人理解如下: 1、Tps即每秒处理事务数,包括了 用户请求服务器 服务器自己的内部处理 服务器返回给用户 这三个过程,每秒能够完成N个这三个过程,Tps也就是N; 2、Qps基本类似于Tps,但是不同的是,对于一个页面的一次访问,形成一个Tps;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“Qps”之中。 例子: 例如:访问一个页面会请求服务器3次,一次放,产生一个“T”,产生3个“Q” 例如:一个大胃王一秒能吃10个包子,一个女孩子0.1秒能吃1个包子,那么他们是不是一样的呢?答案是否定的,因为这个女孩子不可能在一秒钟吃下10个包子,她可能要吃很久

QPS、TPS、并发用户数、吞吐量关系

六眼飞鱼酱① 提交于 2021-01-13 00:03:31
来源:https://juejin.cn/post/6844904084504313863 QPS 「QPS」 Queries Per Second 是每秒查询率 ,是 「一台服务器」 每秒能够相应的查询次数,是对一个特定的查询服务器 「在规定时间内」 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。 TPS 「TPS」 Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数, 「QPS和TPS区别」 个人理解如下: TPS即每秒处理事务数,包括 用户请求服务器 服务器自己的内部处理 服务器返回给用户 这三个过程,每秒能够完成N个这三个过程,TPS也就是N; QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。 「例子」 例如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q” 例如:一个大胃王一秒能吃10个包子,一个女孩子0.1秒能吃1个包子,那么他们是不是一样的呢?答案是否定的,因为这个女孩子不可能在一秒钟吃下10个包子,她可能要吃很久

Nginx log_format

☆樱花仙子☆ 提交于 2021-01-12 23:54:26
L11 nginx 官网的日志格式如下 log_format compression(自定义名称) ' $remote_addr - $remote_user [$time_local] ' ' "$request" $status $bytes_sent ' ' "$http_referer" "$http_user_agent" "$gzip_ratio" ' ; access_log /spool/logs/nginx-access.log compression(使用自己定义的名称) buffer=32k; 一般可以使用如下格式 log_format compression ' $remote_addr - $remote_user [$time_local] ' ' "$request" $status $bytes_sent ' ' "$http_referer" "$http_user_agent" "$gzip_ratio""$http_x_forwarded_for" ' ; 具体变量可以到官网下 nginx变量 去查看 来源: oschina 链接: https://my.oschina.net/u/4314104/blog/3584360

QPS、TPS、并发用户数、吞吐量关系

浪尽此生 提交于 2021-01-12 23:47:07
来源:https://juejin.cn/post/6844904084504313863#comment QPS QPS Queries Per Second 是每秒查询率 ,是 一台服务器 每秒能够相应的查询次数,是对一个特定的查询服务器 在规定时间内 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。 TPS TPS Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数, QPS和TPS区别 个人理解如下: 1、Tps即每秒处理事务数,包括了 1)用户请求服务器 2)服务器自己的内部处理 3)服务器返回给用户 这三个过程,每秒能够完成N个这三个过程,Tps也就是N; 2、Qps基本类似于Tps,但是不同的是,对于一个页面的一次访问,形成一个Tps;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“Qps”之中。 例子 例如:访问一个页面会请求服务器3次,一次放,产生一个“T”,产生3个“Q” 例如:一个大胃王一秒能吃10个包子,一个女孩子0.1秒能吃1个包子,那么他们是不是一样的呢?答案是否定的,因为这个女孩子不可能在一秒钟吃下10个包子,她可能要吃很久

nginx log_format

谁都会走 提交于 2021-01-12 23:32:04
nginx 可用的变量 https://nginx.org/en/docs/varindex.html $upstream_addr (ngx_http_upstream_module) 实际服务器地址 $request_uri 原始请求的uri $uri 我以为是经过nginx处理之后的实际地址,可是不对,那么nginx最终实际请求的地址应该是啥? 另,当nginx配置location时 比如 location /user/ { .... } 则不会把路径中的 /user/ 传给后边 来源: oschina 链接: https://my.oschina.net/zhyh1105/blog/4893432

OpenResty + Lua访问Redis,实现高并发访问时的毫秒级响应

被刻印的时光 ゝ 提交于 2021-01-12 19:59:54
什么是OpenResty 天下武功,为快不破。Nginx 的看家本领就是速度,Lua 的拿手好戏亦是速度,这两者的结合在速度上无疑有基因上的优势。最先将 Nginx,Lua 组合到一起的是 OpenResty,它有一个 ngx_lua 模块,将 Lua 嵌入到了 Nginx 里面。本教程从环境搭建到实战讲解,逐步向读者展示如何使用 Nginx+Lua 框架进行开发。 使用场景 先看一下官网的解释 在 Lua 中混合处理不同 Nginx 模块输出(proxy, drizzle, postgres, Redis, memcached 等)。 在请求真正到达上游服务之前,Lua 中处理复杂的准入控制和安全检查。 比较随意的控制应答头(通过 Lua)。 从外部存储中获取后端信息,并用这些信息来实时选择哪一个后端来完成业务访问。 在内容 handler 中随意编写复杂的 web 应用,同步编写异步访问后端数据库和其他存储。 在 rewrite 阶段,通过 Lua 完成非常复杂的处理。 在 Nginx 子查询、location 调用中,通过 Lua 实现高级缓存机制。 对外暴露强劲的 Lua 语言,允许使用各种 Nginx 模块,自由拼合没有任何限制。该模块的脚本有充分的灵活性,同时提供的性能水平与本地 C 语言程序无论是在 CPU 时间方面以及内存占用差距非常小。所有这些都要求 LuaJIT