色婆ijqwj 发表于 2018-11-12 11:14:02

Nginx配置文件说明及优化设置

1.Nginx的日志(log)位置:
  默认位置/var/log/nginx ,需要重定向log的位置
  /etc/logrotate.d/nginx, 修改 属组为nginx

2.Nginx配置文件的位置:
  主配置文本 /etc/nginx/nginx.conf
  子配置文件 /etc/nginx/conf.d/.conf

3.主配置文件结构(全局配置):

  Nginx配置文件的结构包含events,http,upstream,server,location这五大模块,另外我们发现一些指令不包含在这五个模块中,我们称他们为main指令.
  每块具体意义如下:
  main模块:
  主要控制nginx子进程的所属用户/用户组,派生子进程数,错误日志位置/级别,pid位置,进程对应cpu,进程能够打开的文件描述符数目等
  events模块:
  控制nginx处理连接的方式
  http模块:
  是nginx处理http请求的主要配置模块,有关http的相关都在这个模块中进行配置.
  server模块:
  包含在http块中,是在nginx中虚拟主机的配置块,可以配置多个
  location模块:
  包含在server模块中,是server中对应的目录级别的控制块,可以配置多个.

配置运行nginx的用户和组:
  user user
  user 指定可以运行nginx服务器的用户
  group 可选项,指定运行nginx服务器的用户

配置运行产生的worker process数:
  worker_processes number | auto;
  number 指定nginx进程最多可以产生worker processes数,默认为1'
  auto,设置此值,nginx将自动检测cpu的核心数,并将worker process数量设置成等同cpu核心数量

配置nginx打开最大文件数:
  worker_rlimit_nofile number;
  number 设置worker进程打开最大文件数

配置nginx最大连接数:
  worker_connections numbers;
  numbers 设置一个worker进程的最大网络连接数

配置nginx进程PID存放路径:
  pid /path/file

配置错误日志的存放路径:
  error_log file|stderr ;
  设置某一级别后,比这一级高的日志也会被记录
  例如:
  error_log logs/error.log error;

配置文件引入指令include file;
  file,要引入的配置文件,它支持相对路径
  在一些情况下,我们可能将其他的nginx配置或第三方模块的配置引入到当前的主配置文件中,此指令可以放在文件的任意地方.

Nginx优化配置指令


针对cpu的nginx配置优化指令
  

在nginx配置中,两个关于进程的指令:worker_processes 和worker_cpu_affinity,它们可以针对多核cpu进行配置优化  

  worker_processes指定nginx工作进程数.默认为1,但是为了更好的处理并发任务,可以设置该值,最好是机器的cpu的倍数;
  并不是越大越好,nginx进程太多会增加主进程master调度负担,也可能影响系统的IO效率
  auto参数可以自动根据操作系统的cpu核心数量去开启等同于nginx工作进程数,这样就不需要手动去设置nginx的工作进程数量
  

  worker_cpu_affinity指令用来为每个进程分配工作内核(cpu),
  设置规则:
  cpu有多少个核,就有几位数,1代表使用,0代表不使用
  例如



针对网络相关的配置指令
  keepalive_timeout指令
  用于设置Nginx服务器与客户端保持连接的超时时间
  例如: keepalive_timeout 60 30;
  第一个选项指定客户端连续保持活动的超时时间
  第二个选项指定keepalive消息头保持存活的有效时间
  send_timeout指令
  用于设置nginx服务器响应客户端的超时时间,这个时间仅针对客户端和服务器建立连接之后
  例如: send_timeout 10s;
  client_header_buffer_size指令
  设置nginx服务器允许的客户端请求头的缓冲区大小,默认是1KB;


Gzip压缩指令
  

   在nginx配置文件中可以配置Gzip的使用,Gzip指令可以在http|server|location模块中设置  它可以对响应数据进行在线实时压缩.Gzip主要由ngx_http_gzip_module模块提供
  开启或者关闭Gzip功能,默认是关闭
  gzip on | off;


页: [1]
查看完整版本: Nginx配置文件说明及优化设置