• Nginx的优化


    一、Nginx配置文件基本参数优化

    1.隐藏Nginx header内版本号信息

      一些特定的系统及服务漏洞一般都是特定的软件及版本号有关,我们应尽量隐藏服务器的敏感信息(软件名称及版本等信息),这样黑客无法猜到有漏洞的服务是否是对应服务的版本,从而确保web服务器最大的安全。

    ·利用curl查看隐藏前herder内的web版本号信息

    [root@bogon ~]# curl -I 192.168.157.147
    HTTP/1.1 200 OK
    Server: nginx/1.6.2#版本软件名称
    Date: Wed, 11 Dec 2019 02:26:54 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Thu, 28 Nov 2019 03:43:16 GMT
    Connection: keep-alive
    ETag: "5ddf4254-264"
    Accept-Ranges: bytes

    ·修改过程

    vi /application/nginx/conf/nginx.conf
    
    http {
        server_tokens off;

    ·修改结果

    HTTP/1.1 200 OK
    Server: nginx

    2.配置Nginx worker进程个数

      在高并发场景,我们需要事先启动更多的Nginx进程以保证快速相应并处理用户的请求。具体配置参数如下:

    worker_processes 8;#指定了Nginx要开启的进程数。建议指定和CPU的数量相等或者乘2的进程数。

    3.根据CPU核数进行Nginx进程优化

      默认情况Nginx的多个进程可能更多的跑在一颗CPU上,本节是分配不同的进程给不同的CPU处理,达到充分利用硬件多核多。

    4.调整单个进程允许的客户端最大连接数。

      这个值根据具体服务器性能和程序的内存使用量来指定(一个进程启动使用的内存根据程序确定)

    worker_connections 28480

    5.配置每个进程最大文件打开数

      每个进程打开的最大文件数,可设置为系统优化后的ulimit -HSn的结果。

    worker_rlimit_nofile 65535

    6.上传文件大小限制

    client_max_body_size 10m;

    7.fastcgi调优(配合PHP引擎动态服务)

    fastcgi_connect_timeout 300;#指定连接到后端FastCGI的超时时间
    fastcgi_send_timeout 300;#向FastCGI传送请求的超时时间,这个值是指定已经完成两次握手之后向FastCGI传送请求的超时时间。
    fastcgi_read_timeout 300;#指定接受FastCGI应答的超时时间,这个值是指已经完成两次握手后接收FastCGI应答的超时时间。
    fastcgi_buffer_size 64k;#指定读取FastCGI应答第一部分需要用多大的缓冲区,这个值表示将使用1个64KB的缓冲区读取应答的第一部分,可以设置为fastcgi_buffers选项指定的缓冲区大小。
    fastcgi_buffers 4 64k;#指定本地需要多少和多大的缓冲区FastCGI的应答请求。
    fastcgi_busy_buffers_size 128k;#繁忙的时候的缓冲区大小
    fastcgi_temp_file_write_size 128k;#临时文件的缓冲区
    fastcgi_cache oldboy_nginx#表示开启FastCGI缓存并为其指定一个名称,开启缓存非常有用,可以有效降低CPU负载。
    fastcgi_cache_valid 200 302 1h;#用来指定应答代码的缓存时间,实例中的值表示将200和302应答缓存一个小时
    fastcgi_cache_valid 301 1d;#将301应答缓存一天
    fastcgi_cache_valid any 1m;#将其他应答啊缓存为1分钟

    8.设置连接超时时间

    keepalive_timeout 60;#设置客户端连接保持会话的超时时间,超过这个时间,服务器会关闭该连接。
    tcp_nodelay on;#打开这个参数。在包含keepalive参数才有效
    client_header_timeout 15#设置客户端请求头读取超时时间。如超过这个时间,客户端还没有发送任何数据,Nginx将返回“Request time out (408)”错误
    client_body_timeout 15;#设置客户端请求主题读取超时时间,如超过这个时间,客户端还没有任何发送数据,Nginx将返回“Request time out408)”错误,默认值是60
    
    
  • 相关阅读:
    Bootstrap-CL:警告
    Bootstrap-CL:略缩图
    Bootstrap-CL:页面标题
    Bootstrap-CL:超大屏幕
    Bootstrap-CL:徽章
    Bootstrap-CL:标签
    Bootstrap-CL:分页
    Bootstrap-CL:面包屑导航
    Bootstrap-CL:导航栏
    Bootstrap-CL:导航元素
  • 原文地址:https://www.cnblogs.com/zrxuexi/p/12021256.html
Copyright © 2020-2023  润新知