我有一个 apache/2.4.18 ubuntu 服务器,我想在上面托管我的 spring 应用程序。我生成了一个 JAR 文件并可以在服务器上运行它。它在端口 8090 上启动一个嵌入式 tomcat 服务器。
但是,当我导航到“my-site-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>
最佳答案
很难在一个答案中解释所有步骤,但您可以按照这些步骤自行进入完整配置。我在我的 1&1 云服务器
上做了同样的事情。
首先,您需要对您的服务器进行 root 访问。
通常,在您的服务器上,端口 80
和 443
应该已经打开。或者,您可以在 1&1 Admin Portal
中定义它。如果您的服务器已经有 apache 配置,您应该可以在转到您的服务器地址时看到 apache 站点。如果您没有为此步骤安装 apache,您可以在此处找到详细信息和完整设置:
How To Install the Apache Web Server on Ubuntu
第二步是在您的 apache 网络服务器
上配置一个虚拟主机
。
这很酷,因为您可以在服务器上定义多个域和应用程序。所以 http://yourServer.com
(来自外部的端口 80 或 443)转到 yourApp1
。 (来自实习生的端口 8090)。
在此步骤中,如果您输入url
以使用端口8090
How To Set Up Apache Virtual Hosts on Ubuntu
最后一步是将您的 spring-boot
应用作为服务安装在您的机器上。 Spring 的文档对此进行了很好的描述。
Installation as an init.d Service
如果您将应用安装为服务,您可以使用 service
命令启动和停止应用。
service myapp start
别忘了 add the plugin for maven
或 gradle
到您的 pom.xml
。这是将应用程序作为服务运行所必需的。
如果您遵循这些步骤,您应该能够在不指定端口的情况下访问您的应用程序,并准备好在必要时将您的应用程序投入生产。
关于spring - 在 1and1 云服务器上部署 gradle spring 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929832/