Nginx配置文件优化

nginx.conf 主配置文件:

user    web web;    #nginx运行用户和组

worker_processes 8;      #主进程数量

worker_rlimit_nofile 102400;    #文件句柄数量

error_log    /usr/local/nginx/logs/nginx_error.log    crit;    #错误日志

pid            /var/run/nginx.pid;

events

{
         use epoll;    #使用epoll模型

worker_connections 102400;  #最大并发连接数
}

http

{

include           mime.types;

default_type    application/octet-stream;

charset utf-8;    #默认字符集

server_names_hash_bucket_size 256;    #服务器名字的hash表大小

client_header_buffer_size 256k;    #上传文件的大小限制

large_client_header_buffers 4 256k;    #设定头部请求缓存大小

client_max_body_size           50m;    #允许客户端请求的最大单文件字节数

client_body_buffer_size        256k;   #缓冲区代理缓冲用户端请求的最大字节数

client_header_timeout     3m;    #设定客户端请求的头部超时时间

client_body_timeout 3m;    #设定客户端请求的主体超时时间

send_timeout             3m;    #指定客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接。

sendfile on;    #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为
on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改
成off。

#autoindex on;    #开启目录列表访问,合适下载服务器,默认关闭。

tcp_nopush on;    #防止网络阻塞,告诉nginx在一个数据包里发送所有头文件,而不是一个接一个的发送。

tcp_nodelay on;    #防止网络阻塞,告诉nginx不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。

keepalive_timeout 120;    #长连接超时时间,单位是秒

include                    vhosts/upstream.conf;

include                    vhosts/www.linux.com.conf;
}

upstream.conf配置文件

upstream www.linux.com {

#配置后端的web服务器,可以加权重weight,weight数字越大,分到的请求就越多

server 192.168.1.100:80;

server 192.168.1.101:80;

server 192.168.1.102:80;

#server 192.168.1.104:80 weight=5;

#server 192.168.1.105:80 weight=4;

}

www.linux.com.conf配置文件
server {

listen             80;

server_name    www.linux.com;
    charset utf-8;

index index.html index.htm;

root    /home/web/;

location ~ ^/nginxstatus {

stub_status on;

access_log off;

}

location / {

proxy_redirect off ;

#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 50m;    #允许客户端请求的最大单文件字节数

client_body_buffer_size 256k;    #缓冲区代理缓冲用户端请求的最大字节数

proxy_connect_timeout 30;    #nginx跟后端服务器连接超时时间(代理连接超时)

proxy_send_timeout 30;    #后端服务器数据回传时间(代理发送超时)

proxy_read_timeout 60;    #连接成功后,后端服务器响应时间(代理接收超时)

proxy_buffer_size 256k;    #设置代理服务器(nginx)保存用户头信息的缓冲区大小

proxy_buffers 4 32k;    #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

proxy_busy_buffers_size 256k;    #高负荷下缓冲大小(proxy_buffers*2)

proxy_temp_file_write_size 256k;    #设定缓存文件夹大小

proxy_max_temp_file_size 128m;

proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

proxy_pass    http://www.linux.com;
             access_log  logs/www.linux.com.access.log  main;

}

location ~ .(jsp|jspx|do)?$ {

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://www.linux.com:80;
    }

#js和css文件进行缓存

location ~ .*\.(js|css)?$ {
        expires 1h;
    }

#图片文件进行缓存
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        expires 10d;
    }

#禁止访问 .ht文件
    location ~ /\.ht {
        deny all;
    }

}

时间: 2024-12-26 08:04:01

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

Nginx配置文件优化详解

Nginx配置文件优化详解 对nginx进行优化是重点也是难点,这里给出一些常用的优化措施,以及相关参数的所代表的意思.有些参数需要结合公司服务器进行设置. 全局变量的优化: #定义Nginx运行的用户和用户组user  www  www: #启动进程,通常设置成和cpu的数量相等 worker_processes  8: #为每个进程分配cpu. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 

[NGINX] - 配置文件优化 - NGINX.CONF

Nginx 本文主要针对公司的Nginx负载均衡配置进行解释,配置文件在最下方.因为公司没有使用PHP,所以NGINX里面并没有太多facgi模块相关优化  NGINX.CONF user 语法: user user[group]; 标签: main 定义user和工作group 进程使用的凭证.如果group省略,user则使用名称等于的组. worker_processes 1 句法: worker_processes number | auto; 2 默认: worker_processe

Nginx配置文件参数优化和内核参数优化

一.Nginx配置文件优化 worker_processes auto; nginx 进程数,建议按照cpu 数目来指定,但是也可以直接指定为auto. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以写多个,或者将一个进程分配到多个cpu.参考:https://blog.csdn.net/u

Nginx配置文件的优化

Nginx配置文件中需要优化的参数为以下几项: worker_processes 8; Nginx配置文件进程数,可以按照cpu数目来指定,一般为它的倍数. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程指定一个cpu,上例中将8个进程分配到8个cpu,也可以将一个进程分配到多个cpu. worker_rlimit_nofile 102400; N

Nginx配置文件、优化详解

上篇<编译安装nginx>已将nginx安装好,这篇写nginx配置文件和部分优化参数. 查看nginx的配置文件路径,可以使用nginx配置文件检查命令nginx -t: 1 [[email protected] ~]# nginx -t 2 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok #编译安装后的nginx配置文件路径3 nginx: configuration file /etc/nginx/ngin

nginx基本优化

1.1   隐藏nginx header里版本号信息 1.2   更改源码隐藏软件名称及版本号 1.3   更改掉nginx默认用户及用户组(worker进程服务用户优化) 1.4   配置nginx worker进程个数 1.5   根据cpu核数进行nginx进程优化 1.6   nginx事件处理模型优化 1.7   调整nginx worker单个进程允许的客户端最大连接数 1.8   配置nginx worker进程最大打开文件数 1.9   开启高效的文件传输模式 1.10  设置连

【Nginx笔记】nginx配置文件具体解释

本文主要对nginx的配置做重点说明,关于nginx的其他基本概念.建议參考官网描写叙述.这里推荐Nginx Beginner's Guide这篇文档.对刚開始学习的人高速认识nginx非常有帮助. 显然.发挥nginx强大优势的前提是熟悉其配置文件并进行合理的配置.而学习nginx配置时.最重要的一点是建立例如以下概念: The most important is that nginx is a reverse proxy first and HTTP server second, its f

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性能优化技巧(6)

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