nginx配置文件


user nobody;    #运行用户
worker_processes  1;    #启动进程,通常设置成和cpu的数量相等
#全局错误日志及PID文件
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
#工作模式及连接数上限
events {
    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
}
http {
    include    mime.types;     #设定mime类型,类型由mime.type文件定义  文件扩展名与文件类型映射表
    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;   # 服务日志 
    sendfile     on;  #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块
    # tcp_nopush     on;    # 按照大小发送数据包,不是按照请求
    keepalive_timeout  65;  #连接超时时间
    tcp_nodelay     on;    # 按照请求发送数据包
    gzip  on;   # 开启gzip压缩
    gzip_disable "MSIE [1-6].";   # 不给IE6 Gzip
    client_header_buffer_size    128k;  # 如果请求头大小大于指定的缓冲区,则使用large_client_header_buffers指令分配更大的缓冲区。 
    large_client_header_buffers  4 128k; # 规定了用于读取大型客户端请求头的缓冲区的最大数量和大小。 这些缓冲区仅在缺省缓冲区不足时按需分配。
    sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。

    upstream mysvr {    # 服务集群
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #热备

    }
        
    #设定虚拟主机配置
    server {
        listen    80;    # 侦听80端口
        server_name  mysvr;    # 定义使用 mysvr 访问
        root html;    # 定义服务器的默认网站根目录位置
        access_log  logs/nginx.access.log  main;  # 设定本虚拟主机的访问日志
        
        location / {   # 默认请求
            index index.php index.html index.htm;  # 定义首页索引文件的名称
            client_max_body_size 100m;   #  配置请求体最大容量

            proxy_set_header Host $http_host;   # Host包含客户端真实的域名和端口号;
            proxy_set_header X-Real-IP $remote_addr;    # X-Forwarded-Proto表示客户端真实的协议(http还是https)
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     # X-Real-IP表示客户端真实的IP;
            proxy_set_header X-Forwarded-Proto $scheme;    # X-Forwarded-For这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的IP。
            deny 127.0.0.1;  #拒绝的ip
            allow 172.18.5.54; #允许的ip
        }
        # 定义错误提示页面
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
        }
        #静态文件,nginx自己处理
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            expires 30d;   # 过期30天,静态文件不怎么更新
        }
        #禁止访问 .htxxx 文件
            location ~ /.ht {
            deny all;
        }
    }
}


刘小恺(Kyle) wechat
如有疑问可联系博主