热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx配置指令详解:端口监听

本文详细介绍了Nginx中用于端口监听的核心配置指令,包括其基本用法和高级选项。

本文将深入探讨 Nginx 中用于配置端口监听的关键指令,帮助读者理解如何有效地管理和优化服务器的网络请求处理能力。以下是关于 Nginx 端口监听指令的基本信息和高级配置选项。

项目描述
指令名称listen
作用范围server
默认配置listen *:80 或 *:8000
功能说明用于配置服务监听的端口、绑定的 IP 地址以及监听模式。

Nginx 使用 listen 指令来监听网络请求,支持 IP 协议和 UNIX 域套接字两种形式。如果未指定 listen 指令,Nginx 将根据运行权限自动选择监听 80 或 8000 端口。

listen 指令不仅支持基本的端口监听,还提供了一系列参数来细化监听行为,具体参数及说明如下:

参数默认值说明
address指定绑定监听的 IP 地址或主机名(对于 UNIX 域套接字,指定 sock 文件路径)。
port80指定监听的端口号。
bindaddress:port明确指定 IP 地址和端口的组合。
ipv6onlyon控制是否仅接受 IPv6 连接或同时接受 IPv6 和 IPv4 连接。
default_server在多个虚拟主机配置中,指定默认的服务实例,用于处理未匹配到特定主机名的请求。
http2启用 HTTP/2 协议支持。
spdy启用 SPDY 协议支持,与 HTTP/2 互斥。
ssl启用 SSL/TLS 加密支持。
proxy_protocol启用代理协议支持。
fastopennumber设置 TCP Fast Open 功能的最大队列数,减少建立连接的延迟。
deferred延迟 TCP 连接的建立过程,直到接收到客户端的数据。
reuseport允许多个工作进程独立监听同一个 IP 和端口,提高连接处理效率。
so_keepaliveoff启用 TCP Keep-Alive 机制,保持连接活跃状态。
backlog-1/511设置阻塞状态下挂起连接队列的最大长度。
rcvbuf设置接收缓冲区的大小,适用于大流量接收场景。
sndbuf设置发送缓冲区的大小,适用于大流量发送场景。
setfibnumber在 FreeBSD 上设置监听套接字关联的路由表。
accept_filterfilter在 FreeBSD 和 NetBSD 5.0+ 上设置监听套接字的过滤器。

下面是一些具体的配置示例:

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; # 同上
listen localhost:8000; # 监听localhost的8000端口
listen [::]:8000; # 监听IPv6的8000端口
listen [::1]; # 监听IPv6回环地址的默认80端口(需root权限)
listen unix:/var/run/nginx.sock; # 监听UNIX域套接字文件

listen *:8000
default_server
fastopen=30
deferred
reuseport
backlog=1024
so_keepalive=on; # 综合使用多个参数
}
}

推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
author-avatar
王文波玉龙_946
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有