春季启动部署
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 >
选择TCP
和Specific 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服务器上部署?