worker_cpu_affinity auto;
Binds worker processes to the sets of CPUs.javascript
worker_rlimit_nofile number;
worker进程所能打开的最大文件描述符数量,通常与ulimit -n相同便可css
error_log logs/error.log;
存放错误日志路径html
pid logs/nginx.pid;
pid进程路径java
event{
use epoll;
#epoll是多路复用IO(I/O Multiplexing)中的一种方式,可是仅用于linux2.6以上内核,能够大大提升nginx的性能node
worker_connections 1024;
#单个后台worker process进程的最大并发连接数linux
accept_mutex off;
#当一个新链接到达时,若是激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其余的Worker继续保持休眠状态;若是没有激活accept_mutex,那么全部的Worker都会被唤醒,不过只有一个Worker能获取新链接,其它的Worker会从新进入休眠状态,这就是「惊群问题」。通常为了吞吐量仍是关闭好一点。
multi_accept on;
#尽量多的接受请求,不然一个worker进程只接收一个链接。
}nginx
http{
include mime.types; #文件扩展名与类型映射表缓存
default_type application/octet-stream; #默认文件类型服务器
#设定请求缓存
server_names_hash_bucket_size 128;
#设置服务器名称哈希表的存储大小。默认值取决于处理器缓存行的大小。网络
client_header_buffer_size 128k;
#设置客户端请求头的缓冲区大小。对于大多数请求,1K字节的缓冲区就足够了。
client_body_buffer_size 128K;
#缓冲区请求body最大缓存
sendfile on;
#开启高速传输。不适用于下载等高IO应用。
tcp_nopush on;
#激活tcp_nopush参数能够容许把httpresponse header和文件的开始放在一个文件里发布,积极的做用是减小网络报文段的数量
tcp_nodelay on;
#激活tcp_nodelay,内核会等待将更多的字节组成一个数据包,从而提升I/O性能
gzip on;
gzip_min_length 1K;
#设置容许压缩的页面最小字节数,
gzip_comp_level 9;
#压缩比率。用来指定GZIP压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源。
gzip_types text/plain application/x-javascript text/css application/xml;
#用来指定压缩的类型,“text/html”类型老是会被压缩
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#设置日志格式
keepalive_timeout 65;
#保持链接超时数。可避免从新链接。
server{
location /{
}
}
}