nginx优化之配置文件优化一常用参数

技术分享 Story 81浏览 0评论

#定义nginx运行的用户和用户组

user www www;

 

#启动进程,通常设置成和cpu的数量相等

worker_processes 8 ;

 

#为每个进程分配CPU,上面京8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个CPU

worker_cpu_affinity 00000001 00000100 00001000 00010000 00100000 01000000 10000000;

 

#该指令是当一个Nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit-n)与nginx进程数相除,但是Nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致

worker_rlimit_nofile 102400;

 

#全局错误日志

error_log /usr/local/nginx/logs/error.log;

#错误日志定义等级,[debug,info,notice,warn,error,crit]

 

#pid文件

pid  /usr/local/nginx/nginx.pid;

 

#工作模式及连接数上限

events{

  use  epoll;

        }

  #epoll 是多路复用I/O(I/O multipliexing)中的一种方式,但是仅用于linux 2.6以上内核,可以大大提高nginx的性能

 

#单个后台worker_process进程的最大并发连接数(最大连接数=连接数*进程数)

worker_connections 102400;

 

#尽可能多地接受请求

multi——accept on;

 

#设定http服务器,利用他的反向代理功能提供负载均衡

  http{

    include  mime.types;

    default_type  application/octet-stream;

    }

#设定日志格式

access_log  /usr/local/nginx/log/nginx/access.log;

 

#sedfile指定nginx是否调用sendfile函数(zero copy方式)来输出文件,对于普通应用必须为on

#如果用来进行下载登用用磁盘I/O重负载应用,可设置为of,来平衡磁盘与网络I/O

sendfile  on ;

 

#开启目录列表访问,适合下载服务器,默认关闭

autoindex   on ;

 

#防止网络阻塞

tcp_nopush on;

 

#keepalive超时时间,客户端到服务器的连接持续有效时间,当出现对服务器的后端请求时,可以避免建立或重新建立连接

keepalive_timeout 60;

  

 

#提高数据的实时响应性

tcp_nodelay  on;

 

#开启gzip压缩

gzip on;

gzip_min_length 1KB;

gzip_buffers  4 16k;

gzip_http_version 1.1;

gzip_comp_level 2;

  #压缩级别大小,最大为9,值越小,压缩后比例越小,CPU处理更快,值越大,消耗CPU比较高

gzip_types  text/plain application/x - javescript text/css application/xml;

gzip_vary on;

 

#允许客户端请求的最大单文件字节数

client_max_body_size 10MB;

 

#缓冲区代理缓冲用户端请求的最大字节数

client_body_buffer_size 128KB;

 

#nginx跟后端服务器超时时间(代理连接超时)

proxy_connect_timeout 90;

 

#后端服务器数据回传时间(代理发送超时)

proxy_send_timeout 90;

 

#连接成功后,后端服务器响应时间(代理接受超时)

proxy_read_timeout 90;

 

#设置代理服务器(nginx)保持用户头信息的缓冲区大小

proxy_buffer_size 4KB;

 

#proxy_buffers缓冲区,网页平均在32KB一下的话,这样设置

proxy_buffers 4 32KB;

 

#高负荷下缓冲大小(proxy_buffers*2)

proxy_busy_buffers_size 64KB;

 

#设定请求缓冲

large_client_header_buffers 4 4KB;

client_header_buffer_size 4KB;

  #客户端请求头部的缓冲区大小,这个可以根据系统分页大小来设置,一般一个请求的头部不会超过1KB,不过一般胸痛分页都大于1KB,所以这里设置为分页大小,分页大小可以用命令getconf pagesize取得

 

#为打开文件指定缓冲,默认时没有启用的,max指定缓冲数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓冲

open_file_cache max = 102400 inactive = 20s;

 

#多长时间检查一次缓冲的有效信息

open_file_cache_valid 30s;

 

#open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一致是在缓冲中打开的,比如上面,如果有一个文件在inactive

open_file_cache_min_user 1;

 

#包含其他配置文件,如自定义虚拟主机

include vhosts.conf;

 

转载请注明出处:https://www.cnblogs.com/zhangxingeng/p/10695361.html 

转载请注明:成长的对话 » nginx优化之配置文件优化一常用参数