nginx的詳細使用說明(下)
1.gzip_comp_levle
設置gzip壓縮等級,等級越底壓縮速度越快文件壓縮比越小,反之速度越慢文件壓縮比越大
param:1-9
example:gzip_com_level 1;
2.gzip_types
設置需要壓縮的MIME類型,非設置值不進行壓縮
param:text/html|application/x-javascript|text/css|application/xml
example:gzip_types text/html;
3.gzip_vary on
和http頭有關系,加個vary頭,給代理服務器用的,有的瀏覽器支持壓縮,有的不支持,所以避免浪費不支持的也壓縮,所以根據客戶端的HTTP頭來判斷,是否需要壓縮
4.gzip_proxied
Nginx作為反向代理的時候啟用,根據某些請求和應答來決定是否在對代理請求的應答啟用gzip壓縮,是否壓縮取決于請求頭中的“Via”字段,指令中可以同時指定多個不同的參數,意義如下:
expired - 啟用壓縮,如果header頭中包含 "Expires" 頭信息
no-cache - 啟用壓縮,如果header頭中包含 "Cache-Control:no-cache" 頭信息
no-store - 啟用壓縮,如果header頭中包含 "Cache-Control:no-store" 頭信息
private - 啟用壓縮,如果header頭中包含 "Cache-Control:private" 頭信息
no_last_modified - 啟用壓縮,如果header頭中不包含 "Last-Modified" 頭信息
no_etag - 啟用壓縮 ,如果header頭中不包含 "ETag" 頭信息
auth - 啟用壓縮 , 如果header頭中包含 "Authorization" 頭信息
any - 無條件啟用壓縮
5. gzip_disable的設置是禁用IE6的gzip壓縮,IE6對一些壓縮會造成崩潰(這個選項暫時用的少)
6.server_tokens off; 隱藏版本號
7.log_format
nginx服務器日志相關指令主要有兩條,一條是log_format,用來設置日志格式,另外一條是access_log(可以在server的配置里重新指定),用來指定日志文件的存放路徑、格式和緩存大小.
默認的格式:
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
對應的字段
表示客戶端的ip地址, $remote_addr
客戶端用戶名稱, $remote_user
訪問時間和時區 $time_local
請求的HTTP協議。 $request
訪問的狀態碼, $status
發送給客戶端的文件大小。 $body_bytes_sent
URL跳轉來源(如果有的話) $http_referer
用戶終端瀏覽器信息 $http_user_agent
經過的代理信息 $http_x_forwarder_for
Server的單機配置(反向代理需要進行一定設置,在nginx的部署里做說明)
1.listen 用來鎖定設置端口
2.Server_name 域名可以用正則nginx.*這種格式來匹配多個域名,一般我們是默認使用
www.nginx.com 這種做設置
3.index 默認訪問的首頁,沒有默認訪問的首頁,直接輸入ip或者網址的時候,是無法顯示的
4.Root 網站訪問的根目錄(類似我們的常常建站時候的一個網絡空間)
5.Include enable-php.conf 加載使用php的格式(在nginx的配置里,include就是加載某個指定目錄指定任務的配置)
6.Location 匹配的意思(匹配比較復雜) 這里僅僅做語法說明(在nginx的部署里會詳細說明)
7.location [=|~|~*|^~] /uri/ { … }
= 開頭表示精確匹配
^~ 開頭表示uri以某個常規字符串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格)
~ 開頭表示區分大小寫的正則匹配
~* 開頭表示不區分大小寫的正則匹配
!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配 的正則
摘抄匹配的樣本:
例子,有如下匹配規則:
location = / {精確匹配,必須是127.0.0.1/
#規則A
}
location = /login {精確匹配,必須是127.0.0.1/login
#規則B
}
location ^~ /static/ {非精確匹配,并且不區分大小寫,比如127.0.0.1/static/js.
#規則C
}
location ~ \.(gif|jpg|png|js|css)$ {區分大小寫,以gif,jpg,js結尾
#規則D
}
location ~* \.png$ {不區分大小寫,匹配.png結尾的
#規則E
}
location !~ \.xhtml$ {區分大小寫,匹配不已.xhtml結尾的
#規則F
}
location !~* \.xhtml$ {
#規則G
}
location / {什么都可以
#規則H
}