码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx的优化

时间:2019-12-16 22:22:49      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:表示   握手   不同的   连接   buffers   process   type   启动   end   

一、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

Nginx的优化

标签:表示   握手   不同的   连接   buffers   process   type   启动   end   

原文地址:https://www.cnblogs.com/zrxuexi/p/12021256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!