【问题标题】:tomcat connector change porttomcat连接器更改端口
【发布时间】:2018-05-05 02:42:20
【问题描述】:

我正在 Spring Boot 中实现一个简单的“Hello World”。我正在关注教程SpringBoot HelloWorld

当我将 SpringbootHelloworldApplication.java 类作为“作为 Java 应用程序运行”运行时,出现错误:

***************************应用程序启动失败


说明:

配置为侦听端口 8080 的 Tomcat 连接器失败 开始。端口可能已在使用中,或者连接器可能已使用 配置错误。

行动:

验证连接器的配置,识别并停止任何进程 正在侦听端口 8080,或配置此应用程序以侦听 在另一个端口上。

我在服务器上双击了,它有这样的配置:

我没有使用 8080 端口,我应该在哪里更改默认端口?

server.xml 文件有:

  <Connector port="8085" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

【问题讨论】:

  • 在 application.properties 文件中添加server.port=&lt;someotherportnumber&gt;
  • @pvpkiran 请问找到那个文件的路径是什么
  • 再次阅读您提供的链接。它应该在资源下
  • 我添加了 server.port= 8086 。我再次收到错误配置为侦听端口 8086 的 Tomcat 连接器无法启动。该端口可能已在使用中,或者连接器可能配置错误。

标签: java eclipse tomcat spring-boot


【解决方案1】:

我假设您的应用程序看起来像这样:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Spring Boot 运行嵌入式 Tomcat 服务器。当您运行 SpringbootHelloworldApplication.java 类时,它实际上启动了它自己的服务器。您根本不需要 Eclipse Tomcat 连接器。

您可能已经启动了应用程序的另一个实例。

尝试设置server.port=0。这将导致 Spring Boot 每次启动时使用一个随机的空闲端口。

【讨论】:

  • 对,就是应用类。它有效,我没有收到任何错误。现在的问题是,我应该使用哪个端口来测试它?我试过 localhost:8080/welcome.html 。并显示“无法访问此站点 localhost 拒绝连接”。在 Eclipse 的控制台中,它说“Tomcat 在端口上启动:53620 (http)”但它没有工作“Whitelabel 错误页面”
  • 返回白标错误的端口是正确的。现在这是一个单独的问题。
  • 那么,我应该尝试使用哪个端口,因为使用 8080 不起作用
  • 任何高于 1024 的空闲端口都可以。如何找到空闲端口超出了这个问题的范围。
【解决方案2】:

是的,您应该尝试更改它,有时 http 端口可能已经被其他应用程序占用。更改 8006 - tomcat port , HTTP - 8086 , AJP - 8010 之类的内容,不要忘记使用新的 http 端口导航。

【讨论】:

  • 目前我只是运行java类,项目没有添加到Tomcat服务器中。我尝试更改值,但仍然遇到相同的错误
  • 如果您没有将项目添加到 tomcat 服务器中,则服务器没有运行您的项目。如果你想打开tomcat的管理web界面,那么尝试在服务器的server.xml中更改角色并打开它。
  • 我按照教程进行操作,但他们没有提到该步骤。但是,我尝试在 Tomcat 的“添加和删除”选项中添加项目,但该项目未显示在列表中,因此无法添加。那么缺少什么?
  • 您遇到的错误是什么,例如无法将您的项目添加到顶部?或者任何,而且我也做错了menton server.xml,它是tomcat-users.xml
  • 我得到了一堆关于错误的信息,我会总结一下,希望对你有帮助
【解决方案3】:

你可以做两件事之一

  1. 在 application.properties 文件中添加 server.port=0,这将在您每次运行应用程序时随机化您的端口,但我再次想知道为什么要这样做:p

  2. 您最后一个应用程序实例没有正确停止并保持端口繁忙。要解决此问题,在控制台的右上角您会看到一个红色按钮,单击此按钮以正确停止应用程序,您的问题是解决了。注意:关闭控制台不会释放应用程序正在运行的端口。美好的一天!

【讨论】:

    【解决方案4】:

    我认为,其他应用程序会使用您的 8080 端口号,只需在 application.properties 文件中更改您的端口号即可。

    server.port = 0 
    

    【讨论】:

      猜你喜欢
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      相关资源
      最近更新 更多