虚拟主机和请求分发
- 多个域名对应同一ip时,配置多个server虚拟主机,对应多个域名,server_name对应用户请求的域名
监听端口
- 默认: listen 80;
- 配置块: server
可以加ip、端口、主机名
|
|
parameters | 定义 |
---|---|
default/default_server | 默认server块,不设置就默认第一个server,当请求没能匹配到主机域名时,就选择默认 |
backlog=num | tcp中的backlog队列大小。默认-1,不设置。存放等待建立tcp三次握手连接 |
rcvbuf=size | 监听句柄的SO_RCVBUF |
sndbuf=size | 监听句柄的SO_SNDBUF |
accpet_filter | 设置accept过滤器,只对FreeBSD |
deferred | 只有用户发送请求数据,内核在网卡中收到请求数据包,内核才会唤醒worker进程处理,适用于大并发情况,一般不建议使用 |
bind | 绑定当前端口/地址对,如127.0.0.1:8000.只有同时对一个端口监听多个地址时有效 |
ssl | 监听的端口连接必须基于ssl |
主机域名
- 语法: server——name name[…];可以跟多个主机名
- 默认: server_name “”; 匹配没有Host的http请求
- 配置块: server
当header的host和多个server匹配,则按匹配优先级
- 字符串完全匹配 www.test.com
- 通配符在前面的 *.test.com
- 通配符在后面的 www.test. *
- 使用正则的
都不匹配就选默认的
location
- 语法: location [=|~|~*|^~|@]
- 默认: server_name “”; 匹配没有Host的http请求
- 配置块: server