Tomcat (3)
스프링 부트(spring boot)로 톰캣에서 실행하기(이클립스)

스프링 부트로 개발된 웹 어플리케이션을 톰캣에 올리는 방법입니다.

이클립스에서 단독 실행 모드와 톰캣 배포 방식 두가지 다 가능하기 때문에

개발할떄는 단독으로 띄워서 개발을 하고 배포할때만 톰캣을 띄워서 쉽게 배포를 하셔도 됩니다.


pom.xml

<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>net.donnert</groupId>

  <artifactId>spring.boot.web</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>jar</packaging>

 

  <name>spring.boot.web</name>

  <url>http://maven.apache.org</url>

 

  <properties>

    <project.build.sourceencoding>UTF-8</project.build.sourceencoding>

    <java.version>1.8</java.version>

  </properties>

  <parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>1.4.0.RELEASE</version>

  </parent>

 

  <dependencies>

    <dependency>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

    <dependency>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-starter-tomcat</artifactId>

      <scope>provided</scope>

    </dependency>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <scope>test</scope>

    </dependency>

  </dependencies>

</project>


기존에 웹에서 사용하던 파일과 동일합니다.

추가적으로 spring-boot-starter-tomcat을 넣어줍니다.


Application.java

package net.donnert.spring.boot.web;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(Application.class);
	}
	
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }
}

SpringBootServletInitializer를 상속받으셔야 톰캣 기동 시 정상적으로 스프링 모듈이 동작합니다.

그리고 configure를 오버라이드 해주셔야 서블릿 컨테이너 기동 시 스프링 설정을 적용시켜줍니다.


TestController.java

package net.donnert.spring.boot.web;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {
	@RequestMapping("test")
	public String test() {
		return "This is spring";
	}
}

그냥 테스트용 컨트롤러이니다.


테스트

Application을 실행시켜줍니다. 스프링 부트 어플리케이션이 실행이 됩니다.

http://localhost:8080/test를 실행해보시면 This is spring이 찍히는 것을 볼 수 있습니다.


톰캣에 올리기

이미 Application에 SpringBootServletInitializer를 상속받아놨기 때문에 별다른 설정은 없습니다.

톰캣에 올리기 위해 Dynamic Web Module 프로젝트로 설정해줍니다.

(프로젝트 우클릭-Properties-Project Facets-Dynamic Web Module 체크)

설정된 톰캣에 우클릭을 해서 Add and Remove를 선택하면 스프링 어플리케이션이 보일겁니다.

(톰캣 설정은 따로 안다루겠습니다.)

추가 후 모듈의 Path를 /spring로 변경합니다.

톰캣 스타트 후 http://localhost:8080/spring/test를 때려보시면 This is spring이 보입니다.



0  Comments,   0  Trackbacks
댓글 쓰기
tomcat 재기동 스크립트

#!/bin/bash

INSTANCE='cmsSvr11'

echo 'Tomcat Stop'

sh ~/was/tomcat/bin/stop$INSTANCE.sh

while [ : ];

do

sleep 1

CNT=`ps -ef | grep tomcat | grep java | grep -v grep | grep D$INSTANCE | wc -l`

echo 'Tomcat process count -> '$CNT

if [ $CNT -lt 1 ]

then

        echo "Tomcat starting... >> catalina tail start";

        sh ~/tomcat/bin/startup.sh

        cdate=$(date +'%Y-%m-%d')

        tail -f ~/tomcat/logs/catalina.$cdate.log

        exit 1

fi

done

'개발 > Linux/Server' 카테고리의 다른 글

SVN 서버 설치하기(Cent OS)  (0) 2013.05.14
각 폴더명 크기 보기  (0) 2013.04.23
tomcat 재기동 스크립트  (0) 2013.03.20
telnet 이용해서 서버 감시 로그 찍기  (0) 2012.12.17
폴더별로 크기 보기  (0) 2012.12.17
tomcat 에서 access 로그 사용하기  (0) 2012.08.30
0  Comments,   0  Trackbacks
댓글 쓰기
tomcat 에서 access 로그 사용하기

vi /home/donnert/tomcat6/conf

vi server.xml


하단에 아래와 같은 내용 추가~

있는거 수정해도 써서 된다.  기본으로 설정이 주석처리되어있음


        <Valve className="org.apache.catalina.valves.AccessLogValve"

                 directory="/data1/donnert/access/" prefix="appif_access." suffix=".log"

                 pattern="%t %a %Ts %{userid}r %B %U%q"

                 fileDateFormat="yyyy-MM-dd"

                 resolveHosts="false"/>



'개발 > Linux/Server' 카테고리의 다른 글

telnet 이용해서 서버 감시 로그 찍기  (0) 2012.12.17
폴더별로 크기 보기  (0) 2012.12.17
tomcat 에서 access 로그 사용하기  (0) 2012.08.30
파일 사이즈로 찾기  (0) 2012.06.04
linux 파일 목록 뽑기  (0) 2012.05.23
서버 간 파일 전송 linux  (0) 2012.03.19
0  Comments,   0  Trackbacks
댓글 쓰기