我是来围观的逊 发表于 2024-9-10 20:33:01

轻量服务器端口不能访问的原因及解决方法

轻量服务器由于其易于使用和部署以及能够在有限资源上高效运行的能力,近年来变得越来越流行。但是,这些服务器的一个常见问题是它们的端口可能变得不可用。在本文中,我们将探讨此问题的一些原因并提供解决方案。


轻量服务器端口不能访问的原因
  1、端口冲突:端口不可用的最常见原因之一是端口冲突。如果另一个应用程序已经在使用相同的端口,您的轻量级应用程序服务器将无法使用它。
  2、防火墙限制:防火墙旨在阻止与您的服务器的传入连接。如果您的防火墙阻止您的轻量级应用程序服务器尝试使用的端口,该端口将变得不可用。
  3、端口设置不正确:如果您的轻量级应用服务器中的端口设置不正确,可能会导致无法使用该端口。
  不可用端口的解决方案
  4、检查端口冲突:要检查端口冲突,您可以使用端口扫描器工具来识别正在使用的端口。一旦您确定了另一个应用程序正在使用的端口,您可以停止另一个应用程序或将您的轻量级应用程序服务器配置为使用不同的端口。
  5、调整防火墙设置:要允许传入连接到您的轻量级应用程序服务器,您需要调整防火墙设置。如果您使用的是第三方防火墙,您可以参考其文档以了解如何配置它。如果您在操作系统上使用内置防火墙,则可以使用以下命令打开一个端口:
  sudo ufw allow /tcp
  6、验证端口设置:要验证轻量级应用程序服务器中的端口设置是否正确,您可以检查配置文件。查找您正在使用的特定应用程序服务器的配置文件,并验证端口设置是否正确。
  7、重新启动服务器:如果以上解决方案均无效,请尝试重新启动您的轻量级应用程序服务器。有时,这可以帮助清除与不工作的端口有关的任何问题。


轻量服务器端口无法访问故障排查
  1.排查容器端口
  首先查看容器端口,命令:docker ps -a
  应用端口为9000,没错。
  2.排查防火墙
  网上有人说是firewall拦截了,用 firewall-cmd --state 命令发现“not running”,此路不通。
  3.链路排查
  此时发现了一个问题,防火墙原本已配置好的端口,均可访问(上图蓝色部分);访问自定义端口,错误信息为“timeout”,输入sysctl net.ipv4.ip_forward:
  至此问题明朗:服务器IP转发关闭,转发失败。


  解决方案:

  修改配置文件:sudo vi /etc/sysctl.conf
  重启网络服务service network restart,问题解决。


轻量服务器端口状态检测
  # 查看firewalld的运行状态
  # 默认防火墙 是关闭的 (not running)
  firewall-cmd --state
  # 启动防火墙
  # 没有任何提示 则启动成功
  systemctl start firewalld
  # 添加规则 (--permanent 代表重启也生效)
  # 提示 success 则成功
  firewall-cmd --zone=public --add-port=3306/tcp --permanent
  # 重新加载防火墙配置
  # 提示 success 则成功
  firewall-cmd --reload
  # 至此结束
  # 查看所有打开的端口
  firewall-cmd --zone=public --list-ports
  # 关闭防火墙
  systemctl stop firewalld


  总之,对于轻量服务器不可用端口的问题,使用本文提供的解决方案,您可以快速轻松地解决问题。通过检查端口冲突、调整防火墙设置、验证端口设置或重新启动服务器,您可以让您的轻量服务器重新启动并运行。请记住,在启动服务器之前始终确保您使用的端口可用且配置正确。
页: [1]
查看完整版本: 轻量服务器端口不能访问的原因及解决方法