Browsed by
标签: nginx

Nginx性能优化必备参数与说明

Nginx性能优化必备参数与说明

优化方向

  • CPU 亲和配置
  • 网络模型优化配置
  • 连接数优化配置
  • TCP连接优化配置
  • 日志优化配置
  • gzip压缩配置
# nginx运行时使用www用户,默认是nginxuser www;# 针对cpu核树自动配置。nginx默认是没有开启利用多核cpu的配置的。需要通过增加worker_cpu_affinity配置参数来充分利用多核cpuworker_processes  auto;# nginx cpu自动亲和配置worker_cpu_affinity auto;# nginx错误日志的目录和级别设置  debug, info, notice, warn, error, crit  默认为 criterror_log /var/log/nginx/error.log warn;pid /run/nginx.pid;# 能打开的最多文件描述符,可与ulimit -n 保持一致,负荷较高建议2-3w以上worker_rlimit_nofile 35535;# 个性化模块配置include /usr/share/nginx/modules/*.conf;events {# 网络io模型,nginx采用epoll事件模型,处理效率高use epoll;# 限制每个进程可以处理多少个连接请求,最大(worker_rlimit_nofile/worker_processes) 整体可打开文件数据量除以worker线程数量worker_connections 10240;}http {include /etc/nginx/mime.types;# 如果Web程序没设置,Nginx也没对应文件的扩展名,就用Nginx 里默认的 default_type定义的处理方式,application/octet-stream是nginx默认类型default_type application/octet-stream;#  隐藏nginx版本信息,安全性考虑server_tokens off;# 统一使用utf-8字符集charset utf-8;# 日志格式log_format  main  '[time:$request_time s] $remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"''$upstream_addr $upstream_response_time $request_time $upstream_status ''"$http_range" "$sent_http_content_range"''"$gzip_ratio"''"$query_string"''"-http_refer:$http_referer"';# 在http层,所有server都会打印,可以移动到server层细分access_log  /var/log/nginx/access.log main;####以下内容为核心调整###### 开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的负载sendfile on;# 必须在 sendfile 开启模式才有效,防止网路阻塞,积极的减少网络报文段的数量(将响应头和正文的开始部分一起发送,而不一个接一个的发送)。tcp_nopush on# 也是防止网络阻塞,不过要包涵在keepalive_timeout参数才有效tcp_nodelay on# 优化http连接 客户端连接保持会话超时时间,超过这个时间,服务器断开这个链接keepalive_timeout 65;# nginx日志缓存,降低日志IO。# max;文件描述符# inactive:日志文件在缓存中多长时间未使用就取消# min_uses: 在存活时间内日志被写入几次才会记录到缓存open_log_file_cache max=10240 inactive=60s valid=1m min_uses=2;##压缩配置gzip on;gizp_disable "MSIE [1-6]\."gzip_min_length 2k;gzip_buffers 4 16k;gzip_comp_level 3;gzip_vary on;gzip_types text/plain application/x-javascript application/javascript application/css  text/css application/xml;# Server配置include /etc/nginx/conf.d/*.conf;}

阅读全文 Read More