Nginx配置詳解


一.nginx配置文件結構圖


 

 

二.分塊釋義


 1.全局配置

 user [用戶名] [組名];

示例: user nginx1 nginx;

 worker_processes [工作進程數];

示例: worker_processes 4;  ---通常為cpu數量的1倍或2倍,可以設置成auto自動檢測

 error_log [存放路徑] [存放類型]

示例: error_log logs/error.log info;

 pid [存放路徑];

示例: pid logs/nginx.pid;

 include [文件路徑];

示例: include conf/nginx2.conf;

 

2.events配置

 use [I/O模型];

示例: use epoll;  ---模型包括epoll(linux常用),select,poll,kqueue(windows常用)等

 worker_connections [最大連接數];

示例: work_connections 1024;  ---表示每個work_process允許的最大連接數,默認512

 

3.http全局配置

 include [文件名];

 default_type [媒體類型];

示例: include mime.types;  ---前端請求的資源類型

   default_type application/octet-stream;

 server_tokens [on | off];

示例: server_tokens off;  ---顯示或隱藏nginx版本,建議隱藏

 access_log [服務日志路徑文件名] [格式,可選項]

示例:  access_log main;

 sendfile [on | off];

示例:  sendfile on;  ---是否使用sendfile方式傳輸文件,普通應用設置 on ,IO重負載應用設置 off 

 keepalive_timeout [超時時間];

示例:  keepalive_timeout 120;  ---server端連接的保持時間,默認75秒

 upstream [名稱] {

  server [ip地址]:[端口號];

  server [ip地址]:[端口號];

 }

示例:   upstream myServer {

      ip_hash;          ---負載均衡策略:1.輪詢(默認) 2.ip_hash(同一個客戶端保持發送同一個服務器) 3.least_conn(請求轉發給連接數較少的服務器)

      server 192.168.0.1:8081 weight=2;  ---當前權重設置為2,默認為1

      server 192.168.0.2:8081 backup; ---設置的狀態:1.down(當前的server不參與負載均衡) 2.max_fails(默認為1,表示最大失敗次數) 3.fail_timeout (在這個時間內max_faills次都失敗了,則被認為停機)4.backup(表示備用服務器)

    }                    ---要在server中增加proxy_pass http://myServer/;

 

4.server全局配置

 listen [ip:port | ip | port];

示例:   listen 8080;  ---配置監聽的ip地址,端口號

 keepalive_requests [數量];

示例:   keepalive_requests 100;  ---單連接請求上限次數

 server_name [域名,可用正則表達式]

示例: server_name www.cnblog.com  ---設置訪問域名

 

5.location配置

 location [ = | ~ | ~* | ^~ ] uri {......};    ---1.'=' 標准匹配 2.‘~’ 正則匹配,區分大小寫 3.‘~*’ 正則匹配,不區分大小寫 4.‘^~’ 找匹配度最高的uri

示例: location ~/testweb{...};

 proxy_pass [地址];

示例: proxy_pass http://myServer/;  ---設置被代理服務器的地址

 rewrite [正則表達式] [地址] [flag];

示例:rewrite ^ http://www.abc.com break;  ---重定向到http://www.abc.com,rewrite可以用於server{...},location{...},if{...}中;flag:last(匹配完繼續匹配),break(匹配完終止匹配),redirect(臨時重定向),permanent(永久重定向)

 root [路徑];

示例: root /data/images;  ---接收請求后查找的資源路徑

 proxy_set_header [變量名] [變量值];

示例: proxy_set_header  host $host;

    proxy_set_header  X-Real_IP $remote_addr;

    proxy_set_header  X-Forwarded-For &proxy_add_x_forwarded_for;  ---用來設定被代理服務器接收到的header信息

 

【nginx配置文件是nginx里面很重要的一環,就將它單獨拿出來分析,參考了網上的解析,綜合起來供自己和大家觀看。】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM