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指令的不同用法,可以根据实际需求进行配置。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . 宝塔 | 西里网》 -- 发布时间:2025-03-29
本页链接:https://bt.ciilii.com/show/news-60.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
