1.隐藏版本号
server_tokens off;
2.更改用户的默认用户和组(默认nobody)
useraddd nginx -M -s /bin/nologin
./configure --user=nginx --group=nginx
3.cup亲和力绑定
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
worker_processes 8;
worker_cpu_affinity 0001 0010 0100 1000 0001 0010 0100 1000;
4.事件模型优化
nginx的连接处理机制在不同的操作系统下采用不同的IO模型。
在linux中使用epoll模型
在freebsd中使用kqueue模型
在solaris中使用/dev/poll的模式
在windows中使用icop模型
5.调整单个进程最大连接数
在主配置文件下 主标签下
worker_rlimit_nofile 65535
6.配置每个进程最大打开数
7.域名
当域名过长时需要在http模块中配置
server_name_hash_max_size
server_name_hash_bucket_size
这两个默认值取决于cpu缓存的大小
泛解析:当在域名中设置了*.blog.org时,打开网页时就会以不同用户名区分
8.开启高效文件传输模式
放置在http server location标签下
sendfile on;
tcp_nopush on;
tcp_nodelay on;
9.设置连接超时时间
keepalive_time 60;
tcp_nodelay on;
client_header_timeout 15;
send_timeout 60;
10.ngix gzip功能
位置 http{} 或server{}
好处,加速传输 占用服务器资源
压缩对象js css html
不压缩内容 图片 视频 flah 小文件
开启压缩
gzip on;
压缩对象的最小大小(小于1k不压缩)
gzip_min_length 1k;
压缩缓冲区,申请4个单位为16k的内存空间作为缓冲区
gzip_buffers 4 16k;
压缩版本(默认1.1,前端为squid2.5时使用1.0)用于设置识别http协议版本,
gzip_http_version 1.0;
压缩比例 1压缩比最小 9压缩比最大
gzip_comp_level 9;
指定压缩的类型,"text/html"类型总是被压缩.类型cat mime.types
gzip_types text/plain application/x-javascript text/css application/xml
告诉前端缓存服务器不要解压,到客户端时才解压
gzip_vary on;
11.配置expites 缓存功能
12.日志轮询 配置不需要记录的日志
13 禁止爬虫访问
https://www.baidu.com/robots.txt
14.超时时间
vi nginx.conf
keepalive_timeout 60;
15.客户端请求的最大大小
vi nginx.conf
client_max_body_szie 10m
原文:https://www.cnblogs.com/wangend/p/15356349.html