Nginx配置文件优化

学习Nginx服务的难点在于对配置文件的理解和优化,熟练掌握Nginx配置文件参数的含义可以更快的掌握Nginx,以下为Nginx的配置文件常用参数详解:

user nginx nginx;
//定义Nginx运行的用户和用户组

worker_processes 8;
//启动进程,通常设置成和服务器本身CPU的数量相等
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
//为每个进程分配CPU,上列中将8个进程分配到了8个CPU,当然也可以写多个,或者把一个进程分到多个CPU

worker_rlimit_nofile 102400;
//该指令是当一个Nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(在命令行输入ulimit -n)然后与Nginx进程数相除,但是Nginx分配请求并不是那么的均匀,所以最好与ulimit -n的值保持一致
error_log /var/log/nginx/err/error.log
//全局错误日志文件,错误日志定义等级,[debug | info | notice | warn | error | crit ]
pid /var/run/nginx.pid;
//PID文件

events {
use epoll;
//工作模式选用epoll,epoll是多路复用I/O中的一种方式,但是仅用于Linux 2.6以上的内核,可以大大提高Nginx的性能)
worker_connections 102400;
//单个后台woker process 进程的最大并发连接数量 (最大连接数=连接数*进程数)

multi_accept on;
//尽可能多地接受请求
}

//设定HTTP服务器,利用它的反向代理功能提供负载均衡支持
http {
include mime.types;
default_type application/octet-stream;
//设定MIME类型,类型由mime.type文件定义

access_log /var/log/nginx/access.log;
//设定日志格式
sendfile on;
//sendfile指定Nginx是否调用 sendfile 函数(zero copy 方式) 来输出文件,对于普通用户必须设定为on,如果用来进行下载等应用磁盘IO重负载的应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统的uptime

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

tcp_nopush on
//防止网络阻塞

keepalive_timeout 60;
//keepalive 超时时间,客户端到服务器端的连接持续有效时间,当出现对服务器的后继请求时,keepalive-timeout可以避免建立或重新建立连接
tcp_nodelay on;
//提高数据的实时响应性

gzip on;
//开启gzip压缩
gzip_min_length 1KB;
gzip_buffers 4 16KB;
gzip_http_version 1.1;
gzip_comp_level 2;
//压缩级别大小,最大为9,值越小,压缩后比例越小,CPU处理更快,值越大,消耗cpu比较高
gizp_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
client_max_body_size 10MB;
//允许客户端请求的最大单文件字节数
client_body_buffer_size 128KB;
//缓冲区代理缓冲用户端请求的最大字节数
proxy_connect_timeout 90;
//Nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 90;
//后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 90;
//连接成功后,后端服务器响应时间(代理接受超时)
proxy_buffer_size 4KB;
//设置代理服务器(Nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32KB;
//proxy_buffers缓冲区,网页平均在32KB以下的话,这样设置
proxy_busy_buffers_size 64KB;
//高负载下缓冲大小(proxy_buffers*2)

//设定请求缓冲
large_client_header_buffers 4 4KB;
client_header_buffer_size 4KB;
//客户端请求头部的缓冲区大小,这个可以根据系统分页大小来设置,一般一个请求的头部大小不会超过1KB,不过由于一般系统的分页都要大于1KB,所以这里设置分页的大小.分页的大小可以通过命令getconf PAGESIZE取得
open_file_cache max=102400 inactive=20s;
//这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存
open_file_cache_valid 30s;
//这个是指多长时间检查一次缓存的有效信息
open_file_cache_min_uses 1;
//open_file_cache指令中的inactive参数时间内文件的最少试用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive

include vhost.conf;
//包含其他配置文件,如自定义的虚拟主机

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值