nginx配置文件(一)

基本配置项

用于调试进程和定位问题的配置项

  • daemon on|off;默认 on
    是否以守护进程运行nginx
  • master_process on|off;默认 on
    是否以fork出worker子进程来进行处理请求
  • error_log /path/file level;
    定义错误日志的路径以及等级,输出级别包括debug、info、notice、warn、error、crit、alert、emerg
  • debug_connection [IP|CIDR]
    对固定ip请求输出debug级别的日志,需要写在events块中,一般用于定位问题
  • worker_limit_core size;
    限制coredump核心转储文件的大小,linux系统中,当进程发生错误或者收到信号中止时,系统会将进程执行时的内存内容写入一个文件(core文件)以作为调试之用,即是核心转存,nginx进程出现非法操作时,也会生成此core文件,从而帮助定位问题,但如果不限制大小,则会快速的把空间占满
  • working_directory path;
    指定coredump文件生成目录

正常运行的配置项

  • env VAR|VAR=VALUE
    让用户直接操作系统上的环境变量 例如:env TESTPATH=/tmp/;
  • include /path/file
    把其他配置文件嵌入当前nginx.conf中,可以时绝对路径也可以时相对路径(相对于nginx.conf所在的目录路径)
  • pid path/file;(默认 logs/nginx.pid)
    master进程ID的pid文件存放路径,应确保Nginx有权在相应目标文件中创建pid文件,该文件直接影响Nginx是否可以运行。
  • user username [groupname]
    user用于设置master进程启动后,fork出的worker进程运行在哪个用户和用户组下,若编译安安装时使用了参数–user=username和–group=groupname,此时将使用参数中指定的用户和用户组。
  • worker_rlimit_nofile limit;
    设置一个worker进程可以打开的最大文件句柄数
  • worker_rlimit_sigpending limit;
    设置每个用户发往nginx的信号队列大小

优化性能的配置项

  • worker_process number 默认1
    定义nginx worker进程的个数,每个进程都是单线程的进程,配置多于内核数的进程会增大进程间切换带来的消耗
  • worker_cpu_affinity cpumask
    绑定进程至指定的CPU内核
  • worker_priority nice 默认0(-19-20)
    调整进程的优先级设置

事件类配置项

  • accpet_mutex [on|off] 默认on
    是否打开accpet锁 ,默认是打开的,如果关闭它,但是建立TCP连接的耗时会更短,但worker进程之间的负载会失衡。
  • lock_file path/file 默认logs/nginx.lock
    定义accpet锁需要的lock文件的位置
  • multi_accept [on|off] 默认off
    批量建立新连接,默认关闭,当有新连接的时候,对调度中客户端发起的所有tcp请求都发起连接
  • use [事件模型]
  • worker_connections number;
    定义每个进程可以同时处理的最大连接数