在1和1云服务器上部署gradle spring应用程序

在1和1云服务器上部署gradle spring应用程序,spring,apache,tomcat,spring-boot,server,Spring,Apache,Tomcat,Spring Boot,Server,我有一台apache/2.4.18 ubuntu服务器,我想在上面托管我的spring应用程序。我生成了一个JAR文件,可以在服务器上运行它。它在端口8090上启动一个嵌入式tomcat服务器 但是,当我导航到“我的站点ip:8090”时,连接超时 我没有部署web应用程序的经验,因此如果有任何帮助,我将不胜感激 我已经为端口8090创建了一个TCP规则,但仍然没有乐趣 解决方案是将代理添加到Myapp.conf文件,如下所示: ProxyRequests off ProxyPreserveHo

我有一台apache/2.4.18 ubuntu服务器,我想在上面托管我的spring应用程序。我生成了一个JAR文件,可以在服务器上运行它。它在端口8090上启动一个嵌入式tomcat服务器

但是,当我导航到“我的站点ip:8090”时,连接超时

我没有部署web应用程序的经验,因此如果有任何帮助,我将不胜感激

我已经为端口8090创建了一个TCP规则,但仍然没有乐趣

解决方案是将代理添加到Myapp.conf文件,如下所示:

ProxyRequests off
ProxyPreserveHost On
ProxyPass / http://localhost:8090/
ProxyPassReverse / http://localhost:8090/

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
ProxyRequests关闭
代理主机
ProxyPass/http://localhost:8090/
ProxyPassReverse/http://localhost:8090/
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合

很难在一个答案中解释所有步骤,但您可以按照这些步骤自己进入完整配置。我在我的
1&1云服务器上也做了同样的操作

首先,您需要对服务器进行root访问

通常,服务器上的端口
80
443
应该已经打开。否则,您可以在
1&1管理门户中定义它。如果您的服务器已经具有apache配置,那么如果转到服务器地址,您应该能够看到apache站点。如果没有为此步骤安装apache,您可以在此处找到详细信息和完整设置:

第二步是在
apachewebserver
上配置
虚拟主机

这很酷,因为您可以在服务器上定义多个域和多个应用程序。所以
http://yourServer.com
(extern的端口80或443)转到
yourApp1
。(来自intern的端口8090)

在这一步中,如果您输入您的
url
以使用端口
8090

最后一步是将
spring boot
应用程序作为服务安装到您的机器上。《春天的文件》对此描述得很好

如果将应用程序作为服务安装,则可以使用
service
命令启动和停止应用程序

service myapp start
别忘了
maven
gradle
到您的
pom.xml
。这是将应用程序作为服务运行所必需的


如果您遵循这些步骤,您应该能够在不指定端口的情况下访问您的应用程序,并在必要时准备好将您的应用程序投入生产

最好的方法是使用apache代理。这应该可以完成。

因此,您需要解决可能存在的问题。对外开放港口。这将是您的主机提供商上的配置。正在打开本地计算机上的端口。如果机器使用
ufw
iptables
防火墙,则需要执行此操作。接下来是IP绑定。检查您收到的消息是否正在收听
127.0.0.1:8090
0.0.0:8090
,因为在后一种情况下,只有外部连接才能工作。您不必使用apache,只需在8090上使用嵌入式tomcat即可。如果您想在tomcat前面使用apache,则需要通过apache代理嵌入式tomcat服务器。在Centos上,我在权限、se linux和sysctl方面遇到了问题。如果您认为有帮助,我可以发布我对CentOS的配置更改。你想在apache后面使用tomcat吗?嗨,Patrick,这真的很有帮助。我正在努力使用将url指向端口8090的确切方法。我已经创建了一个新的.conf文件,它指向我的应用程序的根目录,但它同样只是显示包含.jar的目录file@Hughes_J在防火墙设置下的云控制面板中,您可以打开一些端口。我不建议打开多个端口。是的,我打开了所需的端口,这一定是我在.conf文件中配置代理的方式。我将.conf文件添加到原始Postal中。虽然不是公认的答案,但您帮助我设置代理。谢谢