跳到主要内容
← 指南列表

端口是什么?常用端口汇总

如果说服务器 IP 是“大楼地址”,那么端口就是“房间号”。即使在同一台服务器中,也像网站用 443 号、Minecraft 用 25565 号这样,每个程序通过不同的端口接收连接。从外部无法连接时,大多是因为这个端口被阻止了,或程序没有在该端口上等待连接。

常用端口

端口用途是否对外开放
22 (TCP)Linux 服务器 SSH 连接开放(默认)
3389 (TCP)Windows 远程桌面开放(默认)
80 (TCP)网站(HTTP)运营网站时
443 (TCP)网站(HTTPS)运营网站时
25565 (TCP)Minecraft Java 版开设 Minecraft 服务器时
19132 (UDP)Minecraft 基岩版开设基岩版服务器时
3306 (TCP)MySQL / MariaDB请勿开放
5432 (TCP)PostgreSQL请勿开放
6379 (TCP)Redis请勿开放
3000、8000 等自己开发的应用通常不开放,而是放在 Nginx 后面

Discord 机器人不是从外部接收连接的程序,因此不需要开放端口。

为什么不能开放 DB 端口,请参考安装数据库;将应用放在 Nginx 后面的方法,请参考将自己开发的 Web 应用部署到服务器。

TCP 与 UDP

即使端口号相同,TCP 和 UDP 也需要分别开放。请按照程序说明书中写的方式开放。例如,基岩版服务器使用 UDP,所以开放 19132/tcp 是无法连接的。

如何开放端口

请参考在防火墙中开放端口。Linux(ufw)的示例如下。

sudo ufw allow 25565/tcp
sudo ufw allow 19132/udp

确认程序是否正常打开端口并在等待连接

如果已经开放了防火墙却仍无法连接,请在服务器内确认程序是否确实在该端口上等待连接。

sudo ss -tulpn

在 Local Address 列中查找端口号。

  • 0.0.0.0:25565 或 *:25565 —— 可以接收外部连接的状态。
  • 127.0.0.1:25565 —— 只接收服务器内部连接的状态。需要在程序设置中更改连接地址,外部才能进来。
  • 列表中没有 —— 程序已关闭,或正在使用其他端口。

从本地电脑确认端口是否已开放(Windows)

在本地电脑的 PowerShell 中执行。(只能确认 TCP 端口)

Test-NetConnection server-ip -Port 25565

如果显示 TcpTestSucceeded : True,说明可以从外部连接到该端口。

如果问题仍未解决,请在 Discord 提交工单。