Nginx调优相关参数
2020-06-02 06:31
381 查看
常用的一些参数
1. 工作进程数量
worker_processes 4; // 一般与CPU核心数相同 worker_cpu_affinity 0001 0010 0100 1000; // 工作进程分别与CPU绑定
2. Nginx最大打开文件数量
worker_rlimit_nofile 65535;
- 该指令指一个Worker打开的最多文件描述符数量,理论值应该是最多文件打开数(ulimit -n)与nginx进程数相除,但请求分配并不均匀,所以最好与ulimit -n一致;
- 文件资源限制的配置可以在/etc/security/limits.conf设置;
3. Nginx事件处理模型
events { use epoll; // 使用epoll处理效率高 worker_connections 65535; // 单个Worker进程最大连接数; multi_accept on; }
4. 开启高效传输
http { include mime.types; default_type application/octet-stream; …… sendfile on; tcp_nopush on; …… }
sendfile:开启高效文件传输模式,指定是否使用sendfile函数来输出文件,普通应用设为on,用来下载等磁盘IO重负载的设置为off,降低系统负载;
tcp_nopush:在sendfile开启情况下才有用,防止网络阻塞,减少报文段数量;
5. 连接超时时间
keepalive_timeout 60; // 链接会话超时时间; tcp_nodelay on; // 防止网络阻塞,包含keeplived参数才有效; client_header_buffer_size 4k; // 请求头部缓冲区大小,一般设置系统分页大小,获取分页大小命令getconf PAGESIZE; open_file_cache max=102400 inactive=20s; // 为打开文件指定缓存,建议和打开数量一致; open_file_cache_valid 30s; // 多长时间检查一次缓存有效信息; open_file_cache_min_uses 1; // 缓存最少使用次数,在inactive=20s时间内使用次数不够将被移除缓存; client_header_timeout 15; // 设置请求头的超时时间,超时将返回request time out错误; client_body_timeout 15; // 设置请求体超时时间,超时将返回request time out错误; reset_timedout_connection on; // 关闭不响应的客户端连接; send_timeout 15; // 响应客户端超时时间,指两个活动之间的时间,超时将关闭连接; server_tokens off; // 关闭Nginx错误页面中的版本号,相对安全; client_max_body_size 10m; // 上传文件大小限制;
6. gzip压缩
使用gzip压缩可以节约带宽,加快传输速度,但是会增加CPU消耗。
gzip on; // 开启压缩功能; gzip_min_length 2k; // 允许压缩的页面最小字节数,字节书从Content-Length中获取,建议大于1K; gzip_buffers 4 32k; // 压缩缓冲区大小,表示4个单位为32K的内存 gzip_http_version 1.1; // 压缩版本号; gzip_comp_level 6; 压缩等级,等级越大CPU处理越慢, gzip_typestext/plain text/css text/javascriptapplication/json application/javascript application/x-javascriptapplication/xml; // 指定哪些类型进行压缩; gzip_vary on; // varyheader支持,改选项可以让前端的缓存服务器缓存经过GZIP压缩的页面 gzip_proxied any;
7. expire缓存
缓存主要针对js、css、图片等较少改动的静态资源,expires配置在server字段里。
location ~* \.(ico|jpe?g|gif|png|bmp|swf|flv)$ { expires 30d; #log_not_found off; // 是否在error_log中记录不存在的错误 access_log off; } location ~* \.(js|css)$ { expires 7d; log_not_found off; // 是否在error_log中记录不存在的错误 access_log off; }
8. 防盗链
防止别人直接从你网站引用图片,消耗你的流量。
location ~*^.+\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ { valid_referers none blocked www.benet.com benet.com; if($invalid_referer) { #return 302 http://www.benet.com/img/nolink.jpg; return 404; break; } access_log off; }
valid_referers 参数可以使如下形式:
- List item
- none :意思是不存在的Referer头(表示空的,也就是直接访问,比如直接在浏览器打开一个图片)。
- blocked :意为根据防火墙伪装Referer头,如:“Referer:XXXXXXX”
- server_names :为一个或多个服务器的列表,0.5.33版本以后可以在名称中使用“*”通配符。
9 系统文件打开数优化
Linux默认的open files为1024,可查看当前系统值
# ulimit -n // 查看系统当前值 # ulimit -a // 查看当前系统所有限制值
将其改大,在/etc/security/limits.conf最后增加:
* soft nofile 65535 * hard nofile 65535 * soft noproc 65535 * hard noproc 65535
相关文章推荐
- nginx相关参数说明
- linux 相关系统参数调优
- JVM内存泄露和内存溢出后如何进行调优以及相关参数设置
- Nginx参数说明及性能调优
- LNMT(Linux+Nginx+MySQL+Tomcat)常见性能参数调优
- php+php-fom+nginx配置参数调优详解
- nginx学习笔记(2)---nginx配置文件中优化相关的参数
- Redhat 系统相关调优参数注解
- Nginx HTTP负载均衡/反向代理的相关参数测试
- Nginx内核参数相关的优化设定
- Java虚拟机内存结构、相关参数调优及GC算法分析
- Nginx内核参数相关的优化设定
- MySQL IO线程及相关参数调优
- Spark性能调优相关参数
- Nginx代理非80端口设置及相关参数说明
- Nginx内核参数相关的优化设定
- Map Reduce 相关参数调优
- Nginx HTTP负载均衡/反向代理的相关参数测试
- Nginx相关配置参数
- Nginx一直报504超时,配置相关参数好了