Nginx
文章平均质量分 86
米粒人生
PHP从业者和爱好者,对代码的组织方面——框架、设计模式、设计原则和重构等兴趣浓厚,一致致力于这方面的探索,目的是通过优良的代码组织来提高项目的生产效率,减少项目的维护成本。
展开
-
记一次Excel导出导致内存耗尽的问题
今天遇到一个问题,导出线上2个月的Excel统计数据频繁导致报错,一查php-fpm日志,则是提示:PHP Fatal error: Allowed memory size of 298844160 bytes exhausted (tried to allocate 262144 bytes)一开始首先想到是Excel导出时很吃内存,数据一多就容易将内存耗尽,于是先从代码上做优化,取完数据后将无用的数组全部unset()掉。继续去预发布环境(全量数据)尝试,发现还是error错误,于是继续原创 2020-09-24 18:50:49 · 1262 阅读 · 0 评论 -
nginx负载均衡指令least_conn的真正含义
负载均衡指令least_conn的含义,按照nginx文档的说法:Specifies that a group should use a load balancing method where a request is passed to the server with the least number of active connections, taking into account wei...原创 2018-12-14 14:28:39 · 6934 阅读 · 1 评论 -
Openresty的同步输出与流式响应
Openresty的同步输出与流式响应默认情况下, ngx.say和ngx.print都是异步输出的,先来看一个例子:location /test { content_by_lua_block { ngx.say("hello") ngx.sleep(3) ngx.say("the world") }}执行测试,原创 2018-11-13 11:34:55 · 695 阅读 · 1 评论 -
一篇文章说透Nginx的rewrite模块
rewrite模块即ngx_http_rewrite_module模块,主要功能是改写请求URI,是Nginx默认安装的模块。rewrite模块会根据PCRE正则匹配重写URI,然后发起内部跳转再匹配location,或者直接做30x重定向返回客户端。rewrite指令的工作原理rewrite模块的指令有break, if, return, rewrite, set等。rewrite指...原创 2018-04-18 09:32:07 · 620 阅读 · 0 评论 -
Nginx负载均衡与反向代理——基础功能
熟悉Nginx的小伙伴都知道,Nginx是一个非常好的负载均衡器。除了用的非常普遍的Http负载均衡,Nginx还可以实现Email,FastCGI的负载均衡,甚至可以支持基于Tcp/UDP协议的各种应用的负载均衡(比如MySQL,DNS等)。这些功能分别在Nginx的不同模块实现了。负载均衡可以看成Nginx对外提供的一种服务。我们先来简单介绍下Nginx负载均衡的基本的功能。并且,我们在下...原创 2018-03-12 20:11:30 · 204 阅读 · 0 评论 -
Nginx负载均衡与反向代理——扩展功能(NGINX Plus)
本文主要是介绍了NGINX Plus的相关功能,横跨了NGINX Plus R5/R6/R7/R9等各个不同版本的更新。涉及的是Nginx反向代理和负载均衡的更为高级的用法。主要包含:HTTP负载均衡,HTTP长连接,TCP和UDP的负载均衡,上游连接数限制,最短时间的均衡算法,Session一致性,实时健康检查,DNS重解析,访问控制,客户端连接数限制,客户端带宽限制,无缓冲上传文件,SS...原创 2018-03-14 21:07:06 · 10351 阅读 · 0 评论 -
Nginx的虚拟服务器域名配置
虚拟服务器名(server name)是通过指令server_name来指定的。在《 Nginx是如何处理Request的?》一节中,我们讲到nginx分两步来匹配过来的Request请求:1.选择server2.选择location在第1步中,其实也分两步:1).匹配port2).匹配server_name这一节就来聊聊nginx是如何原创 2018-01-16 09:56:36 · 543 阅读 · 0 评论 -
Nginx是如何处理Request的?
nginx是如何匹配过来的请求,然后做处理的呢?这个匹配的过程可以分为两步:1.选择server2.选择location 选择serverserver name的匹配加入Nginx的配置文件有这么几项:server { listen 80; server_name example.org ww原创 2018-01-12 19:39:03 · 1766 阅读 · 0 评论