nginx配置文件详细解析

nginx安装目录:  /usr/local/nginx

配置文件:  /usr/local/nginx/conf 目录下的 nginx.conf文件

nginx优化方法
1、work_process : cpu亲和性
2、选择epoll模型
3、work_connects连接数
4、每个进程打开文件最大数
5、keepalive timeout; 会话保持时间
6、gzip压缩级别
7、proxy 超时时间配置
8、expires 3d;浏览器缓存过期时间,30天
9、nginx动静分离

一个nginx可配置几十个域名,几十个虚拟主机

user www www   #定义nginx的用户和用户组

worker_processes 4;  #默认启动4个工作进程(企业一般8-16个)

可以改成 worker_processes.auto;  #自动根据请求去启动进程

worker_cpu_affinity 00000001 00000010 000001 00 00001000   #CPU的亲和性,配置几个就要有几个逻辑CPU

pid /usr/local/nginx/nginx.pid   #指定进程id的位置

worker_rlimit_nofile 102400;  #指定进程打开的最多的文件描述符数目,这个最好是配置与 ulimit -n 的值相等

#event模块,定义使用哪个模块; nginx2.6以上,可以使用epoll模块
events{
    use epoll;
    worker_connections 102400;   #单个后台进程的最多并发连接数
    multi_accept on;   #尽可能多的接收请求(优化的一部分)
}

epoll模型:异步非阻塞模型,句柄事件的选择不需要遍历,是事件响应的。效率高--nginx
select模型 : 遍历所有的句柄,效率低 --apache

sendfile on;   #指定nginx是否调用函数,普通应用必须为on

tcp_nopush on;   #防止网络阻塞

keepalive_timeout 60;  #保持超时时间,单位是秒。连接继续保持的时间,连接不断开。 再次浏览时可以直接请求,不需要重新建立连接。

tcp_nodelay on;   #提高数据的实时响应性。

#开启gzip压缩,性能提升好几倍
gzip on;
gzip_min_length 1k;  #小与1k就不压缩
gzip_buffers 416k;
gzip_http_version1.1;
gzip_comp_level 4;  #这是指压缩级别。最大为9。配置为4,访问原来网址为180k时,压缩后可能是40-50k。这提高性能,然后这里一般配置为 4或者6.

缓冲区
client_max_body_size 10M;   #允许客户端请求的最大单文件字节数为10兆
client_body_buffer_size 128k;   #缓冲区代理缓冲用户端请求的最大字节数

proxy
proxy_connect_timeout 90;   #nginx与后端服务器的连接时间   示例:一个nginx对应后端的多个tomcat,读取超过90秒就是超
proxy_send_timeout 90;   #后端服务器数据回传时间,在规定时间内,后端服务器必须回传所有数据。
proxy_read_timeout 90;   #连接成功后,后端服务器的响应时间(处理请求的时间)
这个值一般设置为120秒。超时了nginx会报502错误。

****nginx动静分离
将动态请求与静态请求分开
一种是将  纯粹的把静态文件做成独立的域名,放在独立的服务器上,目前的主流方案。
另一种是  将动态文件和静态文件混合发布,根据不同的后缀名请求不同的文件。

#定义模块:(这里配置服务器,**负载均衡**)
upstream  jvm_web1{
    server 127.0.0.1:8080 weight=1max_fails=2 fail_timeout=30s;
    server 127.0.0.1:8081 weight=1max_fails=2 fail_timeout=30s;
}

location / {

proxy_pass http://jvm_web1;   #将请求转发给后台请求,使用jvm_web1模块

}
location~ 。。。#这里做匹配静态文件的数据,然后下面配置对应的server接收静态文件请求

nginx配置文件详解(三)的更多相关文章

  1. nginx之旅(第一篇):nginx下载安装、nginx启动与关闭、nginx配置文件详解、nginx默认网站

    一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http: ...

  2. 一、Nginx配置文件详解

    配置文件介绍 主要有两部分:分别是 main:主体部分 http{}:虚拟主机配置部分 配置指令主要以分号结尾:配置语法:directive value1 [value2 ....] 支持使用的变量 ...

  3. Nginx系列(10)- Nginx配置文件详解

    nginx文件结构 ... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全 ...

  4. Nginx配置文件详解

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. ######Nginx配置文件nginx.conf中文详解##### #定义Ngin ...

  5. Nginx教程(五) Nginx配置文件详解

    一. Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processe ...

  6. Nginx教程(五) Nginx配置文件详解 (转)

    一. Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processe ...

  7. Nginx:Nginx配置文件详解

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. 如下是Nginx的配置详解: ######Nginx配置文件nginx.conf中文 ...

  8. Nginx配置文件详解与优化建议

    1.概述 今天来详解一下Nginx的配置文件,以及给出一些配置建议,希望能对大家有所帮助. 2.nginx.conf 1)配置文件位置 nginx 安装目录的 conf 文件夹下,例如:/usr/lo ...

  9. nginx实现动静分离--附nginx配置文件详解

    转自http://www.cnblogs.com/1214804270hacker/p/9299462.html 一.认识访问静态资源与访问动态资源的区别 静态资源:指存储在硬盘内的数据,固定的数据, ...

随机推荐

  1. P678-vect2.cpp

    // CH1608.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string> #include < ...

  2. lambda表达式底层处理机制

    为了支持函数式编程,Java 8引入了Lambda表达式,那么在Java 8中到底是如何实现Lambda表达式的呢? Lambda表达式经过编译之后,到底会生成什么东西呢? 在没有深入分析前,让我们先 ...

  3. CURL操作

    具体代码如下: <?php$curl=curl_init(); //初始化$url='http://www.ecshop.com';//curl_setopt(curl资源,选项标志,选项值)c ...

  4. centos 7 安装TensorFlow

    查看linux版本 uname -a 查看磁盘大小 准备好python 2.7 查看python版本  import sysprint sys.version print sys.version_in ...

  5. learn python the hard way 习题6~10总结

    习题6总结 定义字符串: 名字 = 值 其他 你也可以用 {types_of_people}的方式把它放在任何字符串中. 也就是说你可以在其他字符串中添加{},然后前面加一个 f,可用print()进 ...

  6. 20180831xlVBA_WorkbooksCosolidate

    Sub WorkbooksConsolidate() Rem 设置求和区域为 sheet名称/单元格区域;sheet名称/单元格区域 Const Setting As String = "S ...

  7. JavaScript动态加载资源

    //动态加载样式 function dynamicLoadingCss(path){ if(!path || path.length === 0){ return false; } var head ...

  8. Ftp服务端安装-Linux环境

    目的 为什么要搭建FTP服务器,进入maven仓库下载Jar包时点击相应的链接进去会看到目录结构,这个就是ftp站点.可以随意的下载. 环境 Linux系统为CentOS6.5 安装步骤 查询是否已安 ...

  9. Vue之单文件组件的数据传递,axios请求数据及路由router

    1.传递数据 例如,我们希望把父组件的数据传递给子组件. 可以通过props属性来进行传递. 传递数据三个步骤: 步骤1:在父组件中,调用子组件的组名处,使用属性值的方式往下传递数据 <Menu ...

  10. file 文件上传后缀转化小写

    1.上传的文件后缀是大写的我们做上传文件的时候考虑的比较少,所以我就想把客户上传的文件后缀统一一下,后面我解析附件的时候比较好解析.例子:我得到的文件名称:$infoFileName;$fileNam ...