Nginx端口监听(listen指令)

Nginx/Web服务器
727
0
0
2022-03-22
标签   Nginx基础

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为保持连接时,开启状态检测功能
   }
}