2021-06-20

0620 스터디

 1. jar 와 war?

war: 톰캣이 어플리케이션 바깥에 있다. 하나의 톰캣으로 여러개의 다른 어플리케이션을 돌릴 수 있다. 즉 별도의 웹서버와 웹 어플리케이션을 필요로 한다. 또한 war 방식의 패키지 구조를 사용한다.(WEB-INF 가 있는 jsp구조)

스프링부트의 경우 내장톰캣이 있어서 '실행가능한 jar(Executable jar)로 동작한다.

2. 어플리케이션마다 필요한 JDK버전, 톰캣버전이 상이한데.. jar로 배포하는 경우 그러면 운영체제 하나에서 돌아가는 모든 어플리케이션의 버전을 통일해주어야 함. -> 격리된 환경에서의 배포가 필요!!( 그래서 도커를 쓴다)

3. 도커를 사용하면- 같은 포트로 어플리케이션을 돌릴수있다!!

왜냐하면 운영체제 관점에서는 도커도 하나의 어플리케이션이기때문에

운영체제 { 12345포트 도커1: {8080 WAS}

               12346포트 도커2: {8080 WAS}

               12347포트 도커3: {8080  WAS} }

이런 식으로 되어있기 때문이다!! 그래서 같은 8080포트로 어플리케이션을 부를 수 있게 된다.

4. jar안에는 JDK가 포함되어있고, path를 유지하므로- 다른 환경일지라도 동일한 실행을 보장할 수 있다.??

5. PATH : java. 어플리케이션을 실행해주는 녀석 . 경로는 한개.

CLASSPATH: 프로그램이 실행될때 필요한 자원의 경로들. 여러개가 될 수 있다. 여기를 순회하면서 요구하는 파일이 있는지 찾아서 실행. (ex) application.properties )

6. 상대경로가 숨어있다

spring.datasource.url=jdbc: sqlite:[프로그램ROOT]sample.db

->절대경로로 바꾸어서 다시 실행해보기

7. 배포를 시도해보기!!!

댓글 없음:

댓글 쓰기

0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...