【问题标题】:Spring boot change server portSpring Boot 更改服务器端口
【发布时间】:2017-04-11 19:12:21
【问题描述】:

我已经为 Web 应用程序创建了 Spring Maven 项目(使用原型 maven-archetype-webapp)。我需要绑定与 localhost 和不同端口不同的 ip。我在资源文件夹中创建了文件“application.properties”并添加了以下几行:

server.port=8001
server.address= 192.168.1.91

但是在启动时它仍然使用默认端口 8080 并且 ip 仍然是 localhost。

我的 WebInitializer 类是:

package guard;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{RootConfig.class};
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{WebConfig.class};
    }

    @Override
    protected String[] getServletMappings() {
        return new String[]{"*.html"};
    }

}

我做错了什么?

【问题讨论】:

  • 你用的是spring boot和嵌入式服务器吗?
  • 我使用 Tomcat 服务器,我猜,没有 Spring boot

标签: java spring maven spring-mvc spring-web


【解决方案1】:

不,除非您使用嵌入式 servlet 容器,否则您无法更改服务器端口,即,如果您将 Web 应用程序 (war) 直接部署到 Tomcat 中,那么更改 application.properties 中的端口号将无法正常工作.为此,您需要更改 Tomcat 服务器的server.xml 中的port。另外,如果你想配置Tomcat服务器IP地址的话,可以看here

您可以查看 here 了解如何托管嵌入式 servlet 容器,以便您可以使用 application.properties 配置 IP 和端口详细信息。

【讨论】:

  • OK 设置 Tomcat 比我预期的更困难。但是我需要做些什么改变才能使用嵌入式 servlet 容器呢?
  • 是的,如果你想要来自application.properties,你需要嵌入的servlet容器,然后按照链接试试,很容易
  • 还没有 :( 我已经创建了 Application 类和一个 Controller 类,但是在 Spring Boot App 上启动它给我一个错误:nodename nor servname provided, or not known
  • 最好关闭它并打开一个带有该错误的新问题,因为它是一个单独的问题
  • 我同意。关闭此问题,因为您的问题已得到解答。
【解决方案2】:

其实最简单的方法是通过 server.xml 文件更改 Tomcat 设置,然后更改端口

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

要更改 IP,只需使用 Spring 单击 Tomcat 属性并将主机名更改为本地 IP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 2016-04-24
    • 2020-07-28
    • 2021-12-01
    • 2015-06-18
    相关资源
    最近更新 更多