我正在做一个简单的 Spring 季启动应用程序,但有一个问题,访问该应用程序的路线 . 我的应用很简单 . 这个pom:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
<build>
<finalName>demospringboot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
<packaging>jar</packaging>
这是主要的课程
@SpringBootApplication
@ComponentScan(basePackages = "main")
@EnableAutoConfiguration
public class ApplicationMain {
public static void main(String[] args) {
SpringApplication.run(ApplicationMain.class, args);
}
}
这就是de Controller类
@RestController
public class ControllerMain {
@RequestMapping("/springboot/hello")
public @ResponseBody String home() {
return "Hello World";
}
}
好吧,当我在localhost中执行应用程序时,所有运行正确,我可以将http://localhost:8080/springboot/hello放在浏览器中并显示结果 . 当我将生成的jar放在 生产环境 服务器上时,我的问题就出现了 . 此服务器是具有Plesk的典型VPS(虚拟专用服务器),具有Apache服务器和Tomcat集成 . 首先,我停止服务器的tomcat服务,因为我的spring启动应用程序嵌入了Tomcat,这会在两个Tomcat服务器之间产生冲突 . 我将de jar文件上传到服务器并执行它:
java -jar demospringboot.jar
我看到一条跟踪显示应用程序是如何部署的,但当我在浏览器中输入类似http://myserverdomain/springboot/hello的内容时,我收到404错误 . 我的服务器安装了mod_jk,以便同时为apache服务器和tomcat服务器提供静态文件和java应用程序,为此我将此配置添加到httpd.conf中进入虚拟主机
<IfModule mod_jk.c>
JkMount /springboot ajp13
JkMount /springboot/* ajp13
</IfModule>
当我添加此配置时,错误404传递给错误503服务不可用 . 使用嵌入在VPS中的tomcat部署Spring启动应用程序jar的步骤是什么?
1 回答
最后,我找到了解决问题的方法 . 首先我将它添加到我的application.properties文件中:
在我创建了这个类之后
我编译了我的应用程序,并将jar上传到我的服务器 . 有了这个,我编辑了我的服务器的workers文件,我添加了这个:
我用这个编辑了httpd.conf文件
我已经重新启动了我可以访问我的应用程序的httpd服务