ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 82일차 - 톰캣, 빌드, 빌드 전 프로필 설정
    백엔드(웹 서버, WAS)/Spring Boot 2024. 5. 27. 16:46

    톰캣

    공부하는 과정이라 WEB 서버를 사용하지 않았고 톰캣을 WEB 서버로 사용했습니다 톰캣은 WAS 이다

     

    내장 톰캣 : 수정이 일어나지 않는 운영에 유용하다

    외장 톰캣 : 여러 설정이 가능하고 수정이 자주 일어나도 반영된다

    이미지는 IMG 태그로 보여주기

    이미지가 아닌 다른 확장자는 다운로드할 수 있게 해야한다(다운로드 버튼)

    모든 파일은 삭제 기능이 들어가야한다

    반드시 외장 톰캣을 사용할 것

     

    서버가 안켜지면 확인할 체크리스트

    1. 라이브러리

    2. 설정

    3. 설정에 따른 패키지 구성

    빌드 

    빌드 하기전 로그 설정

    <!-- 로그의 파일 저장 -->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 저장 위치 -->
        <file>C:/logs/service.log</file>
        <!-- 출력 패턴 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern> 		
        </encoder>
        <!-- 롤링 정책(언제 끊어서 말아줄 것인가?) -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 어떤 이름으로 저장할래? -->
            <fileNamePattern>C:/service.%d{yy-MM-dd}.log</fileNamePattern>
            <!-- 얼마나 저장할래? (일단위)-->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>
        <!-- Root Logger -->
    <root>
        <appender-ref ref="console" />
        <!-- 반드시 추가해줘야한다 -->
        <appender-ref ref="file"/>
    </root>

    빌드 하기전 확인사항

    1. 파일 업로드 경로

    2. 로그 파일 저장 경로

    그런데 매번 빌드할때 마다 설정을 바꾸기 힘들다 

     

    // Run As > Run Configuration
    // 1. 내장 톰캣 
    // Spring Boot 옵션에서 Profile 를 dev 로 선택 후 실행
    
    // Argments >
    // 2. 외장 톰캣
    // Argments 에서 -Dspring.profiles.active=dev 추가
    // Environment 에서 spring.profiles.actvie 와 dev 를 추가
    
    // conf > catalina.properties 
    // 3. 실제 톰캣에 배포시
    // conf/catalina.properties 에 다음 내용을 추가한다
    // spring.profiles.active=dev
    
    // 4. war 자체 실행시
    // java -jar ROOT.war --spring.profiles.active=dev

    개발 환경에서 사용할 설정들은 왼쪽 실제 빌드 후 서버에 올렸을때 사용할 설정은 오른쪽이다

     

    // 2. 외장 톰캣
    // Argments 에서 -Dspring.profiles.active=dev 추가
    // Environment 에서 spring.profiles.actvie 와 dev 를 추가

     

     

    spring.profiles.active
    dev
    // Run As > Run Configuration
    // 1. 내장 톰캣 
    // Spring Boot 옵션에서 Profile 를 dev 로 선택 후 실행

    내장 톰캣으로 환경에 따른 설정 변화 확인하기

    @RestController
    public class ProfController {
    	Logger logger = LoggerFactory.getLogger(getClass());
    	
    	@Value("${prof.name}")
    	private String name;
    	@Value("${db.addr}")
    	private String addr;
    	@Value("${db.username}")
    	private String username;
    	@Value("${db.password}")
    	private String password;
    	
    	@GetMapping(value="/")
    	public String home() {
    		logger.info("profile name : {}", name);
    		logger.info("profile addr : {}", addr);
    		logger.info("profile username : {}", username);
    		logger.info("profile password : {}", password);
    		return "OK";
    	}
    	
    }

     

    spring.profiles.active=dev

    서버에 올렸을때 설정이 변경된것을 확인할 수 있다

Designed by Tistory.