之前看到有人写的一篇关于nginx配置中large_client_header_buffers的问题排查的文章,其中提到: large_client_header_buffers 虽然也可以在server{}内生效,但是只有 低于 nginx主配置中的值才有意义. 对这个结论,我心存疑虑,总觉得这种设计很奇怪,于是自己做了个测试,希望能了解的更深入一些. 测试方法 nginx主配置中加入配置项:(在主配置中将header大小控制在1k) http { include mime.types; de…
最近了解下Nginx的Code状态码,在此简单总结下.一个http请求处理流程: 一个普通的http请求处理流程,如上图所示:A -> client端发起请求给nginxB -> nginx处理后,将请求转发到uwsgi,并等待结果C -> uwsgi处理完请求后,返回数据给nginxD -> nginx将处理结果返回给客户端每个阶段都会有一个预设的超时时间,由于网络.机器负载.代码异常等等各种原因,如果某个阶段没有在预期的时间内正常返回,就会导致这次请求异常,进而产生不同的状态码…
WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择.其为HTML5的一部分,WebSocket相较于原来开发这类app的方法来说,其能使开发更加地简单.大部分现在的浏览器都支持WebSocket,比如Firefox,IE,Chrome,Safari,Opera,并且越来越多的服务器框架现在也同样支持WebSocket. 在实际的生产环境中,要求多个WebSocket服务器必须具有高性能和高可用,那么WebSocket…
通过nginx -V查看编译时参数: 在nginx安装目录下,通过./configure --help,查看对应版本ngnix编译时支持的所有参数: Nginx编译参数详细介绍: --help 显示本提示信息 --prefix=PATH 设定安装目录 --sbin-path=PATH 设定程序文件目录 --conf-path=PATH 设定配置文件(nginx.conf)目录 --error-log-path=PATH 设定错误日志目录 --pid-path=PATH 设定pid文件(nginx…
一.目录分析 用yum的方式进行安装实质上装的都是一个个的rpm包,对于linux系统rpm包管理器,我们使用命令rpm -ql  服务名称 就可以列出我们已经安装的服务所对应安装的每一个文件所在的目录. 二.编译参数 ps:遇到的问题以及解决 Q1: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 报错信息 nginx: [emerg] bind() to 0.0.0.0:80 failed (98…
[优势] 优势1:IO多路复用和epoll模型(详见总结知识) 优势2:轻量级(1.功能模块少:只保留了一些核心代码     2.代码模块化) 优势3:CPU亲和 这里的CPU亲和指的是:是一种把cpu核心和Nginx工作进程绑定的方式,把每个worker进程固定在一个cpu上执行,来减少cpu的cache miss,获得更好的性能. 优势4:采用sendfile机制来传输文件:(对于静态文件)把对文件的传输只通过内核空间传送给对方,减少了类似于其它服务器之间传送文件的用户态与内核态的切换. […
转载自:https://www.bilibili.com/read/cv16150010?spm_id_from=333.999.0.0 0x00 编译实践 描述:在企业线上生产环境中推荐进行Nginx编译安装,可以按照业务侧重点进行相应 Nginx 编译参数配置,所以编译参数不是功能加的越多越好,应该尽可能少编译模块不用的最好不要加入,本小结将以最新的Nginx版本以及依赖版本进行编译演示. Nginx-1.21.6+OpenSSL-1.1.1n 最新源码构建安装整理,当前最新版本nginx-…
一.环境调试确认 (四项确认) 1.确认系统网络 ping www.baidu.com 2.确认yum可用 yum list|grep gcc 3.确认关闭iptables规则 iptables -L // 查看目前的防火墙规则 iptables -F // 关闭相应的防火墙的规则 iptables -t nat -L // 查看nat表中的规则 iptables -t nat -F // 关闭nat表中的规则 4.确认停用selinux getenforce // 查看setlinux是否开启…
1.   Get请求携带数据量的各种限制及解决办法 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制. 到新公司处理的第一个线上问题是某个商品页,在某个人机器上访问失败,nginx返回400错误,但其它人机器上没有问题,即使用虚拟机重建了出问题机器的软硬件环境也不会出问题. 经过对出问题机器的http请求进行抓包,发现URL超长,cookie也很大,然后问题就很清楚了,因为大部分人用的是IE浏览器,IE浏览器限…
参考博客: http://www.2cto.com/os/201212/176520.html http://os.51cto.com/art/201111/304611.htm http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html 1.Nginx.conf学习 #定义Nginx运行的用户和用户组 user www www: #nginx进程数,建议设置为等于CPU总核心数 worker_processes 8;…