11条nginx优化方法助力你的运维生涯
《11条nginx优化方法助力你的运维生涯》要点: 隐藏nginx header里版本号信息1.查看版本号 2.隐藏版本号 在nginx配置文件的http标签内加入“server_tokens off; ”参数,也可以放大server标签和location标签中,如下: 再此查看如下,浏览器访问错误页面也就没有版本号了 更改源码隐藏软件名称及版本号在nginx编译安装之前,先更改,之后再编译安装 1.更改版本号 修改nginx-1.3.4/src/core/nginx.h 修改后查看header结果: 2.改nginx-1.6.12/src/http/ngx_http_header_filter_module.c 需要修改的字符串 修改后的字符串 3.修改ngx_http_special_response.c 修改为: 更改掉nginx默认用户及用户组(worker进程服务用户优化)1.查看默认配置如下: 默认情况下,nginx服务启动,使用的用户和组默认都是nobody, 将web用户改为特殊的用户名如:nginx或更特殊点的dabaojian,但是这个用户必须是系统存在的. 2.建立nginx用户 3.配置文件nginx.conf中修改(也可以编译安装时指定默认) 在配置文件最外层上面 4.让woker进程使用普通用户运行 注意:不能用80特权端口,前端nginx反向代理转端口 配置nginx worker进程个数nginx由master和worker进程组成,master进程相当于管理员,worker进程为用户提供服务 一般设置为cpu核数或则核数x2,用top按1查看 修改nginx.conf配置文件第一行 根据cpu核数进行nginx进程优化把几个进程分配在一个cup上,cup亲和力 1.不同cpu设置如下 四核cpu配置: 八核cpu服务器参数配置: 2.官方文档说明 nginx事件处理模型优化nginx的连接处理机制在不同的操作系统上采用不用的IO模型,在linux下,nginx使用epoll的IO多路复用模型,在freebsd使用kqueue的IO多路复用模型,在solaris使用/dev/pool方式的IO多路复用模型,在windows使用的icop等等. 根据系统类型不同选择不同的事务处理模型,选择有“use [ kqueue | rtsig |epool |dev/pool |select |pllo ];”我们使用的是Centos6.5的linux,因此将nginx的事件处理模型调整为epool模型. 具体参数如下在优化4下边挨着: 调整nginx worker单个进程允许的客户端最大连接数这个值根据服务器性能和程序的内存来指定(一个进程启动使用的内存根据程序确定) 这个参数是单个进程的最大链接数,实际最大链接数是worker技能书乘以这个数. Max_client=worker_processes*worker_connections 配置nginx worker进程最大打开文件数相当于系统ulimit -HSn,应该是总的. 理念:配置参数不是越大越好,最好设为服务器承受的极限点. 开启高效的文件传输模式在http字段设置 tcp_nopush参数可以允许把http?response?header和文件的开始放在一个文件里发布,积极的作用是减少网络报文段的数量. 设置连接超时时间保护服务器资源,硬件CPU mem,连接数. 建立连接也是要消耗资源的,我们一般断掉那些连上的链接,但是不做事的 php网站建议短连接,PHP程序建立连接消耗的资源和时间要少. JAVA网站建议长连接,JAVA程序建立连接消耗的资源和时间要多. 在http字段设置 上传文件大小限制(动态应用)原文来自——微信公众号(马哥Linux教育) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |