09-nginx常用配置详解

Nginx配置分为各个配置块,主配置块负责全局配置,子配置块可以继承全局配置,也可以相应的配置不同设置。

main block:主配置(全局配置)
    event{
        ...
    }事件驱动相关配置块
    http{
        ...
    }http/https 协议相关的配置块
    mail{
        ...
    }邮件服务器相关的配置块
    stream{
        ...
    }流服务器相关的配置块

主配置按照功能通常分为四类:

1.运行必备的配置

2.优化性能的配置

3.调试及定位问题的配置

4.事件驱动相关配置



运行必备的配置

--  user :定义worker进程的用户与用户组,默认是nginx

Syntax: user user [group];
Default: user nobody nobody;
Context: main

--  pid :定义存储Master进程ID的文件路径 

Syntax: pid file;
Default: pid nginx.pid;
Context: main

--  include:配置文件可嵌入其他配置文件

--  load_module:加载动态模块

性能优化相关配置

--   worker_processes:定义worker进程的数量,通常为内核数量减一,也可定义为auto

worker_processes auto;

--  worker_cpu_affinity:设定cpu与worker进程绑定,默认不绑定,假设由4颗CPU,值可设为 auto ,或者

worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
[[email protected] nginx]# ps axo comm,pid,psr | grep nginx
nginx           10729   3
nginx           10797   0
nginx           10798   1
nginx           10799   2
nginx           10800   3
[[email protected] nginx]# ps aux | grep nginx
root     10729  0.0  0.2 122892  5180 ?        Ss   10:59   0:00 nginx: master process /usr/sbin/nginx
nginx    10797  0.0  0.2 123256  4008 ?        S    11:29   0:00 nginx: worker process
nginx    10798  0.0  0.2 123256  4012 ?        S    11:29   0:00 nginx: worker process
nginx    10799  0.0  0.2 123256  4016 ?        S    11:29   0:00 nginx: worker process
nginx    10800  0.0  0.2 123256  3788 ?        S    11:29   0:00 nginx: worker process
root     10808  0.0  0.0 112660   968 pts/0    R+   11:31   0:00 grep --color=auto nginx

--  worker_priority number:指定worker进程的nice值,默认为0,值越小优先级越高,取值范围  -20-20

worker_priority -5;

[[email protected] nginx]# ps axo comm,pid,psr,ni | grep nginx
nginx           10729   3   0
nginx           10830   0  -5
nginx           10831   1  -5
nginx           10832   2  -5
nginx           10833   3  -5

--  worker_rlimit_nofile  number:worker进程所能打开的文件数量上限,一般往上了调,50000;

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

worker_priority -5;
worker_rlimit_nofile 50000;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.

定位调试相关配置

--  daemon:决定nginx是否成为守护进程

--  master_process:决定是否启用worker进程

--  error_log:日志相关

事件驱动相关配置

events {
      ...
  }

--  worker_connections number:单个worker进程所能打开的最大并发连接数量;如果作反向代理,那么同时包括发送和接受,数量还要/2;

--  use method:指明处理请求的方法;

--  accept_mutex:可选值 on | off  ,如果启用on,worker进程接受请求时采取轮流处理新请求,off则通知所有worker进程。连接请求较少时建议启用on,可避免worker进程资源浪费;

events {
    worker_connections 10000;
    use epoll;
    accept_mutex on;
}
时间: 2024-08-22 18:16:53

09-nginx常用配置详解的相关文章

logback logback.xml 常用配置详解

一:根节点 包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒.当scan为true时,此属性生效.默认的时间间隔为1分钟. debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态.默认值为false. 例如: <configuration scan="true" scan

快速部署Python应用:Nginx+uWSGI配置详解

快速部署Python应用:Nginx+uWSGI配置详解 相比于PHP,Python应用的部署很麻烦,比较常用的方法有fcgi与wsgi,然而这两种都很让人头痛.文章介绍了Nginx+uwsgi的简便方法,来快速的部署Python应用. AD: 在PHP里,最方便的就是deployment了,只要把php文件丢到支持PHP的路径里面,然后访问那个路径就能使用了:无论给主机添加多少PHP应用,只要把目录改好就没你的事了,完全不用关心php-cgi运行得如何,deployment极为方便. 反观Py

Varnish常用配置详解

实现负载均衡 varnish所支持的调度方式有以下几种: 1.round-robin        #加权轮询,因为每个backend都有它的权重 2.random             #随机 3.dns                #基于DNS名称解析之后进行调度 例: 定义多个backend directorNAME  scheduler {     .retries = 2;     {          .backend = b1;          .weight = 2;   

logback常用配置详解及logback简介

logback 简介(一) Ceki Gülcü在Java日志领域世界知名.他创造了Log4J ,这个最早的Java日志框架即便在JRE内置日志功能的竞争下仍然非常流行.随后他又着手实现SLF4J 这个“简单的日志前端接口(Façade)”来替代Jakarta Commons-Logging . LOGBack,一个“可靠.通用.快速而又灵活的Java日志框架”. 要在工程里面使用logback需要以下jar文件: slf4j-api-1.6.1.jar 官网网址:http://www.slf4

Tomcat记录-tomcat常用配置详解和优化方法

常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是server.xml. /logs:存放日志文件. /server/webapps:来管理Tomcat-web服务用的.仅对TOMCAT可见,对所有的WEB APP都不可见(使用Catalina类加载器加载). /shared/lib:仅对所有WEB APP可见,对TOMCAT不可见(使用Shared类加载

tomcat常用配置详解 及优化

常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是server.xml. /logs:存放日志文件. /server/webapps:来管理Tomcat-web服务用的.仅对TOMCAT可见,对所有的WEB APP都不可见(使用Catalina类加载器加载). /shared/lib:仅对所有WEB APP可见,对TOMCAT不可见(使用Shared类加载

Nginx 核心配置详解

目录 Nginx 核心配置详解 Nginx 四层访问控制: Nginx账户认证功能: 自定义错误页面: 自定义访问日志: 检测文件是否存在: 长连接配置: 作为下载服务器配置: 作为上传服务器: 其他配置: Nginx 核心配置详解 Nginx 四层访问控制: 准备两个客户端,做访问测试使用. centos7 IP:192.168.39.7 centos6 IP:192.168.39.6 [[email protected] images1]#vim /apps/nginx/conf/conf.

logback logback.xml常用配置详解(三) &lt;filter&gt;

转自:logback logback.xml常用配置详解(三) <filter> logback 常用配置详解(三) <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY,日志将立即被抛弃不再经过其他过滤器:返回NEUTRAL,有序列表里的下个过滤器过接着处理日志:返回ACCEPT,日志会被立即处理,不再经过剩余过滤器. 过滤器被添加到<Appender> 中,为<

logback logback.xml常用配置详解(二)&lt;appender&gt;

logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件. <appender>有两个必要属性name和class.name指定appender名称,class指定appender的全限定名. 1.ConsoleAppender: 把日志添加到控制台,有以下子节点: <encoder>:对日志进行格式化.(具体参数稍后讲解 ) &

logback 常用配置详解(二) &lt;appender&gt;

logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件. <appender>有两个必要属性name和class.name指定appender名称,class指定appender的全限定名. 1.ConsoleAppender: 把日志添加到控制台,有以下子节点: <encoder>:对日志进行格式化.(具体参数稍后讲解 ) &