Nginx服务优化详解

1.隐藏Nginx版本信息
编辑主配置文件nginx.conf,在http标签中添加代码 server_tokens off;来隐藏软件版本号。
2.更改Nginx服务启动的默认用户
编译安装的时候指定用户或者在安装后在配置文件中指定。
3.优化Nginx服务worker进程个数
  • Nginx服务worker processes的值通常为cpu的核数。
worker_processes 8;
worker_connectiosn 20480;
##work_connections是每个work_processer的连接数
##并发=worker processes*worker connections
  • 获取cpu核数:grep -C "processor" /proc/cpuinfo
  • 查看物理cpu个数: grep 'physical id' /proc/cpuinfo|sort|uniq|wc -l
  • Nginx worker进程最大打开文件数
worker_rlimit_nofile 65535;(放在主标签段)
4.Nginx域名的优化
根据用户请求的域名从服务器域名缓存中进行匹配,从而降低域名访问的磁盘IO,将如下代码段放置在http标签段
server_names_hash_bucket_size 128;
server_names_hash_max_size 512;(默认512)
5.Nginx参数调整之连接超时时间
5.1连接超时的作用
  • 将无用的连接尽快超时,可以保护服务器的系统资源
  • 当连接过多时,及时断掉已经建立好的 但长时间不工作的的连接,减少其占用的服务器资源
  • 黑客攻击网站,会不断和服务器建立并消耗大量的连接数,需要断开这些恶意占用资源的连接
  • 连接超时是服务对本身的一种自我管理、自我保护机制。
5.2设置nginx连接超时时间
  • 设置keepalive_timeout参数
keepalive_timeout 60;
用于设置客户端连接保持会话的超时时间,可以在http、server、location中使用
  • 设置client_header_timeout参数
client_header_timeout 15s;
用于读取客户端请求头数据的超时时间。可以放置在http、server标签段
  • 设置client_body_timeout参数
client_body_timeout 15s;
用于读取客户端请求主体数据的超时时间。可以放置在http、server标签段
  • 设置send_timeout参数
send_timeout 25s;
用于设置服务端发送http信息相应客户端都超时时间,如果在规定的时间内,客户端 没有响应,则断开连接
6.设置客户端上传文件的大小
client_max_body_size 8m;
7.配置nginx gzip压缩实现性能优化
放置在http标签中
gzip on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_type /text/plain application/x-javascript text/css application/xml;
gzip_vary on;
8.配置Nginx expires缓存实现性能优化
Nginx expires功能:为用户访问网站内容设置一个过期时间,让用户第一次访问这些内容时,会把这些内容存在用户浏览器本地,当用户之后继续访问该网站时,浏览器会检查加载已经存在的浏览器本地内容,直到缓存的内容过期或被清除为止。
其配置方法为在配置文件的Server标签中加入一个location标签,如缓存图片等至客户端浏览器中,代码如下:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires 360d;
}
9.禁止Nginx禁止非法域名解析访问企业网站
当解析域名的请求头,如果不匹配返回501;添加server标签到第一个点
server{
listen 80 default_server;
server_name _;
return 501;
}
 
10.通过referer防止Nginx网站图片被盗链
location ~* ^.+\.(jpg|png|swf|flv|rar|zip)${
valid_referers none blocked *.etiantian.org etiantian.org;
if ($invalid_referer){
rewrite ^/ http://bbs.etiantian.org/img/nolink.gif;
}
root html/www;
}
 
阿里天猫门户的Nginx优雅显示配置案例:
error_page 500 501 502 503 504 http://err.tmall.com/error2.html;
error_page 400 403 404 405 408 410 411 412 413 414 415 http://err.tmall.com/error1.html;

Nginx服务优化详解的更多相关文章

  1. Nginx配置项优化详解【转】

    (1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...

  2. Nginx配置优化详解

    如果你已经安装过Nginx并在生产环境中使用,那么Nginx配置优化你一定也要做,这样才能看到Nginx性能,本文就从基本配置优化开始到高层配置教你如何优化Nginx 大多数的Nginx安装指南告诉你 ...

  3. Nginx配置项优化详解(转)

    (1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...

  4. Nginx 配置项优化详解

    (1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...

  5. nginx 配置优化详解

    # nginx不同于apache服务器,当进行了大量优化设置后会魔术般的明显性能提升效果 # nginx在安装完成后,大部分参数就已经是最优化了,我们需要管理的东西并不多 #user nobody; ...

  6. 2-4、nginx特性及基础概念-nginx web服务配置详解

    Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...

  7. (转)Nginx静态服务配置---详解root和alias指令

    Nginx静态服务配置---详解root和alias指令 原文:https://www.jianshu.com/p/4be0d5882ec5 静态文件 Nginx以其高性能著称,常用与做前端反向代理服 ...

  8. Nginx静态服务配置---详解root和alias指令

    Nginx静态服务配置---详解root和alias指令 静态文件 Nginx以其高性能著称,常用与做前端反向代理服务器.同时nginx也是一个高性能的静态文件服务器.通常都会把应用的静态文件使用ng ...

  9. Nginx配置配置文件详解

    文章目录 配置文件 nginx.conf配置文件详解 用于调试.定位问题的配置参数 正常运行必备的配置参数 优化性能的配置参数 事件相关配置 Fastcgi相关配置参数 常需要调整的参数 nginx作 ...

随机推荐

  1. 笔记之远程桌面服务(RDS)

    Windows默认只能有2个用户同时通过RDP进行连接,非常不方便,于是借此机会学习了下Win2012R2的远程桌面配置.以下我把学习过程记录一下: 1. 最开始我觉得只需要安装“Remote Des ...

  2. 02.基于IDEA+Spring+Maven搭建测试项目--详细过程

    一.背景介绍 1.1公司相关技术 Git:是一款免费的开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,方便多人集成开发 Maven:是基于项目对象模型(POM),可以通过一小段描述信息 ...

  3. P4910 帕秋莉的手环

    题目背景 帕秋莉是蕾米莉亚很早结识的朋友,现在住在红魔馆地下的大图书馆里.不仅擅长许多魔法,还每天都会开发出新的魔法.只是身体比较弱,因为哮喘,会在咏唱符卡时遇到麻烦. 她所用的属性魔法,主要是生命和 ...

  4. MT【117】立体几何里的一道分类讨论题

    评:最后用到了中间的截面三角形两边之和大于第三边.能不能构成三棱锥时考虑压扁的"降维"打击是常见的方式.

  5. Windows Shell远程执行代码漏洞((CVE-2018-8414)复现

    0x00   SettingContent-ms文件介绍 .SettingContent-ms是在Windows 10中引入的一种文件类型,它的内容是XML格式进行编写的,主要用于创建Windows设 ...

  6. 《深入理解计算机系统》学习总结 Chap7

    第七章 链接 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或拷贝)到存储器并执行.链接可以执行于编译时,也就是在源代码被翻译成机器代码时:也可以执行于加载时,也就 ...

  7. 解题:USACO14OPEN Fair Photography

    题面 有点像JRY的那道序列题,大概是统计题的经典套路? 先说无修改的:将白奶牛记为$-1$,花奶牛记为$1$,然后做前缀和统计某个前缀和$sum$第一次出现的位置,之后再出现就统计答案.对于修改(将 ...

  8. IDA error of " positive sp value has been found"

    问:用IDA静态分析,函数结尾出现 endp ; sp-analysis failed 用F5调不出伪代码,不知道是什么原因,请问有什么解决办法没有? 答:endp ; sp-analysis fai ...

  9. 小议主子表INT自增主键插入记录的方法SQL server]教程

    http://www.chinesejy.com/jishu/508/519/2006061781665.html 主子表最常见的大概就是用在进销存.MRP.ERP里面,比如一张销售订单,订单Orde ...

  10. laravel 中的 toSql 获取带参数的 sql 语句

    默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下: DB::table('user')->where('id', 1)->toSql(); ...