绝对详细!Nginx基本配置、性能优化指南

当前位置:小禹营销首页 > 新闻 >
2019-04-02

大多数的Nginx安装指南告诉你如下基础知识——通过(tōng guò)apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。佛山网站优化公司就是通过SEO技术使得我们网站在搜索引擎上的友好度和站内用户的良好体验度上升。这样做的目的很简单,就是为了让我们的网站在搜索引擎的排名靠前并且得到很好的客户转换率。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理(chǔ lǐ)大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能(maybe)不同。
基本的 配置
我们将修改的唯一文件是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服务时的worder进程数。最优值取决于许多因素,包括CPU核的数量、存储数据的硬盘数量及负载模式。不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始。
worker_rlimit_nofile 更改worker进程的最大打开文件数限制(limit)。如果没设置的话,这个值为操作系统(system)的限制。设置后你的操作系统和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,我们可以将这个值设得很高。
记住,最大客户数也由系统的可用socket连接数限制(limit),所以设置不切实际的高没什么好处(good benefit)。
multi_accept 告诉nginx收到一个新连接通知后接受尽可能(maybe)多的连接。
use 设置(set up)用于复用客户端线程的轮询方法(method)。如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。想知道更多有关事件轮询?看下维基百科吧

HTTP 模块
HTTP模块(mo kuai)控制着nginx http处理的所有重要特性。佛山网站优化公司所考虑的因素不仅仅是搜索引擎,也包括充分满足用户的需求特征、清晰的网站导航、完善的在线帮助等,在此基础上使得网站功能和信息发挥最好的效果。也就是以企业网站为基础,与网络服务商、合作伙伴、顾客、供应商、销售商等网络营销环境中各方面因素建立良好的关系。因为这里只有很少的配置,所以我们只节选配置的一小部分。所有这些设置都应该在http模块中,甚至你不会特别的注意到这段设置。
http {
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
}
server_tokens 并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全(safe)性是有好处的。
sendfile可以让sendfile发挥作用(role)。sendfile可以在磁盘和TCP socket之间互相拷贝数据。GOOGLE PRe-sendfile是传送数据之前在用户空间申请数据缓冲区。之后用read将数据从文件拷贝到这个缓冲区,write将缓冲区数据写入网络(network)。sendfile是立即将数据从磁盘读到OS缓存(cache)。因为这种拷贝是在内核完成的,sendfile要比组合read和write以及打开关闭丢弃缓冲更加有效
tcp_nopush 告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
tcp_nodelay 告诉nginx不要缓存(cache)数据,而是一段一段的发送–当需要及时发送数据时,就应该给应用(application)设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。
access_log off;
error_log /var/log/nginx/error.log crit;
access_log设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快。
error_log 告诉nginx只能记录严重的错误。
keepalive_timeout 10;
client_header_timeout 10;
client_body_timeout 10;
reset_timedout_connection on;
send_timeout 10;

  • 品牌提升

    品牌提升

  • 网络推广

    网络推广

品牌网站建设
整站优化

绝对详细!Nginx基本配置、性能优化指南

当前位置:小禹营销首页 > 新闻 >
2019-04-02

大多数的Nginx安装指南告诉你如下基础知识——通过(tōng guò)apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。佛山网站优化公司就是通过SEO技术使得我们网站在搜索引擎上的友好度和站内用户的良好体验度上升。这样做的目的很简单,就是为了让我们的网站在搜索引擎的排名靠前并且得到很好的客户转换率。然而,如果你真的想挤压出nginx的性能,你必须更深入一些。在本指南中,我将解释Nginx的那些设置可以微调,以优化处理(chǔ lǐ)大量客户端时的性能。需要注意一点,这不是一个全面的微调指南。这是一个简单的预览——那些可以通过微调来提高性能设置的概述。你的情况可能(maybe)不同。
基本的 配置
我们将修改的唯一文件是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服务时的worder进程数。最优值取决于许多因素,包括CPU核的数量、存储数据的硬盘数量及负载模式。不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始。
worker_rlimit_nofile 更改worker进程的最大打开文件数限制(limit)。如果没设置的话,这个值为操作系统(system)的限制。设置后你的操作系统和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,我们可以将这个值设得很高。
记住,最大客户数也由系统的可用socket连接数限制(limit),所以设置不切实际的高没什么好处(good benefit)。
multi_accept 告诉nginx收到一个新连接通知后接受尽可能(maybe)多的连接。
use 设置(set up)用于复用客户端线程的轮询方法(method)。如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。想知道更多有关事件轮询?看下维基百科吧

HTTP 模块
HTTP模块(mo kuai)控制着nginx http处理的所有重要特性。佛山网站优化公司所考虑的因素不仅仅是搜索引擎,也包括充分满足用户的需求特征、清晰的网站导航、完善的在线帮助等,在此基础上使得网站功能和信息发挥最好的效果。也就是以企业网站为基础,与网络服务商、合作伙伴、顾客、供应商、销售商等网络营销环境中各方面因素建立良好的关系。因为这里只有很少的配置,所以我们只节选配置的一小部分。所有这些设置都应该在http模块中,甚至你不会特别的注意到这段设置。
http {
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
}
server_tokens 并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全(safe)性是有好处的。
sendfile可以让sendfile发挥作用(role)。sendfile可以在磁盘和TCP socket之间互相拷贝数据。GOOGLE PRe-sendfile是传送数据之前在用户空间申请数据缓冲区。之后用read将数据从文件拷贝到这个缓冲区,write将缓冲区数据写入网络(network)。sendfile是立即将数据从磁盘读到OS缓存(cache)。因为这种拷贝是在内核完成的,sendfile要比组合read和write以及打开关闭丢弃缓冲更加有效
tcp_nopush 告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
tcp_nodelay 告诉nginx不要缓存(cache)数据,而是一段一段的发送–当需要及时发送数据时,就应该给应用(application)设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。
access_log off;
error_log /var/log/nginx/error.log crit;
access_log设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快。
error_log 告诉nginx只能记录严重的错误。
keepalive_timeout 10;
client_header_timeout 10;
client_body_timeout 10;
reset_timedout_connection on;
send_timeout 10;

小禹科技&锐艺传播--专注企业网络推广网站建设推广,佛山营销型网站建设多年,在品牌推广、网络推广、营销型网站建设方面积累了丰富的经验及网络推广案例,全网营销,有我就够了!财富热线:18666584747
TOP

TOP

QQ

QQ客服

电话

18666584747

二维码
品牌提升 网络推广
地图导航 联系电话 返回顶部 导航菜单