Ngnix调整

三世轮回 提交于 2019-12-01 02:31:48

1、隐藏版本号,防止针对版本攻击
   http {
    server_tokens off;
2、增加并发连接
   2.1 worker_processes :改为CPU核数一致,因为异步IO进程是单线程
   2.2 worker_connections 65535
       apache 理论并发 3w
       nginx   理论并发 5w
   2.3 /etc/security/limits.conf:修改配置文件
     *     soft nofile  100000
     *     hard nofile  100000
     ulimit -h 查看
     ulimit -Hn 100000:实时生效,重起丢失
     ulimit -Sn 100000:实时生效,重起丢失

   2.4 客户端测试也需要提高打开文件的限制

3. 客户端请求头信息过长,服务请求缓存过小
   3.1 client_header_buffer_size 1K;
   3.2 large_client_header_buffer 4 4K;4个4K.工作;实验 4 1m

4、页面压缩gzip on;
    gzip_min_length 1000;
    gzip_comp_level 4;
    gzip_types text/plain application/json;

5、缓存(服务器要求客户缓存天数)
   服务端对长时间不变化的资源告知客户端缓存
   Location ~* \.(jpg|png)$ {
       expires 30d;
   }
   //=========~* 正则匹配,忽略大小写

6、自定义404错误页面
     error_page 401 402 403 404   /404.html
     Location = /40x.html {
        root html
     }
     300--重定向   400客户端错误   401 密码错误    403 禁止deny/权限不对
     414 请求头太常  500--服务器错    502--集群错误
7、内核参数优化 /etc/sysctl.conf
      net.ipv4.tcp_syncookies = 0
      net.ipv4.tcp_max_syn_backlog=60000
      net.ipv4.tcp_max_tw_buckets = 30000
      net.ipv4.tcp_fin_timeout = 30
8、服务器连接性能 -o显示计时器 每隔1秒钟执行依次ss命令,查看所有的http连接 mysql连接
watch -n1 ss -s -o state all '\( dport = :80 or sport = :80 \)'
watch -n1 ss -s -o state all '\( dport = :3306 or sport = :3306 \)'

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!