优化思路:

一.修改连接数和工作线程让其支持更多的并发量.

  worker_processes 2;                    //与CPU核心数量一致

  worker_connections 65535;        //每个worker最大并发连接数

二.调整内核参数限制(最大打开文件数量)

  ulimit -a   //查看所有属性值

  ulimit -Hn 100000   //设置硬限制(临时规则)

  ulimit -Sn 100000   //设置软限制(临时规则)

  编辑 /etc/security/limits.conf

  * soft nofile 100000

  * hard nofile 100000

#该配置文件分4列,分别如下:

#用户或组 硬限制或软限制 需要限制的项目 限制的值

三.优化nginx数据包头缓存

  在nginx配置文件中

  http{

    client_header_buffer_size 1k;        //默认请求包头信息的缓存     

    large_client_header_buffers 4 4k;        //大请求包头部信息的缓存个数与容量

  }

四.通过在配置文件中指定客户端缓存静态文件时间.

  server {

    listen 80;

    server_name localhost;

    location / {

      root html;

      index index.html index.htm;

    }

    location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {

      expires        30d;            //定义客户端缓存时间为30天

    }

  }

五.日志文件切割

  通过脚本对nginx进行日志切割,重启nginx服务即可.

六.对页面进行压缩处理

  http{

    gzip on;          //开启压缩

    gzip_min_length 1000;     //小文件不压缩

    gzip_comp_level 4;      //压缩比率

    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    //对特定文件压缩,类型参考mime.types

  }

七.服务器内存缓存

  如果是处理大量静态文件,可以将文件缓存在内存,下次访问会更快.

  http {

    open_file_cache max=1000 inactive=30s;  //设置服务器最大缓存1000个文件句柄,关闭30秒内无请求的文件句柄

    open_file_cache_valid 60s;  //文件句柄的有效时间是60秒,60秒后过期

    open_file_cache_min_uses 10;  //只有访问次数超过10次会被缓存

    open_file_cache_errors off;

}

八.隐藏版本信息 

  http {
    server_tokens off; //在http中加上server_tokens off 
  }

  编辑php-fpm配置文件,在动静分离location 分离php页面中找到fastcgi配置

  将 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

  改为 fastcgi_param SERVER_SOFTWARE nginx;

nginx篇高级之优化整理的更多相关文章

  1. nginx篇高级用法之基于TCP/UDP的四层调度

    nginx 从1.9版本开始支持基于TCP/UDP的四层调度,在编译nginx时使用--with-stream开启该模块 支持TCP/UDP调度时,支持给所有的软件做调度器,例如:nfs smb ft ...

  2. nginx的高级配置和优化

    Nginx的高级配置(优化) 针对内核的配置优化 1)net.core.netdev_max_backlog 表示当网络接口接收数据包的速度大于内核处理这些包块的时候,允许发送到队列的数据包的最大数目 ...

  3. node.js后台快速搭建在阿里云(二)(pm2和nginx篇)

    前期准备 阿里云服务器 node.js pm2 express nginx linux(推荐教程:鸟哥的私房菜) 简介 嗯……我只是个前端而已 在第一部分说完了express篇. 后面继续项目的部署, ...

  4. Nginx错误日志与优化专题

    一.Nginx配置和内核优化 实现突破十万并发 二.一次Nignx的502页面的错误记录 (1)错误页面显示 错误日志: // :: [error] #: * recv() failed (: Con ...

  5. MySQL优化整理

    一.SQL优化 1.show status查看各种sql的执行频率   SHOW STATUS 可以根据需要显示 session 级别的统计结果和 global级别的统计结果.   显示当前sessi ...

  6. 如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南

    0x00 前言简述 SSL/TLS 简单说明 描述: 当下越来越多的网站管理员为企业站点或自己的站点进行了SSL/TLS配置, SSL/TLS 是一种简单易懂的技术,它很容易部署及运行,但要对其进行安 ...

  7. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  8. 根据网站所做的SEO优化整理的一份文档

    今日给合作公司讲解本公司网站SEO优化整理的一份简单文档 架构 ########################################## 1.尽量避免Javascript和flash导航. ...

  9. Nginx+PHP-fpm高负载优化及压力测试方法

    Nginx+PHP-fpm组合,以内存占用小,负载能力强壮的特点,成为小内存VPS建站的首选组合.我们一起来探讨一下nginx+php-fpm高负载的优化方法. 先来看看nginx配置参数的优化.ng ...

随机推荐

  1. 快学Scala 第十五课 (二进制读取文件,写文件,访问目录,序列化)

    二进制读取文件: val file = new File("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt") val in ...

  2. InfluxDB从原理到实战 - 什么是InfluxDB

    0x00 什么是InfluxDB InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读.高性能写.高效存储与实时分析等,在DB-Engines Rankin ...

  3. WebSocket协议与抓包

    WebSocket协议 WebSocket并不是全新的协议,而是利用了HTTP协议来建立连接,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器 ...

  4. angular之路由

    一.核心问题 路由要解决的核心问题是通过建立url和页面之间的对应的关系,使不同的页面可以通过不用的url来展示. 首先,当用户在浏览器上输入URL后,Angular将获取该URL并将其解析生成一个U ...

  5. JAVA阻塞(IO)和非阻塞(NIO)

    查看这篇文章,了解更多关于Java的阻塞和非阻塞替代创建套接字的信息. 套接字使用TCP / IP传输协议,是两台主机之间的最后一块网络通信. 您通常不必处理它们,因为它们之上构建了协议,如HTTP或 ...

  6. mac安装flask

    1.1使用虚拟环境 输入以下命令可以检查系统是否安装了 virtualenv: $ virtualenv --version 大多数 Linux 发行版都提供了 virtualenv 包.例如,Ubu ...

  7. 算法学习之剑指offer(二)

    题目1 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; public class Solution { ...

  8. Linux之常用命令I

    一.Linux简介 1)Minix(只为教学,开源的)-->Linux(以前者为模板,添加了一些软件) 2)Linux分为内核版本和发行版本 区别:Linux内核版本就是核心版本,不用最新版本, ...

  9. Web前端安全之iframe

    防嵌套网页 比如,最出名的clickhacking就是使用iframe来 拦截click事件.因为iframe享有着click的最优先权,当有人在伪造的主页中进行点击的话,如果点在iframe上,则会 ...

  10. dll劫持破坏360

    0x01 前言 说起DLL劫持技术,相信大家都不会陌生,因为这种技术的应用比较广泛,比如木马后门的启动.破解程序的内存补丁.外挂插件的注入以及加密狗的模拟等.之所以DLL劫持技术深受黑客们的喜爱,主要 ...