nginx优化

Posted HaydenGuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx优化相关的知识,希望对你有一定的参考价值。

优化

优化说明 优化方法
     安化   

隐藏nginx版本信息优化

修改nginx配置文件实现优化

server_tokens off;

修改nginx版本信息优化

修改nginx源码配置文件

nginx-1.6.3/src/core/nginx.h

ngx_http_header_filter_module.c

nginx-1.6.3/src/http/ngx_http_special_response.c

修改nginx软件work_processes进程用户信息

修改nginx默认用户,利用配置文件参数实现

修改nginx默认用户,采用编译参数方式实现

优化nginx服务上传文件限制

client_max_body_size设置客户端请求报文主体最大尺寸

Nginx图片及目录防盗链解决方案

根据HTTP referer实现防盗链

根据cookie防盗链

在产品设计上解决盗链方案

Nginx站点目录文件及目录权限优化

只将用户上传数据的目录设置为755,用户和组使用nginx

其余目录和文件为755/644,用户和组使用root

Nginx防爬虫优化

利用robots.txt机器人协议防止爬虫(君子协议)

利用$http_user_agent变量阻止爬虫代理访问(2种方法)

利用Nginx限制请求访问

利用$request_method限制请求方法

使用普通用户启动Nginx

利用nginx –c参数启动nginx多实例,使master进程让普通用户管理

控制nginx并发连接数

利用limit_conn_zone参数和$binary_remote_addr变量限制nginx单IP地址并发连接数

利用limit_conn_zone参数和$server_name r变量限制nginx虚拟主机总连接数

控制客户端请求Nginx的速率

 
    性化            

修改nginx软件work_processes进程数量

woker_processes 8

一般和CPU的颗数设置一致;高并发可以和CPU核数相当

也可以配置为核数的两倍 

优化nginx服务进程均匀分配到不同CPU进行处理

利用worker_cpu_affinity进行优化

4颗CPU优化配置参数为0001 0010 0100 1000

2颗CPU优化配置参数为0101 1010 

优化nginx事件处理模型

利用use epoll参数修改事件模型为epoll模型

事件模型指定配置参数放置在event区块中 

优化nginx单进程客户端连接数

利用worker_connections连接参数进行调整

用户最大并发连接数=worker进程数*worker连接数 

优化nginx服务进程打开文件数 

利用worker_rlimit_nofile参数进行调整 

优化nginx服务数据高效传输模式 

利用sendfile on开启高效传输模式

tcp_nopush on表示将数据积攒到一定的量再进行传输

tcp_nodelay on表示将数据信息进行快速传输 

优化nginx服务超时信息 

keepalive_timeout优化客户端访问nginx服务端超时时间

client_header_timeout优化服务端读请求头超时时间

client_body_timeout优化两个请求主体发送间隔超时时间

send_timeout优化两个响应信息的间隔超时时间 

优化nginx服务与FastCGI连接缓存与缓冲信息 

优化利用FastCGI与php连接缓冲信息

优化利用FastCGI与PHP连接缓存信息 

配置Nginx gzip压缩实现性能优化 

利用gzip命令进行对数据信息压缩优化

从而节省网站带宽资源 

配置Nginx expires实现让客户端缓存数据 

利用location匹配相应要缓存的信息,利用expires参数结合时间信息进行缓存。 
    日化     

配置Nginx服务相关日志操作 

进行日志文件轮询切割

部分访问过程不显示日志信息

对日志文件进行授权 

Nginx站点目录及文件URL访问控制 

在动态解析配置前面,设置限制特定目录下扩展名文件解析

限制指定目录uri信息访问,利用禁止策略和返回错误状态码

限制用户访问,利用白名单和黑名单方式

禁止非法域名解析访问企业网站 
   感知优化      

Nginx错误页面的优雅显示 

对错误代码实行本地页面跳转

优雅显示错误页面放到本地单独目录下,进行优雅显示

改变状态码为新的状态码,并显示指定的文件内容

错误状态码URL重定向

将错误状态码重定向到一个location 
   全面优化      

Nginx网站CDN加速优化 

 

Nginx程序架构优化

利用程序或反向代理实现架构访问分离解耦优化

以上是关于nginx优化的主要内容,如果未能解决你的问题,请参考以下文章

nginx优化

Nginx web服务优化

Nginx安全优化与性能调优

Nginx优化指南+LINUX内核优化+linux连接数优化+nginx连接数优化

nginx 优化

深入Nginx优化