当前位置: 首页 > 技术教程

java为什么要安装jdk java安装jdk教程

  在服务器运维中,端口是服务与外部通信的 “门户”——Web 服务依赖 80/443 端口、远程连接依赖 22/3389 端口,端口异常会直接导致服务中断。很多运维人员常面临 “端口怎么看”“端口是否正常” 的困惑,本文将分 Linux、Windows 两大系统,详解端口查看命令与状态检测方法,助你快速定位端口问题,保障服务稳定运行。

  一、服务器端口怎么看?

  端口查看需根据服务器操作系统选择对应工具,Linux 依赖netstat“ss“lsof等命令,Windows 则通过netstat与图形界面结合,核心是获取 “端口号、占用进程、监听状态” 三大信息。

  (一)Linux 系统:3 类命令覆盖所有场景

  Linux 系统查看端口的命令各有侧重,ss命令高效轻量,lsof适合定位进程,netstat兼容性强,可按需选择:

  ss -tuln:快速查看所有监听端口

  命令解析:-t(显示 TCP 端口)、-u(显示 UDP 端口)、-l(仅展示 “监听中” 的端口)、-n(用数字显示 IP 和端口,不解析域名);

  实操示例:输入命令后,输出类似tcp LISTEN 0 128 *:22 *:*,表示 22 端口(SSH 服务)正监听所有 IP 的连接,*:22中 “*” 代表允许任意 IP 访问,若为127.0.0.1:8080则仅本地可访问。

  lsof -i :端口号:查看指定端口的占用进程

  若需确认某端口(如 8080)被哪个服务占用,用此命令精准定位:

  示例:输入lsof -i :8080,输出中 “COMMAND” 列显示进程名(如 “java”),“PID” 列显示进程 ID(如 1234),“USER” 列显示进程所属用户(如 “root”);

  注意:若提示 “command not found”,需先安装lsof工具(CentOS 用yum install lsof,Ubuntu 用apt install lsof)。

  netstat -tulnp:兼容旧系统,显示进程 ID

  命令解析:在ss命令基础上,-p参数可显示占用端口的进程 ID 和名称,适合无ss命令的旧 Linux 系统;

  实操:输入命令后,“PID/Program name” 列直接显示进程信息,如22/sshd表示 22 端口被sshd进程占用,可通过kill -9 PID终止异常进程。

  (二)Windows 系统:命令行 + 图形界面双选择

  Windows 用户可通过命令行快速查看,或用图形界面直观操作,适合不同技术基础的运维人员:

  netstat -ano:命令行查看所有端口与进程

  打开 “命令提示符”(Win+R 输入cmd),输入netstat -ano;

  命令解析:-a(显示所有连接和监听端口)、-n(数字显示 IP 和端口)、-o(显示占用端口的进程 ID);

  示例:输出TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 1234,表示 3389 端口(远程桌面)被 PID 为 1234 的进程占用。

  任务管理器:图形化定位进程

  若想知道 PID 对应的服务名称:

  打开任务管理器→切换到 “详细信息” 标签→找到 “PID” 列,匹配netstat命令中的 PID(如 1234),右侧 “名称” 列即为服务名(如 “TermService”,对应远程桌面服务);

  若进程异常,右键选择 “结束任务” 即可关闭占用端口的服务。

  资源监视器:可视化查看端口状态

  任务管理器→“性能” 标签→点击 “打开资源监视器”→切换到 “网络” 选项卡→“侦听端口” 栏,可直观看到所有端口的 “本地地址、远程地址、状态、进程名”,支持按端口号搜索(如输入 “80” 快速定位 HTTP 端口)。

360截图20250425224758032.jpg

  二、服务器端口怎么看是否正常?

  端口 “存在” 不代表 “正常”,需通过 “监听状态、连通性、服务关联” 三步检测,确认端口能正常接收和处理请求。

  (一)第一步:确认端口处于 “监听状态”

  端口状态分为 “LISTENING(监听中)”“ESTABLISHED(已连接)”“CLOSED(已关闭)”,仅 “LISTENING” 或 “ESTABLISHED” 表示端口正常:

  Linux:ss -tuln中 “STATE” 列显示 “LISTEN” 为正常监听;

  Windows:netstat -ano中 “状态” 列显示 “LISTENING” 或 “ESTABLISHED” 为正常,“CLOSED” 表示端口未启用,需检查对应服务是否启动(如 80 端口异常,需确认 Nginx/Apache 服务是否运行)。

  (二)第二步:测试端口连通性(本地 + 远程)

  端口监听正常后,需验证能否接收外部请求,分 “本地测试” 和 “远程测试”:

  本地测试:排除服务自身问题

  Linux:用telnet 127.0.0.1 端口号(如telnet 127.0.0.1 80),若显示 “Connected to 127.0.0.1” 表示本地连通;

  Windows:命令提示符输入telnet 127.0.0.1 8080,若窗口变为空白,说明本地连通(若提示 “无法打开连接”,需检查服务是否启动)。

  远程测试:排除网络与防火墙问题

  从另一台电脑测试目标服务器端口:

  Windows:PowerShell 输入Test-NetConnection 服务器IP -Port 端口号(如Test-NetConnection 192.168.1.100 -Port 22),显示 “TcpTestSucceeded : True” 表示远程连通;

  若远程不通,需检查服务器防火墙(Linux 用firewall-cmd --list-ports,Windows 查看 “Windows Defender 防火墙入站规则”),确认端口已开放。

  (三)第三步:关联端口与服务,确认服务正常

  端口正常需依赖对应服务运行,需确认端口与服务的关联关系:

  Linux:若 80 端口异常,输入systemctl status nginx(或apache2),确认服务处于 “active (running)” 状态;

  Windows:若 3389 端口异常,右键 “此电脑→管理→服务和应用程序→服务”,找到 “Remote Desktop Services”,确认 “状态” 为 “正在运行”,“启动类型” 为 “自动”。

  三、常见端口问题排查技巧

  端口被占用:终止异常进程

  若需启用的端口被其他进程占用(如 8080 端口被 Java 进程占用),Linux 用kill -9 PID(PID 通过lsof -i :8080获取),Windows 在任务管理器中结束对应进程。

  端口开放却不通:检查防火墙与安全组

  云服务器需在控制台安全组添加端口开放规则(如阿里云 ECS 安全组入站规则添加 “80 端口,允许所有 IP 访问”);本地服务器需在防火墙入站规则中启用对应端口(如 Windows 防火墙允许 “HTTP(80)”“SSH(22)”)。

  端口监听正常却无连接:检查服务配置

  若端口监听正常但无连接,需检查服务配置(如 Nginx 配置文件中 “listen” 字段是否为 “0.0.0.0:80”,而非 “127.0.0.1:80”,后者仅允许本地访问)。

  服务器端口查看需根据系统选择命令(Linux 用ss“lsof,Windows 用netstat与任务管理器),状态检测需通过 “监听状态、连通性、服务关联” 三步确认。掌握这些方法,能快速定位 “端口未启用”“防火墙拦截”“服务异常” 等问题,保障 Web、数据库、远程连接等服务稳定运行,是服务器运维的基础必备技能。

 


猜你喜欢