본문 바로가기

Cloud/AWS

Deploy

 

1. 개발 환경과 코드의 분리

배포 시 코드와 환경 설정은 반드시 분리해야 한다.
코드가 특정 환경에 종속성을 가지지 않도록 설계해야, 다양한 환경에서 동일한 코드로 실행할 수 있다.

  • 문제점: 환경에 종속된 코드위와 같은 코드가 있다면, 로컬 개발 환경운영 환경에서 데이터베이스 URL이 다를 경우 코드 수정이 필요하다. 이는 유지보수성과 재사용성을 떨어뜨린다.
String databaseUrl = "jdbc:mysql://localhost:3306/mydb";
  • 해결 방법:
    환경별 설정 파일을 외부에서 관리하고, 코드는 환경 설정에 의존하지 않게 설계한다. 예를 들어, Spring Boot에서는 application.properties 또는 application.yml을 사용해 환경 설정을 관리한다.
# application.yml
spring:
  datasource:
    url: jdbc:mysql://${DB_HOST}:${DB_PORT}/mydb



환경 변수로 설정값을 주입

export DB_HOST=localhost
export DB_PORT=3306

 

 

2. 절대경로 대신 상대경로 사용

코드에서 경로를 지정할 때 절대경로를 사용하는 것은 위험하다.
예를 들어:

String filePath = "C:/Users/username/project/file.txt"; // 절대경로

문제점:

  1. 환경이 바뀌면 경로도 변경해야 함.
  2. 운영체제마다 경로 구조가 다를 수 있음.

해결 방법:

상대경로를 사용하여 코드를 작성.

String filePath = "./resources/file.txt"; // 상대경로

또는, 프로젝트 내의 경로를 ClassLoader를 통해 동적으로 가져오기.

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("file.txt").getFile());

 

 

3. 아파치 톰캣과 포트 번호

톰캣의 기본 포트 번호

  • 아파치 톰캣(Apache Tomcat)의 기본 포트 번호는 8080이다.
    이는 HTTP 통신을 처리하는 포트로 사용된다.

포트 번호 변경 방법

  1. server.xml 파일 수정:
    • 경로: ${TOMCAT_HOME}/conf/server.xml
    • <Connector> 요소의 port 속성을 변경.
      <Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443" />
      
  2. Spring Boot에서 톰캣 포트 변경:
    • application.properties에 설정.
      server.port=9090
      

 

4. 핵심 정리

  • 환경과 코드 분리:
    • 환경 설정은 코드 외부에서 관리.
    • Spring Boot와 같은 프레임워크는 환경 변수를 활용해 설정값을 주입.
  • 상대경로 사용:
    • 절대경로를 지양하고, 상대경로를 통해 환경 독립적인 경로를 설계.
  • 톰캣 기본 포트 번호:
    • 톰캣은 기본적으로 8080 포트를 사용.
    • 필요 시 server.xml 또는 Spring Boot 설정 파일에서 변경 가능.

 

 

 

 

아파치 톰캣의 번호가 8080

 

'Cloud > AWS' 카테고리의 다른 글

S3  (0) 2024.07.15
RDS  (0) 2024.07.15
EC2  (0) 2024.07.15
Cloud Computing  (0) 2024.07.15