Nginx.conf详解

一、nginx.conf详解

#运行用户                                                                                                                       
user nginx;                                                                                                                 
#启动进程,通常设置成和cpu的数量相等                                                                                                        
worker_processes  1;                                                                                                        
                                                                                                                            
#全局错误日志及PID文件                                                                                                               
error_log  /var/log/nginx/error.log warn;                                                                                   
pid        /var/run/nginx.pid;                                                                                              
                                                                                                                            
#工作模式及连接数上限                                                                                                                 
events {                                                                                                                    
    use   epoll;               #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能                       
    worker_connections  1024;  #单个后台worker process进程的最大并发链接数                                                                
    #multi_accept on;                                                                                                       
}                                                                                                                           
                                                                                                                            
#设定http服务器,利用它的反向代理功能提供负载均衡支持                                                                                               
http {                                                                                                                      
    #设定mime类型,类型由mime.type文件定义                                                                                              
    include       /etc/nginx/mime.types;                                                                                    
    default_type  application/octet-stream;                                                                                 
    #设定日志格式                                                                                                                 
    access_log    /var/log/nginx/access.log;                                                                                
                                                                                                                            
    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,                                                        
    #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.                                                     
    sendfile        on;                                                                                                     
    #tcp_nopush     on;                                                                                                     
                                                                                                                            
    #连接超时时间                                                                                                                 
    #keepalive_timeout  0;                                                                                                  
    keepalive_timeout  65;                                                                                                  
    tcp_nodelay        on;                                                                                                  
                                                                                                                            
    #设定请求缓冲                                                                                                                 
  proxy_connect_timeout 5;                                                                                                
  proxy_read_timeout 60;                                                                                                  
  proxy_send_timeout 5;                                                                                                   
  proxy_buffer_size 16k;                                                                                                  
  proxy_buffers 4 64k;                                                                                                    
  proxy_busy_buffers_size 128k;                                                                                           
  proxy_temp_file_write_size 128k;                                                                                        
  server_names_hash_bucket_size  128;                                                                                     
  client_header_buffer_size  32k;                                                                                         
  large_client_header_buffers  4  32K;                                                                                    
  client_max_body_size 8m;                                                                                                
  client_body_buffer_size 512k;                                                                                           
                                                                                                                            
                                                                                                                            
                                                                                                                            
    #开启gzip压缩                                                                                                               
    gzip  on;                                                                                                               
    gzip_disable "MSIE [1-6].(?!.*SV1)";                                                                                   
    gzip_min_length 1k;                                                                                                     
  gzip_buffers 4  16k;                                                                                                    
  gzip_http_version 1.1;                                                                                                  
  gzip_comp_level 2;                                                                                                      
  gzip_types text/plain application/x-javascript text/css application/xml;                                                
  gzip_vary  on;                                                                                                         
                                                                                                                          
                                                                                                                          
  include /etc/nginx/conf.d/*.conf;                                                                                       
    include /etc/nginx/sites-enabled/*;                                                                                     
                                                                                                                            
    #设定负载均衡的服务器列表                                                                                                           
    #upstream mysvr {                                                                                                       
    #weigth参数表示权值,权值越高被分配到的几率越大                                                                                             
    #本机上的Squid开启3128端口                                                                                                      
    #server 192.168.8.1:3128 weight=5;                                                                                      
    #server 192.168.8.2:80  weight=1;                                                                                       
    #server 192.168.8.3:80  weight=6;                                                                                       
    #}                                                                                                                      
    upstream tomcat_server {                                                                                                
     server 127.0.0.1:8080;                                                                                               
    }                                                                                                                       
                                                                                                                            
                                                                                                                            
   server {                                                                                                                 
        #侦听80端口                                                                                                             
        listen       80;                                                                                                    
        #定义使用www.xx.com访问                                                                                                   
        server_name  127.0.0.1;                                                                                             
                                                                                                                            
        #设定本虚拟主机的访问日志                                                                                                       
        access_log  logs/www.xx.com.access.log  main;                                                                       
                                                                                                                            
        #默认请求                                                                                                               
      location / {                                                                                                        
            root   /www;      #定义服务器的默认网站根目录位置                                                                            
            index  index.html index.htm index.jsp default.jsp index.do default.do index.php default.php; #定义首页索引文件的名称     
            fastcgi_pass  127.0.0.1;                                                                                      
            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;                                          
            include /etc/nginx/fastcgi_params;                                                                            
      }                                                                                                                   
                                                                                                                            
    #tomcat add start<<                                                                                                 
    if (-d $request_filename)                                                                                           
    {                                                                                                                   
       rewrite ^/(.*)([^/])$http://$host/$1$2/ permanent;                                                              
    }                                                                                                                   
                                                                                                                        
    #jsp请求处理                                                                                                            
    location ~ .(jsp|jspx|do)?$ {                                                                                      
      proxy_set_header Host $host;                                                                                    
      proxy_set_header X-Forwarded-For $remote_addr;                                                                  
      proxy_pass http://tomcat_server;                                                                                
    }                                                                                                                   
    #tomcat add end>>                                                                                                   
                                                                                                                            
      # 定义错误提示页面                                                                                                          
      error_page  404              /404.html;                                                                             
        location = /404.html {                                                                                              
           root   /www;                                                                                                     
        }                                                                                                                   
      error_page   500 502 503 504 /50x.html;                                                                             
          location = /50x.html {                                                                                          
          root   /www;                                                                                                    
      }                                                                                                                   
                                                                                                                            
      #静态文件,nginx自己处理                                                                                                     
      location ~ ^/(images|javascript|js|css|flash|media|static)/ {                                                       
          root /var/www/virtual/htdocs;                                                                                   
          #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。                                                                     
          expires 30d;                                                                                                    
      }                                                                                                                   
                                                                                                                          
      #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.                                                                            
      location ~ .php$ {                                                                                                 
          root /root;                                                                                                     
          fastcgi_pass 127.0.0.1:9000;                                                                                    
          fastcgi_index index.php;                                                                                        
          fastcgi_param SCRIPT_FILENAME /usr/local/apache2/htdocs$fastcgi_script_name;                                    
          include fastcgi_params;                                                                                         
      }                                                                                                                   
                                                                                                                          
      #设定查看Nginx状态的地址                                                                                                     
      location /NginxStatus {                                                                                             
          stub_status            on;                                                                                      
          access_log              on;                                                                                     
          auth_basic              "NginxStatus";                                                                          
          auth_basic_user_file  conf/htpasswd;                                                                            
      }                                                                                                                   
                                                                                                                          
      #禁止访问 .htxxx 文件                                                                                                     
      location ~ /.ht {                                                                                                  
          deny all;                                                                                                       
      }                                                                                                                   
  }#server config end                                                                                                     
}#http config end   

二、能够运行jsp和php的nginx配置文件

user  nginx;                                                                            
worker_processes  1;                                                                    
                                                                                        
error_log  /var/log/nginx/error.log warn;                                               
pid        /var/run/nginx.pid;                                                          
                                                                                        
                                                                                        
events {                                                                                
    worker_connections  1024;                                                           
}                                                                                       
                                                                                        
                                                                                        
http {                                                                                  
    include       /etc/nginx/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  /var/log/nginx/access.log  main;                                        
                                                                                        
    #new 1  start---------------                                                        
    server_names_hash_bucket_size  128;                                                 
    client_header_buffer_size  32k;                                                     
    large_client_header_buffers  4  32K;                                                
    client_max_body_size 8m;                                                            
    #new 1 end -----------                                                              
                                                                                        
                                                                                        
    sendfile        on;                                                                 
    #tcp_nopush     on;                                                                 
                                                                                        
    keepalive_timeout  65;                                                              
                                                                                        
    #tomcat add start<<                                                                 
    tcp_nodelay on;                                                                     
    client_body_buffer_size 512k;                                                       
    proxy_connect_timeout 5;                                                            
    proxy_read_timeout 60;                                                              
    proxy_send_timeout 5;                                                               
    proxy_buffer_size 16k;                                                              
    proxy_buffers 4 64k;                                                                
    proxy_busy_buffers_size 128k;                                                       
    proxy_temp_file_write_size 128k;                                                    
    #tomcat add end>>                                                                   
                                                                                        
                                                                                        
                                                                                        
    gzip  on;                                                                           
    #news2 start  --                                                                    
    gzip_min_length 1k;                                                                 
    gzip_buffers 4  16k;                                                                
    gzip_http_version 1.1;                                                              
    gzip_comp_level 2;                                                                  
    gzip_types text/plain application/x-javascript text/css application/xml;            
    gzip_vary  on;                                                                      
    #tomcat add start<<                                                                 
                                                                                        
    upstream tomcat_server {                                                            
        server 127.0.0.1:8080;                                                          
    }                                                                                   
    #tomcat add end>>                                                                   
                                                                                        
    server {                                                                            
        listen       80;                                                                
        server_name  _;                                                                 
        #charset koi8-r;                                                                
        #access_log  logs/host.access.log  main;                                        
        location / {                                                                    
            root   /www;                                                                
            index  index.html index.htm index.jsp default.jsp index.do default.do index.
        }                                                                               
        #tomcat add start<<                                                             
                                                                                        
        if (-d $request_filename)                                                       
        {                                                                               
             rewrite ^/(.*)([^/])$http://$host/$1$2/ permanent;                         
        }                                                                               
        location ~ .(jsp|jspx|do)?$ {                                                  
              proxy_set_header Host $host;                                              
              proxy_set_header X-Forwarded-For $remote_addr;                            
              proxy_pass http://tomcat_server;                                          
        }                                                                               
        #tomcat add end>>                                                               
                                                                                        
        error_page  404              /404.html;                                         
        location = /404.html {                                                          
           root   /www;                                                                 
        }                                                                               
        # redirect server error pages to the static page /50x.html                      
        #                                                                               
        error_page   500 502 503 504  /50x.html;                                        
        location = /50x.html {                                                          
              root   /www;                                                              
        }                                                                               
        # 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            /www;                                                       
            fastcgi_pass   127.0.0.1:9000;                                              
            fastcgi_index  index.php;                                                   
            fastcgi_param  SCRIPT_FILENAME  /www$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;                                                                 
        #}                                                                              
    }                                                                                   
    # Load config files from the /etc/nginx/conf.d directory                            
                                                                                        
                                                                                        
    #news 2 -----------                                                                 
    include /etc/nginx/conf.d/*.conf;                                                   
}                                                 

原文地址:https://www.cnblogs.com/zr-hh199610/p/8708524.html