你好,欢迎访问我的博客!登录
当前位置:首页 - 服务器问题 - 正文 SEO教程学习网

Nginx服务器配置性能优化方案

2019-02-25服务器问题seo学习网44°c
A+ A-
这篇文章主要为大家详细介绍了Nginx服务器配置性能优化方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

高层的配置
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”将尝试自动检测它)。

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,我们可以将这个值设得很高。
记住,最大客户数也由系统的可用socket连接数限制(~ 64K),所以设置不切实际的高没什么好处。

multi_accept 告诉nginx收到一个新连接通知后接受尽可能多的连接。

use 设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。
(值得注意的是如果你不知道Nginx该使用哪种轮询方法的话,它会选择一个最适合你操作系统的)

HTTP 模块

HTTP模块控制着nginx http处理的所有核心特性。因为这里只有很少的配置,所以我们只节选配置的一小部分。所有这些设置都应该在http模块中,甚至你不会特别的注意到这段设置。

http { server_tokens off; sendfile on; tcp_nopush on; tcp_nodelay on; ... } 

server_tokens  并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的。
sendfile 可以让sendfile()发挥作用。sendfile()可以在磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符)。Pre-sendfile是传送数据之前在用户空间申请数据缓冲区。之后用read()将数据从 文件拷贝到这个缓冲区,write()将缓冲区数据写入网络。

sendfile()是立即将数据从磁盘读到OS缓存。因为这种拷贝是在内核完成 的,sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效(更多有关于sendfile)。

tcp_nopush

Nginx服务器配置性能优化方案

这篇文章主要为大家详细介绍了Nginx服务器配置性能优化方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 高层的配置 nginx.conf文件中,Nginx中有少数的几个高级配置在模块部分之上。 user www-data; pid /var/run/nginx.pid; worker_processes auto;相关推荐: Nginx 的多站点配置方案nginx访问日志并删除指定天数前的日志记录配置方法python实现分析apache和nginx日志文件并输出访客ip列表的方法Linux下查看nginx apache mysql php的编译参数禁止IP访问网站的多种方法分享(linux,php,nginx,apache)ubuntu10.04配置 nginx+php-fpm模式的详解CentOS 7.0编译安装lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5.14)Nginx启用GZIP压缩网页传输方法(推荐)安装配置php-fpm来搭建Nginx+PHP的生产环境centos服务器下nginx图片防盗链设置方法Nginx+lua 实现调用.so文件在 Ubuntu 16.04 为 Nginx 服务器安装 LEMP 环境(MariaDB,PHP安装Nginx+Lua开发环境CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11Nginx中accept锁的机制与实现解决Nginx出现 403 Forbidden的办法Nginx启用Brotli算法压缩 ======================================================================================================网站被劫持检测、网站监控站群批量SEO查询六大搜索引擎 模拟蜘蛛批量替换工具 - 多行批量替换服务器专用下载工具iis日志分析工具批量PING,服务器批量添加网卡IP小工具远程同步备份工具整站下载工具批量远程桌面连接工具iis网站批量管理
  选择分享方式
未定义标签

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>


  用户登录