Nginx 配置参考


#nginx运行工作进程个数,一般设置cpu的核心或者核心数x2
worker_processes  12;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;


events {
    #nginx采用epoll事件模型,处理效率高
    use epoll;

    #单个worker进程允许客户端最大连接数(65535为端口数量,超出部分无法连接)
    worker_connections  20480;

    #告诉nginx收到一个新连接通知后接受尽可能多的连接,默认是on,设置为on后,多个worker按串行方式来处理连接,也就是一个连接只有一个worker被唤醒,其他的处
    #于休眠状态,设置为off后,多个worker按并行方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完毕,没有取得连接的继续休眠。
    #当你的服务器连接数不多时,开启这个参数会让负载有一定的降低,但是当服务器的吞吐量很大时,为了效率,可以关闭这个参数
    multi_accept off;
}


http {
    #并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的。
    server_tokens off; 

    # 媒体类型,include 只是一个在当前文件中包含另一个文件内容的指令
    include       mime.types;

    #默认媒体类型,如: application/octet-stream;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;

    #设置nginx是否存储访问日志。关闭这个选项可以让读取磁盘IO操作更快
    access_log  off;

    #sendfile 可以让sendfile()发挥作用。sendfile()可以在磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符)。
    #Pre-sendfile是传送数据之前在用户空间申请数据缓冲区。之后用read()将数据从文件拷贝到这个缓冲区,write()将缓冲区数据写入网络。
    #sendfile()是立即将数据从磁盘读到OS缓存。因为这种拷贝是在内核完成的,sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效
    sendfile        on;

    #必须在sendfile开启模式才有效,防止网路阻塞,积极的减少网络报文段的数量
    #(将响应头和正文的开始部分一起发送,而不一个接一个的发送。)
    tcp_nopush     on;

    #客户端连接保持会话超时时间,超过这个时间,服务器断开这个链接
    keepalive_timeout  65;

    #client_header_timeout 和client_body_timeout 设置请求头和请求体(各自)的超时时间。我们也可以把这个设置低些。
    client_header_timeout 30;
    client_body_timeout 30;

    #指定客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接
    send_timeout 5;

    #告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。
    reset_timedout_connection on; 

    #设置nginx服务允许用户最大上传数据大小
    client_max_body_size 20m;

    #是告诉nginx采用gzip压缩的形式发送数据。这将会减少我们发送的数据量
    gzip            on;

    #设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取,
    #默认值是0,不管页面多大都进行压缩,建议设置成大于1000,如果小与1K可能会越压越大
    gzip_min_length 1000;

    #压缩比例,用来指定GZIP压缩比,1压缩比最小,处理速度最快,9压缩比最大,传输速度快,但是处理慢,也比较消耗CPU资源。
    gzip_comp_level 5;

    #expired - 启用压缩,如果header头中包含 "Expires" 头信息
    #no-cache - 启用压缩,如果header头中包含 "Cache-Control:no-cache" 头信息
    #no-store - 启用压缩,如果header头中包含 "Cache-Control:no-store" 头信息
    #private - 启用压缩,如果header头中包含 "Cache-Control:private" 头信息
    #auth - 启用压缩 , 如果header头中包含 "Authorization" 头信息
    gzip_proxied    expired no-cache no-store private auth;

    #可以压缩的文件类型
    gzip_types      text/plain application/xml application/javascript text/css application/octet-stream;

    #varyheader支持,改选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用Squid缓存经过nginx压缩的数据。
    gzip_vary        on;

    #引入文件
    include services/*.conf;

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值