jqkyp 发表于 2018-11-15 07:46:16

Nginx配置性能优化的方法

  大多数的Nginx通过yum安装或者编译安装(略,博客有相应编译安装文档),修改这里或那里的几行配置,好了,你已经有了一个Web服务器了。而且,在大多数情况下,一个常规安装的Nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出Nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能不同。
  基本的 (优化过的)配置
  我们将修改的唯一文件是Nginx.conf,其中包含Nginx不同模块的所有设置。你应该能够在服务器的/etc/nginx目录中找到nginx.conf。首先,我们将谈论一些全局设置,然后按文件中的模块挨个来,谈一下哪些设置能够让你在大量客户端访问时拥有良好的性能,为什么它们会提高性能。本文的结尾有一个完整的配置文件。
  高层的配置(全局块)
  Nginx.conf文件中,Nginx中有少数的几个高级配置在模块部分之上。
user www-data;pid /var/run/nginx.pid;worker_processes auto;worker_rlimit_nofile 100000;  user和pid应该按默认设置 - 我们不会更改这些内容,因为更改与否没有什么不同。
  worker_processes 定义了nginx对外提供web服务时的worker进程数。最优值取决于许多因素,包括(但不限于)CPU核的数量、存储数据的硬盘数量及负载模式。不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始(设置为“auto”将尝试自动检测它)。(PS:一般设置成服务器CPU个数的1/n个,例如8核,最好设置1、2、4、8个)
  worker_rlimit_nofile 更改worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。设置后你的操作系统和Nginx可以处理比“ulimit -a”更多的文件,所以把这个值设高,这样nginx就不会有“too many open files”问题了。
  Events模块
  events模块中包含Nginx中所有处理连接的设置。
events {worker_connections 2048;multi_accept on;use epoll;}  worker_connections 设置可由一个worker进程同时打开的最大连接数。如果设置了上面提到的worker_rlimit_nofile,我们可以将这个值设得很高。((PS:
页: [1]
查看完整版本: Nginx配置性能优化的方法