본문 바로가기
반응형

분류 전체보기323

Nginx 설치 from Source(Mac기준) 1. 설치 디렉토리 /app/nginx 생성 2. nginx 다운로드 - http://nginx.org/en/download.html - stable 버전 다운로드, /app/nginx 디렉토리에 압축해제(/app/nginx/nginx-1.20.2) 3. PCRE 다운로드 - https://www.pcre.org/ -> https://sourceforge.net/projects/pcre/files/ (pcre2 아님) - tar.gz 파일 다운로드 /app/nginx 디렉토리에 압축해제(/app/nginx/pcre-8.45) * PCRE 라이브러리는 http_rewrite_module와 Location Directive의 정규식 표현에 필요하다 함. 4. Nginx 설치 > cd /nginx/nginx-.. 2022. 1. 18.
AWS - EC2 기본 1. EC2 인스턴스 요금 인스턴스 사용량 + EBS요금 + 통신요금 + 그 외 옵션 - 인스턴스 사용량(기동시간 X 단가): 인스턴스 기동 초단위 과금, 정지 시에는 미과금 - EBS 스토리지(용량 X 단가): 스토리지 성능(SSD,HDD,IOPS)에 따라 단가 다름, 정지 시에도 과금 - 통신요금(Outbound 요금): 인바운드는 무료, 인스턴스에서 인터넷으로 나가는 아웃바운드에 과금 - 그 외 옵션: Elastic IP(고정 공인 IP) 서비스 등 옵션 사용 시 추가 * IOPS(Input Ouput Per Second): 1초간 처리할 수 있는 입출력 수 2. 주요 인스턴스 유형 - 범용(T2,T3,M4,M5 등): 일반적인 서버, 버스트 기능을 지원하는 유형도 있음 - 컴퓨팅 최적화(C4,C5.. 2022. 1. 16.
SpringBoot EhCache JavaConfig설정 1. pom.xml 설정 org.springframework.boot spring-boot-starter-cache net.sf.ehcache ehcache 2.10.6 2. Cache Config 설정 @EnableCaching @Configuration public class CacheConfig { @Bean public EhCacheCacheManager ehCacheCacheManager() { net.sf.ehcache.config.Configuration configuration = new net.sf.ehcache.config.Configuration(); // path는 DiskStoreConfiguration 클래스의 ENV enum 참조하거나 PhysicalPath로 설정 config.. 2022. 1. 11.
addViewControllers()로 불필요 Controller 로직 제거 Controller에서 별다른 로직없이 단순 view 매핑 및 redirect가 필요한 경우 addViewControllers() 메소를 Override하여 설정 1. View 호출 @GetMapping("/hello") public String hello() { return "hello"; } 위와 같은 Controller 로직은 아래와 같이 WebConfig addViewController(), setViewName()으로 설정 가능 @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registr.. 2022. 1. 10.
Cookie 공유 범위 1. Cookie는 기본적으로 Cookie를 생성한 서버로만 전송 2. Cookie는 도메인 기준으로 관리 및 전송으로 동일 도메인의 Port가 다를 경우 공유 - 가끔 동일 도메인에 다른 Port 사용하는 어플리케이션끼리 Cookie 덮어쓰는 문제 발생 함 3. 상위도메인 기준으로 하위도메인까지는 Cookie 공유 가능 - 아래와 같이 Cookie domain 설정필요 Cookie cookie = new Cookie("key", "value"); cookie.setDomain("mydomain.com"); Domain 세팅하면 아래와 같이 domain 정보에 값이 설정됨 테스트로 'dev.mydomain.com' 으로 어플리케이션 하나 더 실행해 보면 cookie가 공유되는 것 확인 2022. 1. 10.
SpringBoot Multi Servlet 추가 MVC설정 분리 테스트 SpringBoot 서블릿을 추가하기 위해 ServletRegistrationBean을 등록하여 테스트 진행 프로젝트 기본 구조는 아래와 같이 잡았고 my패키지에 있는 컨트롤러(MyController) 및 MVC 설정(MyWebConfig)을 분리하고자 한다. 어플리케이션 메인에서는 기본 서블릿에 포함되지 않게 MyController, MyWebConfig를 컴포넌트 스캔에서 제외했다. 그리고 ServletRegistrationBean을 등록하여 MyWebConfig를 context에 등록하고 기타 서블릿 설정을 한다. 참고로 addUrlMappings에서 "/my/**" 와 같이 "*"는 동작하지 않아 MyController의 모든 URL을 등록해줬다. @SpringBootApplication @Com.. 2022. 1. 4.
AWS 로드발란서(ELB) 특징 및 종류 로드발란서를 사용 해야하는 이유 사용자 트래픽을 여러 Instances에 분산 Single point of access(DNS) 제공을 위해 Instance의 실패를 커버하기 위해서(HA) SSL(HTTPS) 통신 지원 Public/Private의 트래픽을 분리 쿠키 사용 지원 Health Check(문제 있는 인스턴스로 트래픽 전달안함 ) ELB 구성 ELB 타입 인터넷 접속 여부에 따라 Internet Facing, Internal 타입으로 구분 Internet Facing ELB : 인터넷 연결 가능, Public/Private IP 사용 가능, 인터넷/VPC내부 접속 가능 Internel ELB : 인터넷 연결불가, Private IP만 사용, VPC내부 접속 가능 ELB 종류 1. CLB(Cla.. 2021. 12. 28.
네트워크 도메인 - DNS, A레코드, CNAME, TTL DNS(Domain Name System) naver.com이라는 문자열의 도메인을 x.x.x.x 같은 IPv4 주소로 변환해주는 네트워크 서비스 DNS Record DNS는 아래처럼 '도메인-IP' 매핑 정보를 Record라는 이름으로 관리 google.com 172.0.17.1 A Record 타입 mytest.com test.com CNAME 타입 A 레코드 (A Record) 위 표의 1행처럼 도메인과 IP 주소를 직접 매핑하는 방법 하나의 도메인에 여러 IP를 매핑도 가능 한번의 요청으로 접속할 서버의 IP를 바로 알 수 있음 IP가 자주 바뀌는 환경에서는 안좋음 CNAME(Canonical Name) 위 표의 2행처럼 도메인에 다른 도메인을 매핑하는 방법 실제 IP주소를 얻기위해 여러번 DNS.. 2021. 12. 17.
반응형