nginx 配置

nginx 配置

好记性不如烂笔头,这次附上nginx 文件通用配置


下面展示一些 通用配置。

########### 每个指令必须有分号结束。#################
#user  nobody;
user root; #配置用户或者组,默认为nobody nobody。
worker_processes  8;  #允许生成的进程数,默认为1

#error_log  logs/error.log;#制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;  #指定nginx进程运行文件存放地址

events {
    #accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    #multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    worker_connections  204800;  #最大连接数,默认为512
    use epoll;  #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
}

http {
    include       mime.types; #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型,默认为text/plain
    charset UTF-8; 

    #access_log off; #取消服务日志 
    #log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
    #access_log log/access.log myFormat;  #combined为日志格式的默认值





    sendfile        on; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块
    #sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限, 参数用于开启高效文件传输模式。将tcp_nopush和tcp_nodelay两个指令设置为on用于防止网络阻塞
    tcp_nopush      on; ;
    tcp_nodelay     on;

    keepalive_timeout  65; #连接超时时间,默认为75s,可以在http,server,location块。设置客户端连接保持活动的超时时间。在超过这个时间之后,服务器会关闭该连接
    client_max_body_size  0; #用来设置允许客户端请求的最大的单个文件字节数
    client_body_buffer_size  2048m;
    client_header_buffer_size  10m; #用于指定来自客户端请求头的headerbuffer大小。对于大多数请求,1K的缓冲区大小已经足够,如果自定义了消息头或有更大的Cookie,可以增加缓冲区大小。这里设置为10m;
    #client_header_timeout   #设置客户端请求头读取超时时间。如果超过这个时间,客户端还没有发送任何数据,Nginx将返回“Request time out(408)”错误;
    #client_body_timeout     #设置客户端请求主体读取超时时间。如果超过这个时间,客户端还没有发送任何数据,Nginx将返回“Request time out(408)”错误,默认值是60;
    #send_timeout  #指定响应客户端的超时时间。这个超时仅限于两个连接活动之间的时间,如果超过这个时间,客户端没有任何活动,Nginx将会关闭连接。
    large_client_header_buffers  4 10m;  #用来指定客户端请求中较大的消息头的缓存最大数量和大小, “4”为个数,“10m”为大小,最大缓存量为4个10m;

    open_file_cache max=204800 inactive=2000s;  #这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。
    open_file_cache_min_uses 1;   #指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。
    open_file_cache_valid 300s;   #这个是指多长时间检查一次缓存的有效信息。

    proxy_buffering  on;  #是否开启proxy的buffer功能,如果这个设置为off,那么proxy_buffers和proxy_busy_buffers_size这两个指令将会失效。 但是无论proxy_buffering是否开启,proxy_buffer_size都是生效的
    proxy_buffer_size  64k;  #设置一个特殊的buffer大小的。从被代理服务器上获取到的第一部分响应数据内容到代理服务器上,通常是header,就存到了这个buffer中。 如果该参数设置太小,会出现502错误码,这是因为这部分buffer不够存储header信息。建议设置为4k
    proxy_buffers  4 64k; #这个参数设置存储被代理服务器上的数据所占用的buffer的个数和每个buffer的大小。所有buffer的大小为这两个数字的乘积。
    proxy_busy_buffers_size  64k; # 在所有的buffer里,我们需要规定一部buffer把自己存的数据传给客户端,这部分buffer就叫做busy_buffer   proxy_busy_buffer_size参数用来设置处于busy状态的buffer有多大。
    proxy_temp_file_write_size  5m;  #设置同时写入临时文件的数据量的总大小。通常设置为8k或者16k
    proxy_read_timeout  30;  #控制proxy后端服务器之间的超时时间

    gzip  on;    #gzip用于设置开启或者关闭gzip模块,“gzip on”表示开启GZIP压缩,实时压缩输出数据流;
    gzip_comp_level  5;  #用来指定GZIP压缩比,1 压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源;
    gzip_min_length  10; #设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取。默认值是0,不管页面多大都进行压缩。建议设置成大于1K的字节数,小于1K可能会越压越大
    gzip_http_version 1.1;  #用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可;
    gzip_static  on;  #开启静态压缩
    gzip_buffers  16 64k;  #表示申请16个单位为64K的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
    gzip_types  text/plain application/javascript application/x-javascript text/javascript text/css application/xml font/ttf font/otf image/svg+xml;  #用来指定压缩的类型,无论是否指定,“text/html”类型总是会被压缩的
    gzip_vary  on;  #选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用Squid缓存经过Nginx压缩的数据
 
    server {
        listen       8040;  #监听端口
        server_name  127.0.0.1;  #监听地址 

        location / {  #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
            root   /usr/local/nginx/html; #根目录
            index  index.html index.htm;  #设置默认页
            try_files $uri $uri/ /index.html;
            #deny 117.117.17.15;  #拒绝的ip
            #allow 117.117.17.16; #允许的ip  
        }
        location ~/api/oa/stock {
            proxy_set_header Host $proxy_host;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass http://117.117.17.17:8080;  #请求转向mysvr 定义的服务器列表
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/nginx/html;
        }

    }

}

参考文章地址:
https://www.cnblogs.com/damoblog/p/13725886.html.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值