nginx配置文件

                                    nginx配置文件javascript

nginx配置文件,由4個部分組成css

一、mian(全局設置)該部分設置影響全局,在http外的內容即全局定義,設置會向下繼承,http會繼承main設置,並向下繼承html

二、server(主機設置) server部分指令用於指定主機和端口,server會繼承http的設置,並向下繼承java

三、location (url匹配特定位置的設置)匹配網頁位置,local會繼承server的設置nginx

四、upstream(負載均衡器設置,負載後端服務器),upstream不會繼承任何設置,也不會被繼承後端


user  nginx;
worker_processes  1;

events {
    worker_connections  2048;
}
#########################以上全局配置#########################################
#定義http相關
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"';
    sendfile        on;
    client_max_body_size 5000m;
    keepalive_timeout  65;
    gzip  on;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_min_length 1k;
    gzip_vary on;
    gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml applicatin/xml+rss;
    
    #upstream模塊,不會向下繼承,也不會繼承其餘配置
    upstream backend {
        server 47.102.12.x:8080 weight=1;
        server 47.102.11.x:8090 weight=1;
}
#server中爲主機的配置
server {
        charset utf-8;
        proxy_buffering on;
        proxy_buffer_size 8k;
        proxy_buffers 8 32k;
        
        #location匹配URL
        location / {
        proxy_pass http://backend;
        proxy_set_header Host       $host;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        error_page 500 501 502 503 504 404 400 /error.html;
                               }
               location = /error.html {
               root /opt/error/;
               }
                               
        location /html {
        root /opt/;
        index test.html;
        }
        
        location /ali/ {
        alias /opt/ali/;
        index ali.html;
        }

}
#虛擬主機
    include /usr/local/nginx/vhost/*.conf;
}


location中配置URL:緩存

 一、root 訪問時,root定義了/html的上層訪問路徑,實際路徑/opt/html/test.html,只需定義到/opt/便可。
  location /html {
    root /opt/;
    index test.html;
   }


二、alias 訪問時,alias定義了全路徑,實際路徑爲/opt/ali/ali.html,須要定義完整路徑。 
  location /ali/ {
   alias /opt/ali/;
   index ali.html;
   }


nginx中的正則匹配bash

~ 區分大小寫匹配服務器

~* 不區分大小寫匹配app

!~ 區分大小寫匹配失敗

!~* 不區分大小寫匹配失敗

^  以什麼開頭匹配

$  以什麼結尾匹配

*  任意字符


匹配到或者/*.ddd 或者/*.666時,從新引導一個http://ip/ok/ok.html的頁面給予訪問 
 location ~ .*\.(abc|ddd|666)$ {
   rewrite ^ http://$host/ok/ permanent;
   }
      
  location /ok{
  root /opt/;
  index ok.html;
  }


匹配到http://ip/123或者/789  或者/444 重定義一個返回碼500,能夠自定義爲404,503等
   location ~ .*\/(123|789|444) {
  return 500;
    }


當匹配錯誤的時候返回的錯誤頁面,error_page首先指定錯誤頁面的名字,location = /error.html 精確匹配了url路徑 
        location / {
        proxy_pass http://backend;
        proxy_set_header Host       $host;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        error_page 500 501 502 503 504 404 400 /error.html;
                               }
               location = /error.html {
               root /opt/error/;
               }
匹配到 或者 /*.png 或者/*.css 或者/*.js 緩存7天      
        location ~ .*\.(jpg|png|css|js) {
        expires 7d;
             }
相關文章
相關標籤/搜索