Nginx 服务通过 listen 指令的指令值监听网络请求,可以是 IP 协议的形式,也可以是 UNIX 域套接字。如果不设置 listen 指令,Nginx 在以超级用户运行时则监听 80 端口,以非超级用户运行时则监听 8000 端口。
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为保持连接时,开启状态检测功能
}
}