匿名
未登录
创建账号
登录
DNS-WIKI
搜索
查看“Nginx 端口监听(listen指令)”的源代码
来自DNS-WIKI
命名空间
页面
讨论
更多
更多
页面操作
阅读
查看源代码
历史
←
Nginx 端口监听(listen指令)
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
= Nginx 端口监听(listen指令) = 本节主要来介绍 Nginx 中与端口监听有关的配置指令,下表为端口监听指令及其相关说明。 ---- {| class="wikitable" !名称 !端口监听指令 |- |指令 |listen |- |作用域 |server |- |默认值 |listen*:80 或 *:8000 |- |指令说明 |服务监听端口、绑定 IP、监听方式的配置 |} Nginx 服务通过 listen 指令的指令值监听网络请求,可以是 IP 协议的形式,也可以是 UNIX 域套接字。如果不设置 listen 指令,Nginx 在以超级用户运行时则监听 80 端口,以非超级用户运行时则监听 8000 端口。 listen 指令的指令值还针对监听方式提供了丰富的参数,如下表所示。 {| class="wikitable" !参数 !默认值 !参数说明 |- |address | -- |若为 IP 协议,该参数值为指定绑定监听端口的 IP 或主机名;若为 UNIX 域套接字,则该参数值为 sock 文件路径 |- |port |80 |IP 协议监听的端口 |- |bind |address:port |指定 IP 及端口 |- |ipv6only |on |只接收 IPv6 连接或接收 IPv6 和 IPv4 连接 |- |default_server | -- |当 http 指令域中包含多个虚拟主机时,该参数用于指定哪个虚拟主机是默认服务,默认将第一个顺序的 server 设为默认服务。默认服务可以用来处理没有 server_name 匹配成功的请求 |- |http2 | -- |HTTP/2 协议支持 |- |spdy | -- |SDPY 协议支持,与 HTTP/2 协议不能同时存在 |- |ssl | -- |SSL 支持 |- |proxy_protocol | -- |在指定监听端口上启用 proxy_protocol 协议支持 |- |fastopen |number |HTTP 处于保持连接(keepalive)状态时,允许不经过三次握手的 TCP 连接的队列的最大数 |- |deferred | -- |添加该参数后,在 TCP 三次握手的过程中,检测到客户端有数据时才将 TCP 状态置为 ESTABLISHED 状态,没有数据则直接丢弃 |- |reuseport | -- |默认情况下,所有的工作进程会共享一个 socket 去监听同一 IP 和端口的组合。该参数启用后,允许每个工作进程有独立的 socket 去监听同一 IP 和端口的组合,内核会对传人的连接进行负载均衡。适用于 Linux 3.9+,DragonFly BSD 和 FreeBSD 12+ |- |so_keepalive |off |配置是否在监听的端口启用"TCP keepalive"机制。当设置为 on 时,默认等同于 so_keepalive=30m::10,表示 30 分钟无数据传输时发送探测包,发送 10 次,发送间隔使用系统内核参数 tcp_keepalive_intvl 的设定值 |- |backlog | -1/511 |当阻塞时,设置挂起连接队列的最大长度,在 FreeBSD,DragonFly BSD 和 MacOS 操作系统上,默认值为 -1,其他平台上值为 511 |- |rcvbuf | -- |socket 接收缓冲的大小,默认为 8k 字节,在接收数据比较大的场景中可以适当调整 |- |sndbuf | -- |socket 发送缓冲的大小,默认为 8k 字节,在发送数据较大的场景中可以适当调整 |- |setfib |number |为监听套接字设置关联路由表,仅在 FreeBSD 系统上有效 |- |accept_filter |filter |为监听套接字设置过滤器,仅支持 FreeBSD 和 NetBSD 5.0+ 系统 |} 配置样例如下: http { server { listen 127.0.0.1:8000; # 监听127.0.0.1的8000端口 listen 127.0.0.1; # 监听127.0.0.1的默认80端口(root权限) listen 8000; # 监听本机所有IP的8000端口 listen *:8000; # 监听本机所有IP的8000端口 listen localhost:8000; # 监听locahost的8000端口 listen [::]:8000; # 监听IPv6的8000端口 listen [::1]; # 监听IPv6的回环IP的默认80端口(root权限) listen unix:/var/run/nginx.sock; # 监听域套接字文件 listen *:8000 \ # 监听本机的8000端口 default_server \ # 当前服务是http指令域的主服务 fastopen=30 \ # 开启fastopen功能并限定最大队列数为30 deferred \ # 拒绝空数据连接 reuseport \ # 工作进程共享socket这个监听端口 backlog=1024 \ # 请求阻塞时挂起队列数是1024个 so_keepalive=on; # 当socket为保持连接时,开启状态检测功能 } }
返回
Nginx 端口监听(listen指令)
。
导航
导航
首页
最近更改
随机页面
Wiki语法帮助
MediaWiki帮助
DNS技术| DNS技术
DNS软件| DNS软件
自定义一级导航1
自定义二级级导航1
自定义二级级导航2
自定义一级导航2
自定义二级级导航1
自定义二级级导航2
联系我 - Connect Me
QQ:778137
Email:778137@qq.com
wiki工具
wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志