【问题标题】:Spring boot deployment春季启动部署
【发布时间】:2018-05-20 11:37:57
【问题描述】:

我正在为移动应用程序开发一个 Spring Boot Rest API(没有视图或 JSP 页面),我正在 Windows 服务器上部署 API(专用),我在服务器上安装了 tomcat 服务器和 MySQL 服务器,当我在尝试从服务器 localhost 访问应用程序一切正常,例如:localhost:8080/api/users,但是当我尝试使用我的服务器 IP 从另一台 PC 访问它时,我无法访问:162.144.188.112:8080/api/users 当我想使用服务器 IP 访问 MySQL 服务器时,也会发生同样的事情。

所以我不知道我的服务器是否有任何问题,或者我只是错过了 MySQL 和 tomcat 服务器配置中的某些内容?

【问题讨论】:

  • 检查您的防火墙是否阻止连接
  • 谢谢 slaiv206 ,你能告诉我怎么做吗?

标签: java mysql spring tomcat spring-boot


【解决方案1】:

尝试确定您的服务器是否正在接受连接。似乎您的服务器端口未在侦听或被阻止。 如果你使用 linux 输入 systemctl status httpd 并查看您的服务器的状态 另请注意,spring boot 已嵌入 tomcat,因此您无需手动安装 tomcap。

【讨论】:

  • 感谢@Den B,但我的服务器是 windows server 2012 r2
【解决方案2】:

如果您可以在本地访问但不能远程访问,则必须是您的 Windows Server 中缺少防火墙规则,或者您的远程桌面和服务器之间存在额外的防火墙。

对于您的 Windows 服务器的防火墙:

Start 菜单中,输入Windows Firewall with Advanced Security,然后...

  1. 右击Inbound Rules并选择New Rule...
  2. 对于规则类型,取Port 然后点击Next >
  3. 选择TCPSpecific local ports,在文本框中填写8080,然后点击Next >
  4. Allow the connection,然后点击Next >
  5. 下一页保持默认(Profile),点击Next >
  6. 为您的规则命名并单击Finish

如前所述,只要您的 MySQL 服务器与您的应用程序在同一台服务器上,就不要公开其端口 (3306)。

【讨论】:

  • 非常感谢@kagmole,但您能否提供更多详细信息,因为我现在正在尝试这样做,但我找到了很多选择
  • 我更新了我的答案@MahmoodMousa 告诉我是否足够。
【解决方案3】:

你不需要安装tomcat来使用spring boot。有一个启动器允许您embed the servlet container 并在构建时将所有内容打包到 jar 中 因此,只需运行java -jar 即可启动应用程序。 查看教程了解如何正确deploy a spring boot application

【讨论】:

    猜你喜欢
    • 2021-06-08
    • 1970-01-01
    • 2015-01-08
    • 2021-08-31
    • 2017-09-11
    • 2015-04-18
    • 2017-06-24
    • 2015-08-22
    • 2015-09-18
    相关资源
    最近更新 更多