nginx tuning (rpm)

    main    全局设置                    所有区域都生效
     server  主机设置                   
     uptream 负载均衡服务器设置       设置后端服务器的
     location    URL匹配特定位置的设置    匹配网页
关系:
     server继承main
     location继承server
        upstream既不传也不继承

 

Adjust the kernel parameters:

1
2
3
4
5
6
7
8
9
10
11
12
13
vim  / etc / sysctl.conf  这里面调<br>net.ipv4.tcp_max_tw_buckets  =  6000               / / 时间等待计时器(坚持,保活,重传)
net.ipv4.ip_local_port_range  =  1024  65000          / / 开启随机端口的数量 32768 - 65535
net.ipv4.tcp_tw_recycle  =  1                   / / 时间等待计时器加速回收
net.ipv4.tcp_tw_reuse  =  1                    / / 时间等待计时器复用
net.ipv4.tcp_syncookies  =  1                  / / syn溢出用cook处理
net.core.somaxconn  =  262144                   / / 同时发起tcp的连接数量
net.core.netdev_max_backlog  =  262144            / / 网络收口接包速度,表示列队长度
net.ipv4.tcp_max_orphans  =  262144              / / 设置系统中有多连接同时连接到我的,防止简单的ddos
net.ipv4.tcp_max_syn_backlog  =  262144           / / 尚未收到客户端确认消息的连接的请求, 128M 内存 = 1024
net.ipv4.tcp_synack_retries  =  1               / / 表示内核放弃连接之前,syn + ack的包的总量
net.ipv4.tcp_syn_retries  =  1                / / 放弃连接之前syn的总量
net.ipv4.tcp_fin_timeout  =  1                / / 最后时间等待计时器的超时时间
net.ipv4.tcp_keepalive_time  =  30            / / 消息发送的频度(单位:小时)

 

Security chain:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
在server模块下
第一种方法:( zip 和rar是必须写的)
     location ~ *  \.(jpg|png|gif|flv| zip |rar){
         valid_referers none blocked  * .han.com  * .han.cn;
         if  ($invalid_referer) {
         rewrite ^ /  http: / / www.han.com / img / error.gif; / / 当引用了我的图片就把你引到我的错误的图片
         #return 403; //地址重写
     }
}
第二种方法:
     location  / images {
         root  / web / www / han.com
         vaild_referers none blocked  * .han.com  * .han.cn;
         if  ($invalid_referer) {
         return  403 ;
     }
}

 

Fastcgi调优:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
fastcgi的调优必须在http模块里面!!!
 fastcgi_cache_path  / usr / local / nginx / fastcgi_cache levels = 1 : 2  keys_zone = TEST: 10minactive = 5m ;   / / / usr / local / nginx / fastcgi_cache 硬盘路径 leves 目录结构等级 keys_zone关键字存储的区域 inactive非活动的删除时间分钟
  fastcgi_connect_timeout  300 ;     连接到后端的超时时间(防火墙new包)
  fastcgi_send_timeout  300 ;      完成握手之后已经建立连接,传送请求的时间
  fastcgi_read_timeout  300 ;      后端服务器收到的应答的时间,没有回应
 fastcgi_buffer_size  64k ;       应答信息的第一个应答包头,第二个包开始才是数据
 fastcgi_buffers  4  64k ;        应答请求,请求页面的大小。PHP产生的页面 256k 把这个数据分成 4 64k 来存储;  300k 剩下的 44k 放到fastcgitemp。取中上值
 fastcgi_busy_buffers_size  128k ;   当繁忙的时候临时开一个空间是前面的 2 倍就可以
  fastcgi_temp_file_write_size  128k ;  写入缓存文件时缓存快的大小
 指定页面代码的缓存时间:
   fastcgi_cachek TEST;        缓存名称 表示开启
   fastcgi_cache_valid  200  302  1h ;   指定应答代码的缓存时间
   fastcgi_cache_valid  301  1d ;     指定应答代码的缓存时间
   fastcgi_cache_valid  any  1m ;     指定应答代码的缓存时间

 

four proxy agent: Dynamic Tuning

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
location  /  {
    proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;
    proxy_redirect off;
    proxy_set_headeer HOST $host;                  #设置后端服务器的真实IP地址
    proxy_set_header X - Real - IP $remote_addr;
     proxy_set_header X - Forwarded_For &proxy_add_x - forwarded_for;
     client_body_buffer_size  128k ;                    #页面缓冲区的大小,本地保存的大小
    proxy_connect_timeout  90 ;                   后端服务器发起握手等候响应的时间
    proxy_rend_timeout  90 ;                     建立连接后等待后端服务器响应时间 / 后端等候处理的时间
     proxy_sead_timeout  90 ;                     规定时间内后端服务器必须响应,否则断开
    proxy_buffer_size  4k ;
    proxy_buffers  4  32 ;                      缓冲区个数和大小
    proxy_busy_buffers_size  64k ;                 系统繁忙时 buffer 的临时大小,官方要求proxy_buffers * 2
    proxy_temp_file_write_size  64 ;                 proxy临时文件的大小
}

  

Gzip:

1
2
3
4
5
6
7
8
9
#传递数据的时候需要打个包,这样会让零碎的数据打包成一个包,增加我们的传输速度
#--http_gzip_static_module   加这个模块就可以实现数据的整合和打包
     gzip  on;
         gzip_min_length  1k ;          #设置压缩的页面你的最小字节数(公司页面最小值就行)
         gzip_buffers  4  16k ;          #表示申请4个16k空间来压缩的缓存
         gzip_http_version  1.1 ;            #用来识别http的版本
         gzip_comp_level  2 ;           #用来指定gzip压缩级别(1最小压缩比率 效率高,9最大压缩比率,效率低)
         gzip_types text / plain application / x - javascript text / css application / xml;     #用来指定压缩类型(默认使用的html类型)
         gzip_vary on;                #让前端缓存服务器缓存,经过压缩后的数据(Varnish,Nginx-cache,Squid)

 

events module:

1
2
3
4
5
6
7
8
9
10
events {
     worker_connections   8192 ;        #nginx 中每个进程最大的处理连接数量 只能是2的次方数
     use epoll                #使用epoll网络模型
 
}
     网络模型:
     epoll:linux内核为处理大批量文件描述符
     select \poll    标准模式
     kqueue \poll    高性能模式   BSD用kqueue  linux用poll
     rtsin\  / dev / poll    高性能模式

Guess you like

Origin www.cnblogs.com/shixiuxian/p/11204975.html
rpm