春季启动部署

Posted

技术标签:

【中文标题】春季启动部署【英文标题】: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 ,你能告诉我怎么做吗? 【参考方案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,然后...

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

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

【讨论】:

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

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

【讨论】:

以上是关于春季启动部署的主要内容,如果未能解决你的问题,请参考以下文章

春季启动时出现Cors错误,将其与反应连接并尝试在tomcat或jboss服务器上部署?

春季启动指标+数据狗

如何在春季启动时在浏览器中查看默认网址?

春季启动战争log4j2

IndexOutOfBoundsException 春季批处理和春季启动

春季启动启动器graphql不工作