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里面很重要的一环,就将它单独拿出来分析,参考了网上的解析,综合起来供自己和大家观看。】

原文地址:https://www.cnblogs.com/kwblog/p/13656461.html