Nginx listen指令处理连接请求
listen指令
nginx作为一个高性能的HTTP服务器,网络的处理是其核心,了解网络的初始化有助于加深对nginx网络处理的了解。与网络有关的配置命令主要有两个:listen和sever_name。listen命令设置nginx监听地址,对于IP协议,这个地址就是address和port,对于UNIX域套接字协议,这个地址就是path,一条listen指令只能指定一个address或者port,address也可以是主机名。
一个请求进入Nginx在处理之前先要监听端口,使得Nginx与客户端建立TCP连接。监听端口的指令叫listen,是放在server配置下的,通过监听的端口或者地址。
Syntax: 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 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 unix:path [default_server] [ssl] [http2 | spdy] [proxy_protocol] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];
Default:
listen *:80 | *:8000;
Context: server
Listen语法主要有三类
第一类:监听地址加相应的端口,nginx所在的机器上面可能有多块网卡,包括内网网卡和外网网卡,可以通过选择地址,指定server块只处理向这个地址建立连接的请求。
第二类:也可以指定端口,这个好理解比如监听80,8080,443端口.
第三类:或者也可以监听uninx socket地址,这只能用于本机通信。通过address或者port是要走内核的网络栈的,而unix path是不需要的,所以用于本地通信性能会更加好。
listen unix:/var/run/nginx.sock; 监听unix socket地址
listen 127.0.0.1:8000; 因为nginx上面可能有多个地址 端口+地址来确定一个连接listen 127.0.0.1; 默认使用80端口
listen 8000; 监听8000端口但是没有指定地址
listen*:8000;
示例如下
[root@localhost ~]# ip a
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:33:e2:f0 brd ff:ff:ff:ff:ff:ffinet 192.168.179.101/24 brd 192.168.179.255 scope global ens32valid_lft forever preferred_lft foreverinet6 fe80::eb42:2f23:95cb:44b6/64 scope link valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:33:e2:fa brd ff:ff:ff:ff:ff:ffinet 192.168.179.141/24 brd 192.168.179.255 scope global dynamic ens34valid_lft 1329sec preferred_lft 1329secinet6 fe80::2c95:c457:14e:92ef/64 scope link valid_lft forever preferred_lft foreverlisten 8080;
[root@localhost ~]# netstat -tpln | grep 80
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1452/nginx: master --------------------------------------------------------------------------------------
listen *:8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1452/nginx: master -------------------------------------------------------------------------------------
listen 127.0.0.1:8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1452/nginx: master --------------------------------------------------------------------------------------
listen 8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 1452/nginx: master --------------------------------------------------------------------------------------
listen 192.168.179.141:8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp 0 0 192.168.179.141:8080 0.0.0.0:* LISTEN 1452/nginx: master [root@localhost ~]# curl -I 192.168.179.101:8080
curl: (7) Failed connect to 192.168.179.101:8080; Connection refused[root@localhost ~]# curl -I 192.168.179.141:8080
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Thu, 20 Aug 2020 02:47:33 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 23 Mar 2020 12:32:23 GMT
Connection: keep-alive
ETag: "5e78ac57-264"
Accept-Ranges: bytes----------------------------------------------------------------------------------------
listen 192.168.179.141;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp 0 0 192.168.179.141:80 0.0.0.0:* LISTEN 1452/nginx: master
Nginx listen指令处理连接请求相关推荐
- C语言 socket listen()函数(socket()函数创建的socket(套接字描述符)默认是一个主动类型的,listen函数将socket变为被动类型的,等待客户的连接请求)
摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程.在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被 ...
- nginx配置长连接
2019独角兽企业重金招聘Python工程师标准>>> http {keepalive_timeout 20; --长连接timeoutkeepalive_requests 8192 ...
- nginx websocket wss 连接失败 failed_Nginx 配置WSS 解析与实战
Nginx 配置WSS 解析与实战 1. 几个关键概念 1.1 WebSocket WebSocket 协议是 html5 的一种通信协议,该协议兼容我们常用的浏览器.例如:Chrome.Firefo ...
- nginx实现并发连接与IP流量限速功能
目录 参考 前言 limit_conn_zone 模块 配置 测试 测试小文件 测试大文件 总结 limit_request 模块 配置 测试 测试1 - 不加 burst 和 不加 nodelay ...
- nginx如何解决超长请求串
nginx是一个强大的http服务器,但是在使用过程中发现,当遇到超长的post请求或者get请求时,nginx会返回413.400.414等状态码,这是因为请求串长度超过了nginx默认的缓存大小或 ...
- Nginx配置跨域请求 Access-Control-Allow-Origin *
Nginx配置跨域请求 Access-Control-Allow-Origin * 当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is p ...
- Nginx查看并发连接
Nginx查看并发连接 通过界面查看 通过界面查看通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 --with-http_stub_status_module 然后 ...
- 摘要: Nginx 网络多并发请求的TCP网络参数做简单说明。
摘要: Nginx 网络多并发请求的TCP网络参数做简单说明. 需要修改/etc/sysctl.conf来更改内核参数 #原有字段 net.ipv4.tcp_syncookies = 1 #新增字段 ...
- C语言socket accept()函数(提取出所监听套接字的等待连接队列中第一个连接请求,创建一个新的套接字,并返回指向该套接字的文件描述符)
文章目录 名称 使用格式 功能参数描述 参数 sockfd addr addrlen 返回值 示例 man 2 文档中的accept解释 错误处理 名称 accept() 接收一个套接字中已建立的连接 ...
最新文章
- 在.net中运用HTMLParser解析网页的原理和方法
- Linux学习之Vi编辑器常用命令
- 条件格式英语成绩大于计算机,决胜计算机二级Ms office(三)
- Bitcoin 中的挖矿算法(6) 难度调整
- Shell(6)——if语句
- VueI18n的应用
- mysql 分库分表mycat部署
- logback为日志配置颜色
- Xpath轴与步长应用:取某节点下所有子孙节点里的文本内容
- Java线程并发与安全性问题详解
- Polar SI9000阻抗计算
- Spring框架常用注解
- 无线打印 airprint 服务器,怎么设置普通打印机也能airprint无线打印
- 手机APP神器大全,这些被堪称神器的APP你用过哪些!
- 界面设计基础之基本窗口
- Python实战——外星人入侵游戏
- 这篇文章来告诉你几个实用的视频转文字的方法
- SASS实现颜色卡动画
- 如何搭建nginx服务器?
- (修改gho文件办法)做属于自己个性的gho系统
热门文章
- 谁让博客挣了钱——看中国博客的新生
- awx,micaps,hdf,nc,radar,多普勒雷达,grib等各种数据解析,出图,计算等,有需要,欢迎联系.
- 浅谈国产智能手机的自主创新
- Android音频——音量调节
- 数据科学和机器学习中的优化理论与算法(上)
- CCF真题 ISBN号码 题解
- Nii图像的读取、操作与保存
- Babylongjs-高度图,天空盒,图片精灵及K帧动画
- Universal USB Installer – 免光驱将U盘打造成Windows、Linux系统安装盘
- 神奇粪菌移植技术挽救垂危妙龄女