Nginx优化—配置优化

完整配置如下所示:

 1 user nginx; #运行的用户
 2 pid /var/run/nginx.pid;
 3 worker_processes auto; #定义了nginx对外提供web服务时的worder进程数,CPU核的数量、存储数据的硬盘数量及负载模式
 4 worker_rlimit_nofile 100000; #更改worker进程的最大打开文件数限制,比‘ulimit -a‘多。解决"too many open files"
 5 events {
 6     worker_connections 2048; #worker进程同时打开的最大连接数
 7     multi_accept on; #当收到一个新连接通知后接受尽可能多的连接
 8     use epoll; #设置用于复用客户端线程的轮询方法,epoll需要linux2.6+
 9 }
10 http {
11     server_tokens off; #关闭nginx版本号
12     sendfile on; #sendfile()可以在磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符)。Pre-sendfile是传送数据之前在用户空间申请数据缓冲区。之后用read()将数据从文件拷贝到这个缓冲区,write()将缓冲区数据写入网络。sendfile()是立即将数据从磁盘读到OS缓存。因为这种拷贝是在内核完成的,sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效(更多有关于sendfile)
13     tcp_nopush on; #在一个数据包里发送所有头文件,而不一个接一个的发送
14     tcp_nodelay on; #nginx不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。
15     access_log off; #设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快(aka,YOLO)
16     error_log /var/log/nginx/error.log crit; #告诉nginx只能记录严重的错误
17     keepalive_timeout 10; #给客户端分配keep-alive链接超时时间。服务器将在这个超时时间过后关闭链接
18     client_header_timeout 10; #设置请求头超时时间,建议低
19     client_body_timeout 10; #请求体(各自)的超时时间
20     reset_timedout_connection on; #关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间
21     send_timeout 10; #指定客户端的响应超时时间
22     limit_conn_zone $binary_remote_addr zone=addr:5m; #设置用于保存各种key(比如当前连接数)的共享内存的参数。5m就是5兆字节,这个值应该被设置的足够大以存储(32K*5)32byte状态或者(16K*5)64byte状态。
23     limit_conn addr 100; #给定的key设置最大连接数。这里key是addr,我们设置的值是100,也就是说我们允许每一个IP地址最多同时打开有100个连接。
24     include /etc/nginx/mime.types; #只是一个在当前文件中包含另一个文件内容的指令。
25     default_type text/html; #设置文件默认MIME-type
26     charset UTF-8; #头默认的字符集
27     gzip on; #开启gzip压缩
28     gzip_disable "msie6"; #低版本兼容
29     gzip_proxied any; #允许或者禁止压缩基于请求和响应的响应流。我们设置为any,意味着将会压缩所有的请求
30     gzip_static on; #告诉nginx在压缩资源之前,先查找是否有预先gzip处理过的资源
31     gzip_min_length 1000; #设置对数据启用压缩的最少字节数
32     gzip_comp_level 6; #压缩级别,1-10越高越消耗CPU,但是压缩越好
33     gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; #设置需要压缩的数据格式
34     open_file_cache max=100000 inactive=20s; #打开缓存的同时也指定了缓存最大数目,以及缓存的时间
35     open_file_cache_valid 30s; #在open_file_cache中指定检测正确信息的间隔时间
36     open_file_cache_min_uses 2; #定义了open_file_cache中指令参数不活动时间期间里最小的文件数
37     open_file_cache_errors on; #指定了当搜索一个文件时是否缓存错误信息,也包括再次给配置中添加文件
38     include /etc/nginx/conf.d/*.conf;
39     include /etc/nginx/sites-enabled/*;
40 }
时间: 2024-11-01 21:49:52

Nginx优化—配置优化的相关文章

【nginx】配置优化

1.编译安装过程优化 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆字节.在编译前取消Nginx的debug模式,编译完成后Nginx只有几百千字节,因此可以在编译之前,修改相关源码,取消debug模式,具体方法如下:在Nginx源码文件被解压后,找到源码目录下的auto/cc/gcc文件,修改如下几行 sed -i '[email protected]="$CFLAGS -g"@#CFLA

nginx.conf 配置优化详解

user www www;--配置nginx运行用户和用户组,使用之前创建用户useradd www -s /sbin/nologin -M worker_processes 4;--配置nginx worker进程数,根据cpu内核数设置,也可以设置成auto worker_cpu_affinity 0001 0010 0100 1000;--配置cpu亲和力,此配置为4核(如果cpu是8核,前面worker_processes也设置为8,worker_cpu_affinity配置为00000

5.9 Nginx的配置优化

原文地址:https://www.cnblogs.com/likevin/p/10328059.html

Nginx配置优化及深入讲解,大家可以听一下

随着访问量的不断增加,需要对Nginx和内核做相应的优化来满足高并发用户的访问,那下面在单台Nginx服务器来优化相关参数. 1)       Nginx.conf配置优化: worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8个进

nginx 配置优化的几个参数

nginx 配置优化的几个参数 2011-04-22 本文地址: http://blog.phpbean.com/a.cn/7/ --水平有限欢迎指正-- -- 最近在服务器上搞了一些nginx 研究了一下 总结总结Sleep nginx配置文件里面需要注意的一些参数 worker_processes 8 nginx要开启的进程数 一般等于cpu的总核数 其实一般情况下开4个或8个就可 我开2个 以了 多了没有太多用 每个nginx进程消耗的内存10兆的模样 worker_cpu_affinit

Nginx配置优化的几个参数

worker_processes 8 一般CPU(i/o)密集型配置为核数相同,网络(i/o)密集型配置为核数倍数(我配置为2倍) worker_cpu_affinity(这个没用过) 仅适用于linux,使用该选项可以绑定worker进程和CPU(2.4内核的机器用不了) worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8个进程

Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的配置优化

Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的配置优化  大 | 中 | 小  [ 2008-10-28 16:55 | by 张宴 ] [文章作者:张宴 本文版本:v1.0 最后修改:2008.10.28 转载请注明原文链接:http://blog.zyan.cc/post/375/] VPS(全称Virtual Private Server)是利用最新虚拟化技术在一台物理服务器上创建多个相互隔离的虚拟私有主机.它们以最

编译安装nginx及简单优化配置

一.背景 使用源码包安装lnmp架构及简单的优化配置 二.实验环境 rhel6.5 三.安装过程 1.nginx(提前装好gcc等编译器) (1) 下载源码包  http://nginx.org/ (2) tar -zxf nginx-1.8.1.tar.gz (3) cd nginx-1.8.1 vim auto/cc/gcc 修改第179行 (将本行注释,意为取消debug模式,) (4) ./configure --prefix=/usr/local/lnmp/nginx \ --with

I/O模型与Nginx详细配置、优化

I/O: I/O类型: 同步和异步:synchronous, asyncronous 关注的是消息通知机制,即被调用者如何把消息通知给调用者 同步:调用发出之后不会立即返回消息,但一旦返回,则返回即是最终结果: 异步:调用发出之后,被调用方立即返回消息,但返回的并非最终结果:被调用者通过状态.通知机制等来通知调用者,或通过回调函数来处理结果: 阻塞和非阻塞:block, nonblock 关注的是调用者等待被调用者返回调用结果时的状态 阻塞:调用结果返回之前,调用者会被挂起:调用者只有在得到返回