listen
指令是 Nginx 配置中用于指定服务器监听哪些 IP 地址和端口的指令。它是 server 块中的核心配置之一。
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]];
listen 80; # 监听所有IPv4地址的80端口
listen 443 ssl; # 监听所有IPv4地址的443端口并启用SSL
listen 192.168.1.100:80; # 只监听192.168.1.100的80端口
listen [::]:80; # 监听所有IPv6地址的80端口
listen [::1]:80; # 只监听IPv6本地回环地址
listen 80 default_server; # 将此server块设为80端口的默认服务器
listen 80 reuseport; # 启用SO_REUSEPORT套接字选项,提高性能
listen 80 deferred; # 使用延迟accept(),提高性能
listen 80 backlog=1024; # 设置连接队列的最大长度
server {
listen 80;
listen [::]:80;
server_name example.com;
# 其他配置...
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
# SSL配置...
}
server {
listen 192.168.1.100:8080 default_server;
server_name _;
# 默认服务器配置...
}
listen
指令,Nginx 默认会监听 *:80listen
指令可以同时使用default_server
参数用于指定当请求的 Host 头不匹配任何 server_name 时使用的默认服务器希望这些信息对你有帮助!如果你有更具体的需求或问题,请告诉我。