http模組相關指令
1 alias [file|dirpath]
語法:alias [file|dirpath]
預設值:no
使用環境:location
作用:用於在url和檔案系統路徑之間實現對映,跟root類似,但是網頁檔案的根路徑不會改變只是改變請求url的檔案系統路徑
eg: location /i/
訪問 /i/top.png 會返回檔案 /spool/w3/images/top.png在含有正則的location中不能使用alias
可以使用root和rewrite的組合來實現
2 error_page
語法:error_page code [code ...] [=answer-code] uri
預設值:no
使用環境:location http server if
作用:用於設定如果出現指定的狀態碼,返回指定的uri頁面
還可以更改返回的狀態碼
eg: error_page 400 =200 /error.html 遇到400的響應會返回error頁面,且響應碼為200
3 if_modified_since
語法:if_modified_since [off|exact|before]
預設值:if_modified_since exact
使用環境:location http server
作用:if_modified_since是瀏覽器傳送的server的header資訊。當再次請求本地快取頁面時,brower會先用if_modified_since將nginx server先前傳送過來的last-modify的時間戳傳送回去驗證,通過這個時間戳驗證brower的快取是不是最新的,如果是,返回304否返回新的內容,這樣可以減少網路傳輸,加快響應,也減輕server的負擔
off不檢查
exact時間完全符合
before檔案修改時間應該早於if-modified-since請求頭中的時間
4 index
語法:index file [file ...]
預設值:index index.html
使用環境:location http server
作用:用來設定nginx訪問的預設首頁檔案
autoindex on; //設定顯示目錄
5 keepalive_timeout
語法:keepalive_timeout [time]
預設值:keepalive_timeout 100
使用環境:location http server
作用:使客戶端的連線長期有效,當出現對伺服器的後期請求時,可以避免反覆的建立連線,大部分伺服器都支援,但對於負載較重的**還有乙個問題就是,雖然為客戶端保持連線有一定好處,但暫停期間本來可以釋放的資源仍在占用,當web伺服器和應用伺服器在同一臺機器上執行時,它對資源利用的影響更加明顯
6 keepalive_requests
語法:keepalive_requests num
預設值:keepalive_requests 100
使用環境:location http server
作用:設定乙個keep-alive可以使用的次數,一次請求結束後,若該連線使用的次數未達到n,不會主動斷開連線,直到keepalive_timeout設定的實際才斷開連線
7 large_client_header_buffers
語法:large_client_header_buffers num size
預設值:large_client_header_buffers 4 4k/8k;
使用環境:http server
作用:用於設定client請求的header頭緩衝區的大小,預設4k客戶端請求行大小不能超過該值,否則會報錯
8 limit_rate
語法:limit_rate speed
預設值:no
使用環境:http server location if
8 limit_rate_after
語法:limit_rate_after size
預設值:limit_rate_after 1m
使用環境:http server location if
9 listen
語法:listen addr:port [default[backlog=num |rcvbuf=size|sendbuf=size|accept_filter=filter|deffered|bind|ssl]]
預設值:limit_rate_after 1m
使用環境:server
作用:設定主機監聽的ip和埠,只寫ip,埠預設80
eg: listen 127.0.0.1:8000
listen 127.0.0.1
listen *:8000
監聽ipv6例項:listen [::]:8000
設定支援http和https
listen 80;
listen 443 default ssl;
10 location
語法:location [=|~|~*|^~] /uri/
預設值:no
使用環境:server
作用:允許不同的url型別進行不同的設定,可以使用字串或者正則,使用正則必須使用下邊的字首
1)~表示區分大小寫的匹配
2)~*表示不區分大小寫的匹配
在匹配的過程中,nginx將最先匹配字串,然後匹配正規表示式,匹配到第乙個正規表示式後會停止搜尋,若匹配到正規表示式,則使用正則搜尋的結果,否則使用字串匹配的結果
可以使用^~來禁止匹配到字串後再去檢查正規表示式,匹配到uri後將停止查詢
使用=表示精準匹配,若找到匹配uri停止查詢,eg location =/ 只能匹配到/而/test.html則不能被匹配,eg:
匹配結果示例:
/ -> conf a
/test/test.html -> conf b
/images/1.gif -> conf c
/test/img/1.png -> conf d
11 root
語法:root path
預設值:root html
使用環境:server http location if
作用:主要用來指定請求的文件根目錄
12 server
語法:server
預設值:no
使用環境:http
作用:用於配置虛擬主機,使用listen表示監聽的埠 使用server_name來設定虛擬主機的名稱
處理的優先順序:1)全名 2)萬用字元開頭的*.com 3)萬用字元結尾的test.* 4)使用正則的
13 server_tokens
語法:server_tokens on | off
預設值:no
使用環境:http server location
作用:控制是否在錯誤頁面或者伺服器header頭顯示nginx版本號給客戶端
http access模組
提供基於host名稱的訪問限制 eg:
location /
allow指令指定允許訪問的ip,deny指定禁止某些ip訪問某些vhost
nginx相關指令及使用(三)
http auth basic模組 採用基於http基本身份驗證的使用者名稱和密碼登入方式,來保護虛擬主機或者目錄 location htppasswd檔案的格式如下 user1 pass1 user2 pass2 comment user3 pass3 http的autoindex模組 提供顯示目...
nginx相關指令及使用(四)
http mamcached模組 eg,若使用者訪問 cache 開頭的uri,則讀取以uri為key的memcache快取記憶體顯示給使用者 若key不存在,重定向到 write memcached.php檔案給程式往mem寫快取,快取時間120s location cache location ...
nginx常用操作指令及配置說明
最近在做專案的時候用到了nginx,剛開始一頭霧水,踩了一天坑。在網上找了一些資料,這裡做下記錄。nginx常用指令 nginx s quit 優雅停止nginx,有連線時會等連線請求完成再殺死worker程序 nginx s reload 優雅重啟,並重新載入配置檔案nginx.conf ngin...