항아리 패키지 (공식 권장)
시작 항아리 패키지 방식은, 실행 바람둥이 내장 된 스프링 부팅을 사용하는 것입니다. 만큼 당신이 서버 jdk1.8 이상 이상 구성, 그것은 괜찮습니다. 그것은 외부 바람둥이을 필요로하지 않습니다
1. 표시된 항아리 패키지
2. 임의의 디렉토리에 항아리 패키지는 다음 명령을 실행
$ nohup java -jar test.jar >temp.txt &
//这种方法会把日志文件输入到你指定的文件中,没有则会自动创建。进程会在后台运行。
해당 포트를 엽니 다 3. 알리 클라우드 서버 요구 사항은
보안 그룹 추가 : 시작 포트를 구성하는 나의 프로젝트는 18080입니다 액세스하기 위해 열린 포트 18080에이 필요하므로
전쟁 패키지
전통적인 배포 : Tomcat의 webapps 디렉토리에 전쟁 패키지로 표시된 프로젝트, 바람둥이을 시작, 당신은에 액세스 할 수 있습니다.
개발 환경 : jdk1.8의 + 아이디어
전쟁을 구축하는 방법을 다음과 데모 쇼 싸우는 방법과 패키지 배포에 액세스하려면 : 봄 부팅을 + 받는다는
새로운 봄 부팅 + 받는다는 프로젝트를 만듭니다 1. (간단하게 두 개의 사진을 붙여)
여기에서 우리는 수정하지 않고, 단지 패키지를 표시 기본.
새 프로젝트의 완료 후 2. SpringBootServletInitializer 상속 시작 응용 프로그램 파일을 수정, 실현 구성 방법
@SpringBootApplication
@RestController
public class Demo1Application extends SpringBootServletInitializer {
// 用来测试访问
@RequestMapping("/")
public String home() {
return "hello 朋友";
}
public static void main(String[] args) {
SpringApplication.run(Demo1Application.class, args);
}
// 继承SpringBootServletInitializer 实现configure 方便打war 外部服务器部署。
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Demo1Application.class);
}
}
pom.xml 파일을 수정합니다
<packaging>war</packaging>
pom.xml 파일을 다음과 같이 전체 코드입니다
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 这里打成war包 若打jar,需将war改为jar -->
<packaging>war</packaging>
<name>demo1</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>demo1</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4. 패키지
다음 프로젝트는 다음의 루트 디렉토리로 바로 이동할 수 있습니다 실행 명령이 포장, 패키지를 받는다는.
: 아래 그림과 같이 여기에 내가 아이디어는 직접 포장
5. 전쟁은 바람둥이의 외부 webapps 디렉토리에 위치
바람둥이 6. 시작을
### 요약
1.이 포장 방법의 비교, 더 간단하고 편리한 항아리. 어떤 방법으로 특정 사용, 응용 프로그램이 현장에 고려되어야한다.
2. 다시,이 프로젝트는 직접 봄 부팅 구성 프로파일에서 포트 프로젝트에 액세스 할 수없는 전쟁 패키지, 톰캣 외부로 배포,이 시간으로 표시됩니다. application.yml 구성 server.port 스프링 부팅 구성이 포트 번호 바람둥이 구축하고 별도의 바람둥이에 배포 전쟁 패키지로 표시되어, 구성이 작업을하지 않는 server.port. 우리는이에주의를 지불해야합니다! !
사실, 우리는 바람둥이 인터페이스에서 시작, 이미 활성화되어있는 포트를 볼 수있다 :
물론, 로그는 우리가 8080 포트를 방문한다는 것을 우리에게 알려줍니다.
그림은 봄 부팅 부팅 로그를 사용하여 Tomcat이 내장되어 있습니다, 당신은 server.port 구성에 힘에 볼 수 있습니다!
개인 블로그
텐센트 클라우드 커뮤니티
너기츠
제인 책
공개 번호 :