zoukankan      html  css  js  c++  java
  • nginx基本配置

    #user nobody;
    
    #nginx进程数,建议设置为等于CPU总核心数
    worker_processes  1;
    
    #全局错误日志及PID文件
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
    
        #epoll是多路复用IO(I/O Multiplexing)中的一种方式,
        #使用epoll的I/O 模型(值得注意的是如果你不知道Nginx该使用哪种轮询方法的话,它会选择一个最适合你操作系统的)
        #仅用于linux2.6以上内核,可以大大提高nginx的性能
        #use   epoll; 
    
        #单个后台worker process进程的最大并发链接数(最大连接数=连接数*进程数)
        worker_connections  1024;
    }
    
    
    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;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
        tcp_nopush on; #防止网络阻塞
        tcp_nodelay on;
        
        #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 30;
        fastcgi_read_timeout 30;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 128k;
    
        
        #开启gzip压缩
        gzip  on;
        gzip_disable "MSIE [1-6].";
        
        upstream 10.0.1.14 { #服务器集群
            ip_hash; #会让相同的客户端ip请求相同的服务器。
            server 10.0.1.14:8089 weight=1; #权重越大分配的几率就越大
            #server 10.0.1.12:8086 weight=10; 
        }
    
        server {
            #监听端口
            listen       8086;
            
            #域名可以有多个,用空格隔开
            server_name  10.0.1.14;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                #root   html;
                #index  index.html index.htm;
                proxy_set_header Host $host:$server_port; #nginx服务器进行地址转发默认是80端口,代码上获取不到请求的端口8086,如有需要因此需要设置请求头为请求的端口
                #proxy_set_header X-Real-IP $remote_addr;
                #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://10.0.1.14;
                proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
                proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
                proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
            }
    
            #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;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ .php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ .php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /.ht {
            #    deny  all;
            #}
        }
    
    
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    
        # HTTPS server
        #
        #server {
        #    listen       443 ssl;
        #    server_name  localhost;
    
        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;
    
        #    ssl_session_cache    shared:SSL:1m;
        #    ssl_session_timeout  5m;
    
        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers  on;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    }
    本人参与过一个CMS的系统开发,市区内各学校都用这套系统,根据各校的域名访问系统得到对应的新闻等,以一台服务器的nginx的配置为例(注:将域名换成了ip,每个端口对应一个学校)
      1 #user  nobody;
      2 worker_processes  8;
      3 
      4 #error_log  logs/error.log;
      5 #error_log  logs/error.log  notice;
      6 #error_log  logs/error.log  info;
      7 
      8 #pid        logs/nginx.pid;
      9 
     10 
     11 events {
     12     worker_connections  1024;
     13 }
     14 
     15 
     16 http {
     17     include       mime.types;
     18     default_type  application/octet-stream;
     19 
     20     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
     21     #                  '$status $body_bytes_sent "$http_referer" '
     22     #                  '"$http_user_agent" "$http_x_forwarded_for"';
     23 
     24     #access_log  logs/access.log  main;
     25 
     26     sendfile        on;
     27     #tcp_nopush     on;
     28 
     29     #keepalive_timeout  0;
     30     keepalive_timeout  65;
     31 
     32     #gzip  on;
     33 
     34 
     35     upstream 192.168.100.214 { #服务器集群
     36         #会让相同的客户端ip请求相同的服务器。
     37         ip_hash;
     38         server 192.168.100.214:8081;
     39         server 192.168.100.214:8082; #weight权重越大分配的几率就越大
     40         server 192.168.100.214:8083; 
     41     }
     42     
     43     server {
     44         listen       18081;
     45         server_name  192.168.100.214;
     46 
     47         #charset koi8-r;
     48 
     49         #access_log  logs/host.access.log  main;
     50 
     51         location / {
     52             root   html;
     53             index  index.html index.htm;
     54             proxy_pass http://192.168.100.214; 
     55             proxy_set_header Host $host:$server_port;
     56             proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
     57             proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
     58             proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
     59         }
     60     }
     61     
     62     server {
     63         listen       18082;
     64         server_name  192.168.100.214;
     65         location / {
     66             proxy_pass http://192.168.100.214;
     67             proxy_set_header Host $host:$server_port;            
     68             proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
     69             proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
     70             proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
     71         }
     72         error_page   500 502 503 504  /50x.html; 
     73     }
     74     
     75     server {
     76         listen       18083;
     77         server_name  192.168.100.214;
     78         location / {
     79             proxy_pass http://192.168.100.214;
     80             proxy_set_header Host $host:$server_port;            
     81             proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
     82             proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
     83             proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
     84         }
     85         error_page   500 502 503 504  /50x.html; 
     86     }
     87     
     88     server {
     89         listen       18084;
     90         server_name  192.168.100.214;
     91         location / {
     92             proxy_pass http://192.168.100.214;
     93             proxy_set_header Host $host:$server_port;            
     94             proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
     95             proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
     96             proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
     97         }
     98         error_page   500 502 503 504  /50x.html; 
     99     }
    100 
    101     server {
    102         listen       18085;
    103         server_name  192.168.100.214;
    104         location / {
    105             proxy_pass http://192.168.100.214;
    106             proxy_set_header Host $host:$server_port;            
    107             proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
    108             proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
    109             proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
    110         }
    111         error_page   500 502 503 504  /50x.html; 
    112     }
    113     
    114     server {
    115         listen       18086;
    116         server_name  192.168.100.214;
    117         location / {
    118             proxy_pass http://192.168.100.214;
    119             proxy_set_header Host $host:$server_port;            
    120             proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
    121             proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
    122             proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
    123         }
    124         error_page   500 502 503 504  /50x.html; 
    125     }
    126     
    127     server {
    128         listen       18087;
    129         server_name  192.168.100.214;
    130         location / {
    131             proxy_pass http://192.168.100.214;
    132             proxy_set_header Host $host:$server_port;            
    133             proxy_connect_timeout 6;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
    134             proxy_read_timeout 60; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
    135             proxy_send_timeout 60; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
    136         }
    137         error_page   500 502 503 504  /50x.html; 
    138     }
    }




  • 相关阅读:
    年轻人的第一个 Spring Boot 应用,太爽了!
    面试问我 Java 逃逸分析,瞬间被秒杀了。。
    Spring Boot 配置文件 bootstrap vs application 到底有什么区别?
    坑爹的 Java 可变参数,把我整得够惨。。
    6月来了,Java还是第一!
    Eclipse 最常用的 10 组快捷键,个个牛逼!
    Spring Cloud Eureka 自我保护机制实战分析
    今天是 Java 诞生日,Java 24 岁了!
    厉害了,Dubbo 正式毕业!
    Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!
  • 原文地址:https://www.cnblogs.com/w-wu/p/12156496.html
Copyright © 2011-2022 走看看