nginx 的基本配置

/etc/hosts  自己的域名信息:www.51fugui.net


# 启动进程
worker_processes  auto;
# 打开文件的个数
worker_rlimit_nofile 100000;
events {
     # 每个进程的连接数

    worker_connections 10240;

   # 设置用于复用客户端线程的轮询方法。需要先看一下linux的版本,如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。
    use epoll;

}
http {
    # 设定mime类型
    include       mime.types;


    # 默认的数据类型
    default_type  application/octet-stream;


    #设定请求缓冲 
    client_header_buffer_size 2k; 
    large_client_header_buffers 4 6k; 


    #设置等待client发送一个请求头的超时时间
    client_header_timeout 60s;


    #该指令设置请求体(request body)的读超时时间
    client_body_timeout 5m;


    # 指令指定了发送给客户端应答后的超时时间,如果超过这个时间客户端没有任何响应,nginx将关闭连接。
    send_timeout 5m;
 
    # 用于开启高效文件传输模式。将tcp_nopush和tcp_nodely两个指令设置为on,用于防止网络阻塞。
    sendfile on;
    tcp_nopush on; 
    tcp_nodelay on;
    
    # 第一个参数指定了与client的keep-alive连接超时时间。服务器将会在这个时间后关闭连接。
    #(值测试时越小越好,生产时均匀配置,表示快速释放当前的链接,给其他的链接腾出时间)
    keepalive_timeout  0;


    # 开启GZIP压缩
    gzip on;
    gzip_buffers 32 4k;
    gzip_comp_level 1;
    gzip_min_length 200;
    gzip_types text/plain  application/xml  application/javascript;
    gzip_vary on;


    # 定义日志格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';


    # 定义负载均衡的连接池
    # down 表示单前的server暂时不参与负载
    # weight 默认为1.weight越大,负载的权重就越大。
    # backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
    upstream  test{
       server  www.51fugui.net:81  max_fails=3 fail_timeout=30s weight=2;
       server  www.51fugui.net:8080 down;
       server  www.51fugui.net  backup; 
       server  www.51fugui.net;
       server  www.51fugui.net:88;
    }
   
    # 系统自带的测试实例
    server {
        listen       80;
        server_name  www.51fugui.net;
        location / {
            root   html;
            index  a.html  index.html index.htm;
        }
        
        # 图片服务器
        location /image {
            # 把客户端的IP传给其他代理的服务器
            proxy_set_header X-Forwarded-For $remote_addr;
            root  image;
            # 文件缓存设置到最长时间
            expires 24h;
            
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        
        # 记录日志
        access_log  logs/access.log  main;
     }


    # 以下为自己的test的配置
     server {
        listen      8080;
        server_name  www.51fugui.net;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
     }
     


     # 测试tomcat,端口88
     server {
        listen      88;
        server_name  www.51fugui.net;
        location / {
            root   html;
            # 开tatus监控,在安装时要加上 --with-http_stub_status_module参数
            # stub_status on;
            index  index.html index.htm;
            #添加如下内容即可防止爬虫
            if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|You                  daoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { 
                    return 403; 
               } 
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
     }


     # 负载均衡测试test
     server {
        listen      81;
        server_name  www.51fugui.net;
        location / {
            proxy_pass http://test;
            #自定义log的文件信息 
            access_log logs/three.web.access.log main; 
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
     }
}

你可能感兴趣的:(nginx 的基本配置)