无法绑定到运行 ubuntu 18 的谷歌云服务器上的 minecraft 服务器上的端口

无法绑定到运行 ubuntu 18 的谷歌云服务器上的 minecraft 服务器上的端口

我正在尝试在运行 Ubuntu 18.04.3 LTS 的 Google 云服务器上设置服务器。我已经设置了一个 Apache 网站,能够访问它,并且能够从我的电脑 ping 它。我知道在我的服务器上运行的唯一服务器是 Apache 和 ssh。我可以关闭 Apache,但不能关闭 ssh,因为我正在使用 ssh 隧道进入服务器。

我尝试过的事情:

-关机+重启,很多次

-完全关闭 ufw

-允许 Google Cloud VPC 网络防火墙中的端口 25565

-将服务器 IP 留空(允许服务器启动但不允许服务器被外部访问)

-使用内部 IP 作为服务器 IP(与留空相同)

-更改端口号(留空相同)

-没有 Apache

Server.properties除了服务器 IP 地址中包含我服务器的外部 IP 之外,其他与默认值相同。

$java -Xmx2048m -Xms2048m -jar server.jar nogui
[01:29:03] [main/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[01:29:03] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[01:29:03] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[01:29:03] [main/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[01:29:03] [main/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[01:29:04] [Server thread/INFO]: Starting minecraft server version 1.15.1
[01:29:04] [Server thread/INFO]: Loading properties
[01:29:04] [Server thread/INFO]: Default game type: SURVIVAL
[01:29:04] [Server thread/INFO]: Generating keypair
[01:29:04] [Server thread/INFO]: Starting Minecraft server on 3X.X.X.X:25565
[01:29:04] [Server thread/INFO]: Using epoll channel type
[01:29:05] [Server thread/WARN]: **** FAILED TO BIND TO PORT!
[01:29:05] [Server thread/WARN]: The exception was: io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Cannot assign requested address
[01:29:05] [Server thread/WARN]: Perhaps a server is already running on that port?
[01:29:05] [Server thread/INFO]: Stopping server
[01:29:05] [Server thread/INFO]: Saving worlds
[01:29:05] [Server thread/ERROR]: Exception stopping the server
java.lang.NullPointerException: nullat net.minecraft.server.MinecraftServer.a(SourceFile:558) ~[server.jar:?]
at net.minecraft.server.MinecraftServer.r(SourceFile:586) ~[server.jar:?]
at wd.r(SourceFile:593) ~[server.jar:?]
at net.minecraft.server.MinecraftServer.run(SourceFile:688) [server.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

运行netstat -tulpen显示如下:

$ netstat -tulpen
...
tcp     0   0   127.0.0.53:53   0.0.0.0:*   LISTEN  101 15881   -
tcp     0   0   0.0.0.0:22  0.0.0.0:*   LISTEN  0   20363   -
tcp6    0   0   :::80   :::*    LISTEN  0   18044   -
tcp6    0   0   :::22   :::*    LISTEN  0   20374   -
udp     0   0   127.0.0.1:323   0.0.0.0:*   0   18018   -
udp     0   0   127.0.0.53:53   0.0.0.0:*   101 15880   -
udp     0   0   10.168.0.4:68   0.0.0.0:*   100 15668   -
udp6    0   0   ::1:323 :::*    0   18019   -

运行nmap -sV localhost显示只有端口 22 和 80 开放,分别用于 ssh 和 http。

答案1

似乎有一项服务正在侦听指定端口。要终止在其上运行的任何程序,您可以使用:
kill $(sudo lsof -t -i:25565)
当然,最好知道在其上运行的程序,这样您就可以停止该服务以供将来启动。您可以通过运行以下命令查看哪些服务正在使用该端口:
lsof -i :port -S
如果服务在启动时运行,您可以使用此命令禁用它(当然要确保这样做是安全的):。
sudo systemctl disable <servicename>正在使用该端口的服务的名称
在哪里。<servicename>

相关内容