nginx之文件配置

nginx配置規則

nginx由受配置文件中指定的指令控制的模塊組成nginx

僞指令分爲簡單僞指令和塊僞指令正則表達式

簡單的指令由名稱和參數組成,這些名稱和參數之間用空格分隔,並以分號(;)結尾數組

塊指令的結構 與 簡單指令的結構相同,可是它以分號(而不是分號)結尾,並帶有一組用花括號({和})括起來的附加指令服務器

若是塊指令能夠在括號內包含其餘指令,則將其稱爲上下文(示例:事件,http,服務器和位置)。spa

放置在任何上下文外部的配置文件中的指令都被視爲在主上下文中。 事件和http指令位於主上下文中,服務器位於http中,而且位於服務器中。代理

井號(#)後面的全部內容屬於註釋。code

 

示例

簡單指令server

worker_processes  1;
user  nobody;

 

塊指令blog

events {
    worker_connections  1024;
}

 

提供靜態文件

提供靜態文件的含義即:設置查找文件的路徑,設置索引文件。索引

示例:

worker_processes  1;

events {
    worker_connections  1024;
}
http { server { location / { root /data/www
; } location /images/ { root /data; } } }

 

 

服務器塊講解以下:

  • server標識一個服務器塊,server必須包含在http代碼塊內;
  • server裏面能夠配置監聽、前綴等參數;
  • location標識匹配的前綴,location匹配有一個原則,最早匹配最長長度;如上例中有兩個前綴'/'與'/images/',
  • location前綴代碼塊中root參數標識匹配的路徑;
  • root參數既能夠放在server服務器塊中,也能夠放在location匹配路徑中;

 

簡單代理

示例:設置簡單的站點代理

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    server {
    location / {
       proxy_pass http://localhost:8080;
        }
    location /images/ {
        root /data;
        }
    }

    server {
    listen 8080;
    root /data/up1;
    
    location / {
        }
    }
}

 

服務器塊(代理)講解:

  • 在第一個 server 下的 location 代碼中加入 proxy_pass 參數,用來設定反向代理的URL;
  • 默認的server中若是沒有listen選項,則表示默認監聽80端口,不能夠在N個server中含有2個默認的listen;

 

正則表達式

示例:設置一個簡單的正則表達式進行文件匹配

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    server {
    location / {
       proxy_pass http://localhost:8080;
        }
    location ~ \.(gif|jpg|png)$ {
        root /data/images;
        }
    }

    server {
    listen 8080;
    root /data/up1;
    
    location / {
        }
    }
}

 

正則表達式講解:

  • 正則表達式應該以波浪符號(~)開頭,波浪符號後面有空格
  • 正則表達式小括號內表示要匹配的名稱,若是有多個名稱,用管道符(|)進行分隔
  • 正則表達式後面的目錄應該用的是反斜槓(\),而不是正斜槓(/)

 

設置FastCGI代理

相關文章
相關標籤/搜索