NGINX配置

NGINX配置

@(nginx笔记)[nginx]

参考:http://www.oschina.net/translate/nginx-setup?print

#运行用户
user xxxuser xxxgroup;

#启动进程,和CPU核心相等最好或"worker_processes  auto;"自动检测
worker_processes  1;

#worker进程最大可打开文件数据限制,默认为操作系统的限制
worker_rlimit_nofile    30000;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
        #epoll多路复用IO中的一种方式,仅用于linux2.6以上内核,可提高nginx性能
        use epoll;

        #单个后台worker process进程的最大并发链接数
        #并发总数是 worker_processes 和 worker_connections 的乘积
        #即 max_clients = worker_processes * worker_connections
        #反向代理时为 max_clients = worker_processes * worker_connections / 4
        #worker_connections 值设置大小受物理内存影响
        #max_clients 并且受IO约束,值最好小于系统可打开最大文件句柄再适当降低
        #查看当前机器配置可打开句柄数 cat /proc/sys/fs/file-max
        #最大连接数也受系统可能socket连接数限制(~64K)
        worker_connections  1024;

        #让NGINX在接收到一个新连接通知后调用accept()来接受尽可能多的连接
        multi_accept on;
}


http {
        include       mime.types;
        default_type  application/octet-stream;

        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';

        #access_log  logs/access.log  main;

        #关闭版本显示
        server_tokens   off;

        sendfile        on;
        #tcp_nopush     on;

        #keepalive_timeout  0;
        keepalive_timeout  10;#生产环境决定在短时间内用户不会有第二次请求

        #关闭不响应的客户端连接
        reset_timedout_connection on;

        #客户端在指定时间内没有响应时判定超时,关闭连接
        #default = 60
        send_timeout 10;

        #客户端请求头信息以及实体信息超时未响应 NGINX返回 “Request time out 408”
        #default = 均为60
        client_header_timeout 10;
        client_body_timeout 10;

        #指定用来存储所有访问连接数值的共享内存空间大小
        #1m约存储1.6W个64位的状态
        #http://nginx.org/cn/docs/http/ngx_http_limit_conn_module.html
        limit_conn_zone $binary_remote_addr zone=addr:5m;
        #限制每个IP同时允许的连接数,从共享空间addr中读取,否则NGINX返回 “Service unavailable 503”
        #limit_conn addr 50;

        #默认字符集
        charset UTF-8;

        #gzip
        gzip  on;
        gzip_disable "msie6";   #对IE6关闭gzip功能
        gzip_proxied any;       #对所有请求类型开启gzip
        gzip_min_length 1000;   #最小启用gzpi的文件字节大小,太小文件反而不划算 default:0
        gzip_comp_level 4;      #压缩级别 1最低 9最高 default:1

        #负载均衡配置
        upstream loginweb {
        #       server 192.168.1.138:80;
                server 192.168.1.133:80;
        #       server 192.168.1.135:80;
        #       server 192.168.1.136:8088;

                server 127.0.0.1:808 backup;#所有负载机宕机后的展示页

        }

        server {
                listen       80;
                server_name  *.cos.com;

                charset utf-8;

                access_log  logs/loginweb.access.log  main;

                #代理
                location / {
                        proxy_pass http://loginweb;

                        #向后端转发用户来访IP
                        proxy_set_header X-Real-IP $remote_addr;

                        #请求和后端连接超时时间,在此时间内后端必须响应前端握手请求
                        #default = 60s
                        proxy_connect_timeout 5;

                        #后端连接成功后,后端处理数据的时间
                        #default = 60s
                        proxy_read_timeout 60;

                        #后端数据传回时间
                        #default = 60s
                        proxy_send_timeout 60;

                        #从后端读取的第一部份应答缓冲区大小 通知包含一个小的答应头
                        #default = 4k / 8k
                        #proxy_buffer_size = 4k;

                        #从后端读取的数据缓存区数目和大小
                        #default = 8 4k/8k
                        proxy_buffers 8 18k;

                        #proxy_buffers设置的缓冲区使用完后再申请的缓冲大小(高负载)
                        #default = proxy_buffer_size * 2
                        proxy_busy_buffers_size 64k;

                        #代理缓冲区临时文件大小
                        #default = proxy_buffer_size * 2
                        #proxy_temp_file_write_size 64k;

                        #代理缓冲区临时文件最大大小
                        #default = 1G
                        proxy_max_temp_file_size 128m;
                }

                #error_page  404              /404.html;
                # redirect server error pages to the static page /50x.html
                #
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                    root   html;
                }

        }

        #backup站点以及状态页
        server {
                listen  808;
                server_name     127.0.0.1;

                access_log logs/noserver.access.log main;

                location / {
                        root html;
                        index   noserver.html;

                }

                location /status {
                        stub_status on;
                        access_log off;

                        allow   127.0.0.1;
                        allow   192.168.1.135;
                        deny    all;
                }
        }

        #关闭所有未绑定的默认站点
        server {
                listen 80 default;
                return 500;
        }
}

你可能感兴趣的:(NGINX配置)