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

标签 spring apache tomcat spring-boot server

我有一个 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 访问。

通常,在您的服务器上,端口 80443 应该已经打开。或者,您可以在 1&1 Admin Portal 中定义它。如果您的服务器已经有 apache 配置,您应该可以在转到您的服务器地址时看到 apache 站点。如果您没有为此步骤安装 apache,您可以在此处找到详细信息和完整设置:

How To Install the Apache Web Server on Ubuntu

第二步是在您的 apache 网络服务器 上配置一个虚拟主机

enter image description here

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

在此步骤中,如果您输入url 以使用端口8090

访问您的应用,您将告诉apache

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 mavengradle 到您的 pom.xml。这是将应用程序作为服务运行所必需的。

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

关于spring - 在 1and1 云服务器上部署 gradle spring 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929832/

相关文章:

java - 如何在 Java servlet 方法 init() 中获取本地主机和端口?

java - 当在 bean 内部调用该方法时,Spring AOP 不起作用

apache - 使用 Laravel 4 重定向到相对路径

Windows : how to? 上的 Python 和 XAMPP

ajax - 访问被拒绝在 apache tomcat 中创建 xml 文件

spring - 如何配置 "health"Actuator 端点以使用 token 身份验证?

java - 使用 apache 命令行运行带有空格参数值的命令

tomcat - Intellij Tomcat 服务器配置 - 发现多个 HTTP 连接器问题

java - 调用 sendText() 方法时,Tomcat 8.0.33 的 Websocket 实现不会立即抛出 IOException(服务器端)

java - 类的模拟在 Spock 测试用例中不起作用