• nginx 配置说明


    配置文件说明
    #定义Nginx运行的用户和用户组
    # user nobady nobady;
    #nginx进程数,建议设置为等于CPU总核心数,默认为1。
    worker_processes 8; #全局错误日志定义类型,[ debug | info | notice |
    warn | error | crit ]
    error_log /usr/local/nginx/logs/error.log info;
    #进程pid文件,指定nginx进程运行文件存放地址
    pid /usr/local/nginx/logs/nginx.pid;
    #指定进程可以打开的最大描述符:数目
    #工作模式与连接数上限
    #这个指令是指当一个nginx进程打开的最多文件描述符数目,理
    论值应该是最多打开文件数
    (ulimit -n)与nginx进程数相除,但是nginx分配请求并不
    是那么均匀,所以最好与ulimit -n
    的值保持一致。
    #现在在linux 2.6内核下开启文件打开数为65535,
    worker_rlimit_nofile就相应应该填写
    123456789
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29 6553530
    31 #这是因为nginx调度时分配请求到进程并不是那么的均衡,所以
    假如填写10240,总并发量达到3-4
    32
    33 万时就有进程可能超过10240了,这时会返回502错误。
    34 worker_rlimit_nofile 65535;
    35
    36 events
    37
    38 {
    39
    40 #参考事件模型,use [ kqueue | rtsig | epoll |
    /dev/poll | select | poll
    41
    42 ]; epoll模型
    43
    44 #是Linux 2.6以上版本内核中的高性能网络I/O模型,linux建 议epoll,如果跑在FreeBSD
    45
    46 上面,就用kqueue模型。
    47
    48 #补充说明:
    49
    50 #与apache相类,nginx针对不同的操作系统,有不同的事件模
    型
    51
    52 #A)标准事件模型
    53
    54 #Select、poll属于标准事件模型,如果当前系统不存在更有效
    的方法,nginx会选择select
    55
    56 或poll
    57
    58 #B)高效事件模型
    59
    60 #Kqueue:使用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD
    2.0 和 MacOS X.使用双处
    61
    62 理器的MacOS X系统使用kqueue可能会造成内核崩溃。
    63
    64 #Epoll:使用于Linux内核2.6版本及以后的系统。
    65
    66 #/dev/poll:使用于Solaris 7 11/99+,HP/UX 11.22+
    (eventport),IRIX
    67
    68 6.5.15+ 和 Tru64 UNIX 5.1A+69
    70 #Eventport:使用于Solaris 10。 为了防止出现内核崩溃的
    问题, 有必要安装安全补丁。
    71
    72 use epoll;
    73
    74 #单个进程最大连接数(最大连接数=连接数*进程数)
    75
    76 #根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把
    cpu跑到100%就行。每个进程
    77
    78 允许的最多连接数,理论上每台nginx服务器的最大连接数为。
    79
    80 worker_connections 65535;
    81
    82 #keepalive超时时间,默认是60s,切记这个参数也不能设置过
    大!否则会导致许多无效的
    83
    84 http连接占据着nginx的连接数,终nginx崩溃!
    85
    86 keepalive_timeout 60;
    87
    88 #客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小
    来设置,一般一个请求头的大
    89
    90 小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设
    置为分页大小。
    91
    92 #分页大小可以用命令getconf PAGESIZE 取得。
    93
    94 #[root@web001 ~]# getconf PAGESIZE
    95
    96 #4096
    97
    98 #但也有client_header_buffer_size超过4k的情况,但是
    99
    100 client_header_buffer_size该值必须设置为“系统分页大
    小”的整倍数。
    101
    102 client_header_buffer_size 4k;
    103
    104 #这个将为打开文件指定缓存,默认是没有启用的,max指定缓存
    数量,建议和打开文件数一致,
    105
    106 inactive是指经过多长时间文件没被请求后删除缓存。
    107
    108 open_file_cache max=65535 inactive=60s;
    109
    110 #这个是指多长时间检查一次缓存的有效信息。
    111
    112 #语法:open_file_cache_valid time 默认
    值:open_file_cache_valid 60 使用字
    113
    114 段:http, server, location 这个指令指定了何时需要检查
    open_file_cache中缓存项目的有
    115
    116 效信息.
    117
    118 open_file_cache_valid 60s;
    119
    120 #open_file_cache指令中的inactive参数时间内文件的最少
    使用次数,如果超过这个数字,
    121
    122 文件描述符一直是在缓存中打开的,如上例,如果有一个文件在
    inactive时间内一次没被使用,它将
    123
    124 被移除。
    125
    126 #语法:open_file_cache_min_uses number 默认
    值:open_file_cache_min_uses 1
    127
    128 使用字段:http, server, location 这个指令指定了在
    open_file_cache指令无效的参数中
    129
    130 一定的时间范围内可以使用的最小文件数,如果使用更大的值,文
    件描述符在cache中总是打开状态.
    131
    132 open_file_cache_min_uses 1;
    133 #语法:open_file_cache_errors on | off 默认
    值:open_file_cache_errors off
    134
    135 使用字段:http, server, location 这个指令指定是否在搜
    索一个文件是记录cache错误.
    136
    137 open_file_cache_errors on;
    138
    139 }
    140
    141 #设定http服务器,利用它的反向代理功能提供负载均衡支持
    142
    143 http
    144
    145 {
    146
    147 #文件扩展名与文件类型映射表
    148
    149 include mime.types;
    150
    151 #默认文件类型
    152
    153 default_type application/octet-stream;
    154
    155 #默认编码
    156
    157 #charset utf-8;
    158
    159 #服务器名字的hash表大小
    160
    161 #保存服务器名字的hash表是由指令
    server_names_hash_max_size 和
    162
    163 server_names_hash_bucket_size所控制的。参数hash
    bucket size总是等于hash表的大
    164
    165 小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取
    次数后,使在处理器中加速查找
    166
    167 hash表键值成为可能。如果hash bucket size等于一路处理器
    缓存的大小,那么在查找键的时
    168
    169 候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单
    元的地址,第二次是在存储单元中查
    170
    171 找键 值。因此,如果Nginx给出需要增大hash max size 或
    hash bucket size的提示,那么
    172
    173 首要的是增大前一个参数的大小.
    174
    175 server_names_hash_bucket_size 128;
    176
    177 #客户端请求头部的缓冲区大小。这个可以根据你的系统分页大小
    来设置,一般一个请求的头部
    178
    179 大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里
    设置为分页大小。分页大小可以用命
    180
    181 令getconf PAGESIZE取得。
    182
    183 client_header_buffer_size 32k;
    184
    185 #客户请求头缓冲大小。nginx默认会用
    client_header_buffer_size这个buffer来读取
    186
    187 header值,如果header过大,它会使用
    large_client_header_buffers来读取。
    188
    189 large_client_header_buffers 4 64k;
    190
    191 #设定通过nginx上传文件的大小
    192
    193 client_max_body_size 8m;
    194
    195 #开启高效文件传输模式,sendfile指令指定nginx是否调用
    sendfile函数来输出文件,对于
    196
    197 普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,
    可设置为off,以平衡磁盘与网络
    198
    199 I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这
    个改成off。
    200
    201 #sendfile指令指定 nginx 是否调用sendfile 函数(zero
    copy 方式)来输出文件,对
    202
    203 于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负
    载应用,可设置为off,以平衡磁盘
    204
    205 与网络IO处理速度,降低系统uptime。
    206
    207 sendfile on;
    208
    209 #开启目录列表访问,合适下载服务器,默认关闭。
    210
    211 autoindex on;
    212
    213 #此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在
    使用sendfile的时候使用,告
    214
    215 诉nginx在一个数据包里发送所有头文件,而不一个接一个的发
    送。就是说数据包不会马上传送出
    216
    217 去,等到数据包最大时,一次性的传输出去,这样有助于解决网络
    堵塞
    218
    219 tcp_nopush on;
    220 #告诉nginx不要缓存数据,而是一段一段的发送--当需要及时发
    送数据时,就应该给应用设置
    221
    222 这个属性,这样发送一小块数据信息时就不能立即得到返回值
    223
    224 tcp_nodelay on;
    225
    226 #长连接超时时间,单位是秒
    227
    228 keepalive_timeout 120;
    229
    230 #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高
    访问速度。下面参数看字面意
    231
    232 思都能理解。
    233
    234 #这个指令为FastCGI缓存指定一个路径,目录结构等级,关键字
    区域存储时间和非活动删除时
    235
    236237
    238 fastcgi_cache_path
    /usr/local/nginx/fastcgi_cache levels=1:2
    239
    240 keys_zone=TEST:10m inactive=5m;
    241
    242 #指定连接到后端FastCGI的超时时间
    243
    244 fastcgi_connect_timeout 300;
    245
    246 #向FastCGI传送请求的超时时间,这个值是指已经完成两次握手
    后向FastCGI传送请求的超时
    247
    248 时间
    249
    250 fastcgi_send_timeout 300;
    251
    252 #接收FastCGI应答的超时时间,这个值是指已经完成两次握手后
    接收FastCGI应答的超时时间
    253
    254 fastcgi_read_timeout 300;
    255
    256 #指定读取FastCGI应答第一部分 需要用多大的缓冲区,这里可以
    设置为fastcgi_buffers指
    257
    258 令指定的缓冲区大小,上面的指令指定它将使用1个 16k的缓冲区
    去读取应答的第一部分,即应答
    259
    260 头,其实这个应答头一般情况下都很小(不会超过1k),但是你
    如果在fastcgi_buffers指令中指
    261
    262 定了缓冲区的大小,那么它也会分配一个fastcgi_buffers指定
    的缓冲区大小去缓存
    263
    264 fastcgi_buffer_size 64k;
    265
    266 #指定本地需要用多少和多大的缓冲区来 缓冲FastCGI的应答,
    如上所示,如果一个php脚本所
    267
    268 产生的页面大小为256k,则会为其分配16个16k的缓冲区来缓
    存,如果大于256k,增大 于256k的部
    269
    270 分会缓存到fastcgi_temp指定的路径中, 当然这对服务器负载
    来说是不明智的方案,因为内存中处
    271
    272 理数据速度要快于硬盘,通常这个值 的设置应该选择一个你的站
    点中的php脚本所产生的页面大小的
    273
    274 中间值,比如你的站点大部分脚本所产生的页面大小为 256k就可
    以把这个值设置为16 16k,或者4
    275
    276 64k 或者64 4k,但很显然,后两种并不是好的设置方法,因为
    如果产生的页面只有32k,如果用4
    277
    278 64k它会分配1个64k的缓冲区去缓存,而如果使用64 4k它会分
    配8个4k的缓冲区去缓存,而如果使
    279
    280 用16 16k则它会分配2个16k去缓存页面,这样看起来似乎更加合
    理•
    281
    282 fastcgi_buffers 4 64k;
    283
    284 #这个指令我也不知道是做什么用,只知道默认值是
    fastcgi_buffers的两倍
    285
    286 fastcgi_busy_buffers_size 128k;
    287
    288 #在写入fastcgi_temp_path时将用多大的数据块,默认值是
    fastcgi_buffers的两倍
    289
    290 fastcgi_temp_file_write_size 128k;
    291
    292 #开启FastCGI缓存并且为其制定一个名称。个人感觉开启缓存非
    常有用,可以有效降低CPU负
    293
    294 载,并且防止502错误。但是这个缓存会引起很多问题,因为它缓
    存的是动态页面。具体使用还需根据
    295
    296 自己的需求
    297
    298 fastcgi_cache TEST
    299
    300 #为指定的应答代码指定缓存时间,如上例中将200,302应答缓
    存一小时,301应答缓存1天,
    301
    302 其他为1分钟
    303
    304 fastcgi_cache_valid 200 302 1h;
    305
    306 fastcgi_cache_valid 301 1d;
    307
    308 fastcgi_cache_valid any 1m;
    309
    310 #缓存在fastcgi_cache_path指令inactive参数值时间内的
    最少使用次数,如上例,如果在
    311
    312 5分钟内某文件1次也没有被使用,那么这个文件将被移除
    313
    314 fastcgi_cache_min_uses 1;
    315
    316 #gzip模块设置
    317
    318 #开启压缩
    319
    320 gzip on;
    321
    322 # 设置允许压缩的页面最小字节数,页面字节数从header头得
    content-length中进行获取。
    323
    324 默认值是0,不管页面多大都压缩。建议设置成大于2k的字节数,
    小于2k可能会越压越大。
    325 gzip_min_length 2k;
    326
    327 # 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据
    流。 例如 4 4k 代表以4k为单
    328
    329 位,按照原始数据大小以4k为单位的4倍申请内存。 4 8k 代表
    以8k为单位,按照原始数据大小以8k
    330
    331 为单位的4倍申请内存。
    332
    333 # 如果没有设置,默认值是申请跟原始数据相同大小的内存空间
    去存储gzip压缩结果。
    334
    335 gzip_buffers 4 16k;
    336
    337 #压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间
    338
    339 gzip_comp_level 5;
    340
    341 # 默认值: gzip_types text/html (默认不对js/css文件
    进行压缩)
    342
    343 # 压缩类型,匹配MIME类型进行压缩
    344
    345 # 不能用通配符 text/*
    346
    347 # (无论是否指定)text/html默认已经压缩
    348
    349 # 设置哪压缩种文本文件可参考 conf/mime.types
    350
    351 gzip_types text/plain application/x-
    352
    353 javascript text/css application/xml;
    354
    355 # 值为1.0和1.1 代表是否压缩http协议1.0,选择1.0则1.0
    和1.1都可以压缩
    356
    357 gzip_http_version 1.0
    358
    359 # IE6及以下禁止压缩
    360
    361 gzip_disable "MSIE [1-6]\.";
    362
    363 # 默认值:off
    364
    365 # Nginx作为反向代理的时候启用,开启或者关闭后端服务器返
    回的结果,匹配的前提是后端服
    366
    367 务器必须要返回包含"Via"的 header头。
    368
    369 # off - 关闭所有的代理结果数据的压缩
    370
    371 # expired - 启用压缩,如果header头中包含 "Expires"
    头信息
    372
    373 # no-cache - 启用压缩,如果header头中包含 "Cache￾Control:no-cache" 头信息
    374
    375 # no-store - 启用压缩,如果header头中包含 "Cache￾Control:no-store" 头信息
    376
    377 # private - 启用压缩,如果header头中包含 "Cache￾Control:private" 头信息
    378
    379 # no_last_modified - 启用压缩,如果header头中不包含
    "Last-Modified" 头信息
    380
    381 # no_etag - 启用压缩 ,如果header头中不包含 "ETag" 头
    信息
    382
    383 # auth - 启用压缩 , 如果header头中包含
    "Authorization" 头信息
    384
    385 # any - 无条件启用压缩
    386
    387 gzip_proxied expired no-cache no-store private
    auth;
    388
    389 # 给CDN和代理服务器使用,针对相同url,可以根据头信息返回
    压缩和非压缩副本
    390
    391 gzip_vary on;
    392
    393 #开启限制IP连接数的时候需要使用
    394
    395 #limit_zone crawler $binary_remote_addr 10m;
    396
    397 #负载均衡配置
    398
    399 upstream www.xx.com {
    400
    401 #upstream的负载均衡,weight是权重,可以根据机器配置定义
    权重。weigth参数表示
    402
    403 权值,权值越高被分配到的几率越大。
    404
    405 server 192.168.80.121:80 weight=3;
    406
    407 server 192.168.80.122:80 weight=2;
    408
    409 server 192.168.80.123:80 weight=3;
    410
    411 #nginx的upstream目前支持4种方式的分配
    412
    413 #1、轮询(默认)
    414
    415 #每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服
    务器down掉,能自动剔
    416
    417 除。
    418
    419 #2、weight
    420
    421 #指定轮询几率,weight和访问比率成正比,用于后端服务器性
    能不均的情况。
    422
    423 #例如
    424
    425 #upstream bakend {
    426
    427 # server 192.168.0.14 weight=10;
    428
    429 # server 192.168.0.15 weight=10;
    430
    431 #}
    432
    433 #2、ip_hash
    434
    435 #每个请求按访问ip的hash结果分配,这样每个访客固定访问一
    个后端服务器,可以解决
    436
    437 session的问题。
    438
    439 #例如:
    440
    441 #upstream bakend {
    442
    443 # ip_hash;
    444
    445 # server 192.168.0.14:88;
    446
    447 # server 192.168.0.15:80;
    448
    449 #}
    450
    451 #3、fair(第三方)
    452
    453 #按后端服务器的响应时间来分配请求,响应时间短的优先分配。
    454
    455 #upstream backend {
    456
    457 # server server1;
    458
    459 # server server2;
    460
    461 # fair;
    462
    463 #}
    464
    465 #4、url_hash(第三方)
    466
    467 #按访问url的hash结果来分配请求,使每个url定向到同一个后
    端服务器,后端服务器为
    468
    469 缓存时比较有效。
    470
    471 #例:在upstream中加入hash语句,server语句中不能写入
    weight等其他的参数,
    472
    473 hash_method是使用的hash算法
    474
    475 #upstream backend {
    476
    477 # server squid1:3128;
    478
    479 # server squid2:3128;
    480
    481 # hash $request_uri;
    482
    483 # hash_method crc32;
    484
    485 #}
    486
    487 #tips:
    488
    489 #upstream bakend{#定义负载均衡设备的Ip及设备状态}{
    490
    491 # ip_hash;
    492
    493 # server 127.0.0.1:9090 down;
    494
    495 # server 127.0.0.1:8080 weight=2;
    496
    497 # server 127.0.0.1:6060;
    498
    499 # server 127.0.0.1:7070 backup;
    500
    501 #}
    502
    503 #在需要使用负载均衡的server中增加 proxy_pass
    http://bakend/;
    504
    505 #每个设备的状态设置为:
    506
    507 #1.down表示单前的server暂时不参与负载
    508
    509 #2.weight为weight越大,负载的权重就越大。
    510
    511 #3.max_fails:允许请求失败的次数默认为1.当超过最大次数
    时,返回
    512
    513 proxy_next_upstream模块定义的错误
    514
    515 #4.fail_timeout:max_fails次失败后,暂停的时间。
    516
    517 #5.backup: 其它所有的非backup机器down或者忙的时候,请
    求backup机器。所以这
    518
    519 台机器压力会最轻。
    520
    521 #nginx支持同时设置多组的负载均衡,用来给不用的server来
    使用。
    522
    523 #client_body_in_file_only设置为On 可以讲client
    post过来的数据记录到文件
    524
    525 中用来做debug
    526
    527 #client_body_temp_path设置记录文件的目录 可以设置最多
    3层目录
    528
    529 #location对URL进行匹配.可以进行重定向或者进行新的代理
    负载均衡
    530
    531 }
    532 #虚拟主机的配置
    533
    534 server
    535
    536 {
    537
    538 #监听端口
    539
    540 listen 80;
    541
    542 #域名可以有多个,用空格隔开
    543
    544 server_name www.xx.com xx.com;
    545
    546 index index.html index.htm index.php;
    547
    548 root /data/www/xx;
    549
    550 #对******进行负载均衡
    551
    552 location ~ .*.(php|php5)?$
    553
    554 {
    555
    556 fastcgi_pass 127.0.0.1:9000;
    557
    558 fastcgi_index index.php;
    559
    560 include fastcgi.conf;
    561
    562 }
    563
    564 #图片缓存时间设置
    565
    566 location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
    567
    568 {
    569
    570 expires 10d;
    571
    572 }
    573
    574 #JS和CSS缓存时间设置
    575
    576 location ~ .*.(js|css)?$
    577
    578 {
    579
    580 expires 1h;
    581
    582 }
    583
    584 #日志格式设定
    585
    586 #$remote_addr与$http_x_forwarded_for用以记录客户端
    的ip地址;
    587
    588 #$remote_user:用来记录客户端用户名称;
    589
    590 #$time_local: 用来记录访问时间与时区;
    591
    592 #$request: 用来记录请求的url与http协议;
    593
    594 #$status: 用来记录请求状态;成功是200,
    595
    596 #$body_bytes_sent :记录发送给客户端文件主体内容大小;
    597
    598 #$http_referer:用来记录从那个页面链接访问过来的;
    599
    600 #$http_user_agent:记录客户浏览器的相关信息;
    601
    602 #通常web服务器放在反向代理的后面,这样就不能获取到客户的
    IP地址了,通过
    603
    604 $remote_add拿到的IP地址是反向代理服务器的iP地址。
    605
    606 #反向代理服务器在转发请求的http头信息中,可以增加
    x_forwarded_for信息,用以记
    607
    608 录原有客户端的IP地址和原来客户端的请求的服务器地址。
    609
    610 log_format access '$remote_addr - $remote_user
    [$time_local]
    611
    612 "$request" '
    613
    614 '$status $body_bytes_sent "$http_referer" '
    615
    616 '"$http_user_agent" $http_x_forwarded_for';
    617
    618 #定义本虚拟主机的访问日志
    619
    620 access_log /usr/local/nginx/logs/host.access.log
    main;
    621
    622 access_log
    /usr/local/nginx/logs/host.access.404.log
    log404;
    623
    624 #对 "/" 启用反向代理
    625
    626 location / {
    627
    628 proxy_pass http://127.0.0.1:88;
    629 proxy_redirect off;
    630
    631 proxy_set_header X-Real-IP $remote_addr;
    632
    633 #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
    634
    635 proxy_set_header X-Forwarded-For
    $proxy_add_x_forwarded_for;
    636
    637 #以下是一些反向代理的配置,可选。
    638
    639 proxy_set_header Host $host;
    640
    641 #允许客户端请求的最大单文件字节数
    642
    643 client_max_body_size 10m;
    644
    645 #缓冲区代理缓冲用户端请求的最大字节数,
    646
    647 #如果把它设置为比较大的数值,例如256k,那么,无论使用
    firefox还是IE浏览
    648
    649 器,来提交任意小于256k的图片,都很正常。如果注释该指令,
    使用默认的
    650
    651 client_body_buffer_size设置,也就是操作系统页面大小的
    两倍,8k或者16k,问题就出现了。
    652
    653 #无论使用firefox4.0还是IE8.0,提交一个比较大,200k左右
    的图片,都返回
    654
    655 500 Internal Server Error错误
    656
    657 client_body_buffer_size 128k;
    658
    659 #表示使nginx阻止HTTP应答代码为400或者更高的应答。
    660
    661 proxy_intercept_errors on;
    662
    663 #后端服务器连接的超时时间_发起握手等候响应超时时间
    664
    665 #nginx跟后端服务器连接超时时间(代理连接超时)
    666
    667 proxy_connect_timeout 90;
    668
    669 #后端服务器数据回传时间(代理发送超时)
    670
    671 #后端服务器数据回传时间_就是在规定时间之内后端服务器必须
    传完所有的数据
    672
    673 proxy_send_timeout 90;
    674
    675 #连接成功后,后端服务器响应时间(代理接收超时)
    676
    677 #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队
    之中等候处理(也
    678
    679 可以说是后端服务器处理请求的时间)
    680
    681 proxy_read_timeout 90;
    682
    683 #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    684
    685 #设置从被代理服务器读取的第一部分应答的缓冲区大小,通常情
    况下这部分应答中包
    686
    687 含一个小的应答头,默认情况下这个值的大小为指令
    proxy_buffers中指定的一个缓冲区的大小,不
    688
    689 过可以将其设置为更小
    690
    691 proxy_buffer_size 4k;
    692
    693 #proxy_buffers缓冲区,网页平均在32k以下的设置
    694
    695 #设置用于读取应答(来自被代理服务器)的缓冲区数目和大小,
    默认情况也为分页大
    696
    697 小,根据操作系统的不同可能是4k或者8k
    698
    699 proxy_buffers 4 32k;
    700
    701 #高负荷下缓冲大小(proxy_buffers*2)
    702
    703 proxy_busy_buffers_size 64k;
    704
    705 #设置在写入proxy_temp_path时数据的大小,预防一个工作进
    程在传递文件时阻塞
    706
    707 太长
    708
    709 #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    710
    711 proxy_temp_file_write_size 64k;
    712
    713 }
    714
    715 #设定查看Nginx状态的地址
    716 location /NginxStatus {
    717
    718 stub_status on;
    719
    720 access_log on;
    721
    722 auth_basic "NginxStatus";
    723
    724 auth_basic_user_file confpasswd;
    725
    726 #htpasswd文件的内容可以用apache提供的htpasswd工具来产
    生。
    727
    728 }
    729
    730 #本地动静分离反向代理配置
    731
    732 #所有jsp的页面均交由tomcat或resin处理
    733
    734 location ~ .(jsp|jspx|do)?$ {
    735
    736 proxy_set_header Host $host;
    737
    738 proxy_set_header X-Real-IP $remote_addr;
    739
    740 proxy_set_header X-Forwarded-For
    $proxy_add_x_forwarded_for;
    741
    742 proxy_pass http://127.0.0.1:8080;
    743
    744 }
    745
    746 #所有静态文件由nginx直接读取不经过tomcat或resin
    747
    748 location ~ .*.
    749
    750 (htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|t
    xt|flv|mid|doc|ppt|
    751
    752 pdf|xls|mp3|wma)$
    753
    754 {
    755
    756 expires 15d;
    757
    758 }
    759
    760 location ~ .*.(js|css)?$
    761
    762 {
    763
    764 expires 1h;
    765
    766 }
    767
    768 }
    769
    770 }
    771
  • 相关阅读:
    让IT工作者过劳的13个坏习惯zz
    WPF Radio button的解决方案
    程序退出的各种方法,如何关闭多线程。
    文本框输入自动切换输入法问题
    在外部js文件中读取带母版页的子页当中控件的值
    Showwindow/FindWindow/PostMessage 转
    vb读取字节中的某一位
    C# 禁止windows程序重复运行的两种基本方法
    C# DllImport的用法(转)
    sqlserver存储过程中sql语句连接及datetime字段的处理
  • 原文地址:https://www.cnblogs.com/jasontarry/p/15679605.html
Copyright © 2020-2023  润新知