웹 애플리케이션 배치 (톰캣 springboot 배치)의 네 가지 방법 Tomcat 웹 애플리케이션 배포

:에서 재판 https://www.cnblogs.com/haimishasha/p/10791454.html

핵심

1. 톰캣에 웹 응용 프로그램을 배포하는 네 가지 방법이 있습니다, 있습니다 :

(1) Tomcat이 자동으로 배치 (OR WAR 패킷 복사 항목을 직접 웹 어플리케이션에 복사)를 사용하여

(2) (전개 콘솔을 사용하여 콘솔 톰캣 영역 관리를 전개 )

(3) 사용자 지정 웹 배포 파일을 추가 (% TOMCAT_HOME % \ conf의 \ 카탈 \ 로컬 호스트 \ AppName.xml )

(4) 수동 % 수정 TOMCAT_HOME % \ conf의 \ server.xml을의 웹 응용 프로그램을 배포하는 파일을

2.SpringBoot 웹 프로젝트 두 릴리스 및 배포

(1) 전쟁

JAR 패키지로 (2) (권장 공식 웹 사이트)

3.springboot 3 핫 배포가 있습니다 :
(1) MVN 봄 부팅을 사용하여 springloaded의 pom.xml 구성 파일을 사용 : 실행 시작
(2) 로컬 부하 springloaded 시작 구성 파라미터의 JVM -javaagent 사용 : <단지 패킷 주소> -noverify
(3) 키트, 간단한 조작을 DevTools로 사용하지만, 때마다 당신은-배포를 다시 할 필요가

1. Tomcat은 웹 응용 프로그램을 배포하는 네 가지 방법이 있습니다

첫 번째 방법 : 톰캣의 자동 배치를 사용하여

        자동 배포를 사용하여 Tomcat은 가장 간단하고 일반적인 방법입니다. 웹 애플리케이션 구조 인 경우 D : \ 작업 \ 웹 애플리케이션 \ 프로그램 응용 WEB-INF \ *,있는 WebContent \ 한 웹 응용 프로그램은 다음과 같이 클래스 프로그램 응용 직접 던져 % TOMCAT_HOME % \ 웹 어플리케이션 시스템에서 폴더는 웹 응용 프로그램을 직접합니다 톰캣에 배포. 그래서 내가 여기를 반복하지 않을 것이다.

 

두 번째 방법 : 배포 콘솔을 사용하여

        웹 애플리케이션 구조 인 경우 D : \ 작업 \ 웹 애플리케이션 \ 프로그램 응용 WEB-INF \ \ *, 다음과 같이 배포하는 콘솔을 사용 톰캣 관리자 콘솔은 지역에 배포 입력 - 컨텍스트 경로 유형 "XXX"를 ( ) 이름을 지정할 수 있습니다 - WAR 또는 디렉토리 URL에서 : 형식 D : \ 웹 애플리케이션 \ 프로그램 응용 \ 작업 공간 ( 이 경로에서 웹 응용 프로그램)을 찾아 표시 - 배포 버튼을 클릭합니다.

  

          그런 다음 % TOMCAT_HOME % \ webapps에 자동으로 XXX 폴더 경로라는 이름의 파일, D 인 내용에 나타납니다 : \ 웹 애플리케이션 \ 프로그램 응용 내용 \ 작업 공간,하지만 이름이 컨텍스트 경로를 입력 XXX의 앞에 XXX (이다 결과).

본질 배포 콘솔을 사용하여 상술 여전히 톰캣의 자동 배치를 사용한다.

세 번째 방법 : 사용자 지정 웹 배포 파일을 증가

        웹 애플리케이션 구조 인 경우 D : \ 작업 \ 웹 애플리케이션 \ 프로그램 응용 WEB-INF \ \ *, 이 배포 좀 더 복잡한, 우리는 필요 % TOMCAT_HOME % \ conf의이 경로 다시 catalina-- 아래에 새 폴더를 만들 수있는 새를의 - 로컬 호스트 폴더 마지막으로, 새로운 XML 파일, 두 가지 새로운 XML 파일 및 디렉토리의 증가를 만듭니다 % TOMCAT_HOME % \ conf의 \ 카탈 \ 로컬 호스트 \ 웹 응용 프로그램 구성 파일 .XML, 파일이 웹 응용 프로그램 구성 파일을 배포하는 것입니다 .

  예를 들어, 우리가 만든 새로운 % TOMCAT_HOME % \ conf의 \ 카탈 \ 로컬 호스트 \ XXX.xml,   다음과 같이 파일의 내용은 다음과 같습니다

 <컨텍스트 경로 = "/ XXX"재충전 = "참"에 Docbase은 = "D : \ 웹 애플리케이션 \ 프로그램 응용 \ 작업"WORKDIR = "D : \ 작업 영역 \의 웹 애플리케이션 \ 작업"/> 주 : (1)에 위의 코드 WORKDIR를 나타낸다 IDE를 이클립스로 사용하는 경우 디렉토리 작업 후 배치 된 웹 응용 프로그램 배포 일반적으로 인위적으로 작업 디렉토리 웹 애플리케이션에 제공 할 수있다, (서블릿 그 안에 발견으로 JSP 웹 응용 프로그램을 컴파일 할 수 있습니다). 사용자 정의 웹 배포 파일이 WORKDIR에 지정되지 XXX.xml 경우 웹 응용 프로그램 폴더에있는 파일의 새 이름으로 기본 % TOMCAT_HOME % \ 작업 \ 카탈 \ 로컬 호스트 \ 경로 XXX에 배포됩니다. 웹 응용 프로그램의 가상 경로 이름을 지정 (2) 컨텍스트 경로 (JSP 서블릿을 찾을 수있는 웹 응용 프로그램으로 컴파일 할 수 있습니다). 웹 응용 프로그램을 배포하기 위해 소스 경로를 지정 Docbase에.

        사실, 개발자는 다음과 같이 수동으로 파일을 만들 필요없이 자동으로 웹 응용 프로그램을 배포하기 위해 만든 이클립스 플러그인 설치 톰캣 배치 파일을 사용할 수 있습니다 : 

1. Eclipse-- 창 메뉴 바에서 기본 설정을 선택합니다 (기본 설정)를 엽니 다 - 왼쪽 선택을 톰캣, 다음과 같이 설명 :

        컨텍스트 디렉토리 (즉, 위의 지정된 상위 디렉토리 파일 - 선택 선언 모드 (컨텍스트 선언 모드) 웹 응용 프로그램 배포의 형태로 배치 된 사용자 정의 파일을 추가 할 그림 그려 컨텍스트 컨텍스트 파일 위의 강조 표시 2 %를 % TOMCAT_HOME \ conf의 \ 카탈 \ 로컬 호스트  ) - 적용 또는 확인을 클릭합니다.

        3. 完上述步骤,再选中Web项目右键点击properties(属性)——选择右侧的Tomcat ,如下图所示:

      4. 勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。

在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。

在Subdirectory to set as web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。

注意:Eclipse会自动地将workdir设置在Workspace\WebApp\work下。

如此便自动创建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。启动Tomcat 即可自动部署Web应用。

第四种方式:手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用

         此方法即打开%Tomcat_Home%\conf\server.xml文件并在其中增加以下元素:

   <Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />

         然后启动Tomcat即可。

         当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。

  

2. SpringBoot WEB项目两种发布和部署方式

(1)通过WAR包

(2)通过JAR包(官网推荐)

1. WAR

  传统的部署方式:将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即可访问。

  步骤1:在pom.xml文件中将jar修改为war【<packaging>war</packaging>】

  步骤2:在pom.xml文件中将配置文件添加tomcat模块【】  

<!-- 不使用内置的tomcat  -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 移除之后会报错,加入下面的依赖 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>


<!-- 使用内置的tomcat  -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
      <artifactId>provided</artifactId><!--仅用于编译和测试-->
</dependency>

  步骤3:在main方法处的启动类基继承

   

  步骤4:在pom.xml点击右键选择Maven install,会在target文件夹中生成xxx.war包

 

2. JAR

  步骤1:在pom.xml文件点击右键,选择“Maven install”,然后刷新target文件夹,在target中会产生xxx.jar包。

  步骤2:然后在cmd终端输入代码:java -jar xxx.jar ,发布成功

  步骤3:在浏览器输入localhost等url进行访问

3. JAR VS WAR

  

4. 线上部署

方式一:java -jar vodmanager.jar &           后台关闭后,服务不会中断

方式二:nohup java -jar vodmanager.jar &  后台关闭后,服务不会中断,并且会把输出的文件信息写在当前目录下的nohup文件中。

3. SpringBoot热部署三种方式

springboot有3中热部署方式:
1.使用springloaded配置pom.xml文件,使用mvn spring-boot:run启动
2.使用springloaded本地加载启动,配置jvm参数   -javaagent:<jar包地址> -noverify
3.使用devtools工具包,操作简单,但是每次需要重新部署

第一种:使用springloaded配置pom.xml文件

1. 原来的pom.xml文件中添加如下配置
<build>
     <plugins>
          <plugin>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-maven-plugin</artifactId>
               <dependencies>
                    <dependency>
                         <groupId>org.springframework</groupId>
                         <artifactId>springloaded</artifactId>
                         <version>1.2.6.RELEASE</version>
                    </dependency>
               </dependencies>
          </plugin>
     </plugins>
</build>
复制代码

        注意:需要在spring-boot-maven-plugin中添加dependency

 
2.启动方式变为maven启动:在项目的文件夹dos窗口输入命令mvn spring-boot:run
 
    注意:停止服务是只能使用ctrl+c, 如果设置后台启动,需要kill进程

第二种:springloaded本地加载启动,配置jvm参数

1.下载 springloaded工具包到一个指定目录(或直接就用maven仓库地址了)
2.在启动项目时,在jvm参数中输入命令
  -javaagent:D:\Maven\repository\org\springframework\springloaded\1.2.6.RELEASE\springloaded-1.2.6.RELEASE.jar  -noverify
 
扩展: -javaagent:命令后面跟冒号,意思是在执行main方法之前执行特定代码
       -noverify 关闭java字节码校验功能

第三种:使用devtools工具包

1.在pom.xml中添加依赖
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
     <optional>true</optional>
</dependency>
2.启动项目
 

总结

在开发测试环境下第三种可取,方便快捷
在生产环境下,建议使用第二种,使用脚本启动

抄录网址

  1. tomcat部署web应用的4种方法
  2. Spring Boot项目的两种发布方式
  3. 开发笔记9:SpringBoot打包部署的三种方式
  4. Spring-Boot启动方式,以及线上部署

추천

출처www.cnblogs.com/tuanz/p/11204971.html