当前位置: 首页 > 科技观察

在Linux上微调Nginx以获得出色性能的八种方法_0

时间:2023-03-23 10:23:32 科技观察

NGINX是一种流行的免费开源Web服务器。默认的NGINX配置足以让Web服务器正常工作。但是,如果您想充分利用NGINX,则需要使用其配置文件并设置优化服务器性能的参数。您将在Linux机器上的/etc/nginx目录中找到配置文件。什么是NGINX?NGINX是一种现代Web服务器,您可以将其用作媒体流、邮件服务器、反向代理、负载平衡器、缓存服务器等。VMware、IBM、Cisco、Apple、MicrosoftLinkedIn、Netflix、Facebook、Twitter和许多其他大公司都使用NGINX,NGINX以其一流的性能而广为人知。使用NGINX的另一个优点是易于配置和学习。在Linux上调优NGINX性能的先决条件在开始使用NGINX配置之前,您需要满足以下要求:在Linux上部署和配置NGINX服务器对NGINX及其配置文件的基本了解如果满足这些要求,则可以调优NGINX以获得最佳性能。让我们看看如何去做。一、在NGINX中配置worker进程NGINX架构由一个master进程和多个worker进程组成。主进程的工作是评估配置和管理工人。另一方面,工作进程的作用是处理传入的请求并在客户端和服务器之间创建连接。默认情况下,过程值设置为自动。这会将工作进程的数量设置为等于可用CPU内核的数量。要了解您的系统中有多少个CPU内核,请运行以下命令:linuxmi@linuxmi:~/www.linuxmi.com$grepprocessor/proc/cpuinfo|wc-l我的测试机只有1个,如果想增加worker进程数,需要在NGINX的配置文件中配置。使用nano打开文件:linuxmi@linuxmi:~/www.linuxmi.com$nano/etc/nginx/nginx.conf要配置更多工作进程,请将默认值更改为系统中可用的最大CPU内核数。2.配置Worker_Connections您可以修改以增强NGINX性能的另一个参数是Worker_Connections。这是每个工作进程可以同时处理的最大TCP连接数。大多数系统的默认值是512个连接,但许多现代系统也支持更高的连接数。您可以检查您的系统支持多少个连接:linuxmi@linuxmi:~/www.linuxmi.com$ulimit-n输出将是支持的最大连接数。然后,您可以修改NGINX配置文件中的worker_connections变量以提高性能。3.在NGINX中允许GZIP压缩NGINX使用GZIP进行文件压缩和解压缩。如果在NGINX配置文件中启用,您可以节省带宽并改善网站在低速连接时的加载时间。要允许GZIP压缩,请将以下行添加到NGINX配置文件:server{gzipon;gzip_varyon;gzip_min_length10240;gzip_proxiedexpiredno-cacheno-storeprivateauth;gzip_typestext/plaintext/csstext/xmltext/javascriptapplication/x-javascriptapplication/xml;gzip_disable"MSIE[1-6]\.";}4.限制NGINX中的超时值减少超时值对增强NGINX性能也有重要作用。Keepalive连接减少了打开和关闭连接时的处理器和网络开销。您可以通过修改配置文件中的以下参数来限制超时:http{client_body_timeout12;client_header_timeout12;keepalive_timeout15;send_timeout10;}5.调整缓冲区大小您还可以调整NGINX缓冲区以优化服务器性能。如果缓冲区太小,那么NGINX会写入临时文件,导致大量I/O操作不断运行。您需要为NGINX设置以下缓冲区参数以优化运行:http{client_body_buffer_size10K;client_header_buffer_size1k;client_max_body_size8m;large_client_header_buffers44k;}CPU/IO周期,如果它记录每个请求,这会影响服务器性能。您可以禁用访问日志记录,这将节省一些磁盘空间和CPU处理。要禁用访问日志,请将以下行添加到NGINX配置文件中:access_logoff;日志很重要,因为它们有助于解决问题。完全禁用日志记录不是一个好的做法。在这种情况下,您可以启用访问日志缓冲。这将允许NGINX缓冲一系列日志并一次将它们写入日志文件,而不是对每个请求应用不同的日志操作。将以下行添加到NGINX配置文件以允许访问日志缓冲:access_log/var/log/nginx/access.logmainbuffer=16k7。调整NGINX静态内容缓存周期网站上跨页面保持不变的内容称为静态内容。缓存此内容可以将其放置在易于访问的位置。这种机制减少了带宽使用,允许快速访问,并随后提高了网站性能。当客户端请求静态内容时,服务器会提供内容的缓存版本。将以下行添加到/etc/nginx/sites-available目录中的虚拟主机文件:location~*\.(jpg|jpeg|png|gif|ico|css|js)${expires100d;}此配置将从上次浏览器访问时间开始,文件缓存100天。8.在NGINX中启用打开文件缓存您还可以在NGINX配置文件中使用打开文件缓存参数来增强其性能。该指令允许将文件描述符和经常访问的文件缓存到服务器。将以下行添加到配置文件的http部分以启用打开文件缓存:http{open_file_cachemax=1024inactive=10s;open_file_cache_valid60s;open_file_cache_min_uses2;open_file_cache_errors开启;更改配置以通过修改其配置文件充分利用NGINX时要遵循的一个很好的做法是一次处理一个设置并对其进行测试。如果有效,请转到下一个设置。如果没有,您可以随时将配置更改回默认值。您可以通过修改NGINX配置文件(如nginx.conf和虚拟主机文件)中配置的参数来熟悉NGINX以获得最佳性能。