《11条nginx优化方法助力你的运维生涯》要点:
本文介绍了11条nginx优化方法助力你的运维生涯,希望对您有用。如果有疑问,可以联系我们。
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
修改为:
1.查看默认配置如下:
默认情况下,nginx服务启动,使用的用户和组默认都是nobody,
将web用户改为特殊的用户名如:nginx或更特殊点的dabaojian,但是这个用户必须是系统存在的.
2.建立nginx用户
3.配置文件nginx.conf中修改(也可以编译安装时指定默认)
在配置文件最外层上面
4.让woker进程使用普通用户运行
为master服务降权:使用非root跑nginx master
注意:不能用80特权端口 ,前端nginx反向代理转端口
nginx由master和worker进程组成,master进程相当于管理员,worker进程为用户提供服务
一般设置为cpu核数或则核数x2,用top按1查看
修改nginx.conf配置文件第一行
把几个进程分配在一个cup上,cup亲和力
1.不同cpu设置如下
四核cpu配置:
八核cpu服务器参数配置:
2.官方文档说明
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下边挨着:
这个值根据服务器性能和程序的内存来指定(一个进程启动使用的内存根据程序确定)
这个参数是单个进程的最大链接数,实际最大链接数是worker技能书乘以这个数.
Max_client=worker_processes*worker_connections
相当于系统ulimit -HSn,应该是总的.
理念:配置参数不是越大越好,最好设为服务器承受的极限点.
在http字段设置
tcp_nopush参数可以允许把http response header和文件的开始放在一个文件里发布,积极的作用是减少网络报文段的数量.
保护服务器资源,硬件CPU mem,连接数.
建立连接也是要消耗资源的,我们一般断掉那些连上的链接,但是不做事的
php网站建议短连接,PHP程序建立连接消耗的资源和时间要少.
JAVA网站建议长连接,JAVA程序建立连接消耗的资源和时间要多.
在http字段设置
原文来自——微信公众号(马哥Linux教育)
转载请注明本页网址:
http://www.vephp.com/jiaocheng/4319.html