优化思路:

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

  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. web前端之浏览器: 知识汇总

    一.URL到页面 准备阶段: 输入URL,Enter进入查找 浏览器在本地查找host文件,匹配对应的IP: 找到返回浏览器并缓存 没有,则进入路由查找: 找到返回浏览器并缓存 再没有,再进入公网DN ...

  2. 04、JDBC范例

    范例:JDBC查询 package com.hsp; import java.sql.Connection; import java.sql.DriverManager; import java.sq ...

  3. 检测 IP的正则表达式

    ... /*ip正则表达式*/ /^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})| ...

  4. 为什么那么多自学JAVA的后来都放弃了?总结起来就这些原因

    目前信息化产业发展势头很好,互联网就成为了很多普通人想要涉及的行业,因为相比于传统行业,互联网行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Java开发. 目前来讲市场上需要的Java人员非 ...

  5. Python历史+优缺点+应用领域+网站职位简介

    一.Python的历史 1. 1989年圣诞节:Guido von Rossum开始写Python语言的编译器.2. 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的 ...

  6. Unix 线程改变创建进程中变量的值(2)

    执行环境:Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 ...

  7. ArrayList源码解析(二)

    欢迎转载,转载烦请注明出处,谢谢. https://www.cnblogs.com/sx-wuyj/p/11177257.html 自己学习ArrayList源码的一些心得记录. 继续上一篇,Arra ...

  8. boost::VS2017下编译和配置boost库

    环境: win10  vs2017  v141 1.下载  boost_1_70_0.zip. 2.以管理员方式打开 3. bootstrap.bat 4.编译64位库 b2.exe stage -- ...

  9. tkinter基础-标签、按钮

    本节内容: 明白标签.按钮的使用 实现简单的点击界面 Tkinter 简称tk,在python中属于内置模块,不需要进行安装,可直接引用,import tkinter 一. 首先我们做一个如图所示的图 ...

  10. JS单例对象与构造函数对象的区别

    JavaScript对象有几种: 内置对象如Global,Math对象等等. 本地对象如Object.Function.Array.String.Boolean.Number.Date.RegExp. ...