专栏首页北京马哥教育11条nginx优化方法助力你的运维生涯

11条nginx优化方法助力你的运维生涯

云豆贴心提醒,本文阅读时间5分钟

隐藏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进程使用普通用户运行 为master服务降权:使用非root跑nginx master

注意:不能用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运维(magedu-Linux),作者:LiXinYu

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 20步打造最安全的Nginx Web服务器(下)

    八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf ...

    小小科
  • Nginx流量复制

    为了实现流量拷贝,Nginx提供了ngx_http_mirror_module模块

    小小科
  • 十分钟学技术系列 | Nginx从入门到上线

    前言 由于微信小程序要使用Https,但是又不能修改已有线上的配置。所以最简单的方法就是使用nginx转发,在nginx上使用https,然后再转发到内部服务器...

    小小科
  • Nginx超简单教程

    Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强。Nginx专为性能优化而开发,性能是其最重要的考量,能经受高负载的考验,有报告...

    Java旅途
  • Nginx超简单教程

    Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强。Nginx专为性能优化而开发,性能是其最重要的考量,能经受高负载的考验,有报告...

    Java旅途
  • Liunx常用软件的安装

    用户5927264
  • nginx配置网站访问密码

    有时候我们需要对网站的访问进行权限认证。普遍的做法是做一个登录验证功能,可如果是静态博客,就没办法通过后端程序进行验证。这种情况下,可以用nginx的 ngx...

    章鱼喵
  • nginx入门学习——编译安装 原

    Nginx是一款高性能的Web服务器、邮件服务器和反向代理服务器,由俄罗斯人Igor Sysoev(伊戈尔·赛索耶夫)开发的。

    阿dai学长
  • nginx+vsftp搭建图片服务器前言:简介:nginx的安装:vsftp的安装:配置nginx为图片服务器:总结:

    贪挽懒月
  • Nginx | Java工程师必备课 之 Linux下安装Nginx

    码神联盟

扫码关注云+社区

领取腾讯云代金券