Nginx端口监听(listen指令)详细说明以及案例
Nginx的listen
指令用于指定服务器监听的IP地址和端口。以下是详细说明和案例:
语法
- listen address[:port] [default_server] [ssl] [http2] [spdy] [proxy_protocol] [setfib=number] [fastopen=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];
参数说明
address
: 监听的IP地址,可以是IPv4或IPv6地址。如果省略,则监听所有可用IP地址。port
: 监听的端口号。如果省略,默认使用80端口(HTTP)或443端口(HTTPS)。default_server
: 指定该服务器块为默认服务器,处理未匹配到其他服务器块的请求。ssl
: 启用SSL/TLS加密。http2
: 启用HTTP/2协议。proxy_protocol
: 启用PROXY协议支持。setfib
: 设置FIB(Forwarding Information Base)值。fastopen
: 启用TCP Fast Open。backlog
: 设置监听队列的最大长度。rcvbuf
: 设置接收缓冲区大小。sndbuf
: 设置发送缓冲区大小。accept_filter
: 设置accept过滤器。deferred
: 延迟accept操作。bind
: 绑定到指定IP地址。ipv6only
: 仅监听IPv6地址。reuseport
: 启用SO_REUSEPORT选项。so_keepalive
: 设置TCP keepalive参数。
案例
监听所有IP地址的80端口:
- listen 80;
监听特定IP地址的80端口:
- listen 192.168.1.100:80;
监听所有IP地址的443端口并启用SSL:
- listen 443 ssl;
监听IPv6地址的80端口:
- listen [::]:80;
监听所有IP地址的80端口并设置为默认服务器:
- listen 80 default_server;
监听所有IP地址的80端口并启用HTTP/2:
- listen 80 http2;
监听所有IP地址的80端口并启用TCP Fast Open:
- listen 80 fastopen=256;
监听所有IP地址的80端口并设置接收缓冲区大小为32KB:
- listen 80 rcvbuf=32k;
监听所有IP地址的80端口并启用SO_REUSEPORT:
- listen 80 reuseport;
监听所有IP地址的80端口并设置TCP keepalive参数:
- listen 80 so_keepalive=on;
这些案例展示了listen
指令的不同用法,可以根据实际需求进行配置。
本篇文章内容来源于:Nginx端口监听(listen指令)详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。