배포 먼저 EC2에 접속한 다음 github에 업로드한 프로젝트를 clone한다. git clone 저장소 주소 받은 프로젝트 Build Test ./gradlew build 만약 permission 에러가 발생하면 아래 명령으로 권한을 추가해준다. chmod +x ./gradlew 이후 git pull 명령을 실행해서 pull이 잘 되는지도 확인한다. 쉘 스크립트 git 폴더가 아닌 다른 폴더에 스크립트 파일을 생성한다. vim ~/app/git/deploy.sh 내용 작성 #!/bin/bash REPOSITORY=/home/ec2-user/app/step1 PROJECT_NAME=freelec-springboot2-webservice PROJECT_FILENAME=SpringPractice-0.0.1..
인스턴스 생성 및 보안그룹, 탄력적 IP 설정은 생략.. pem 키를 ~/.ssh로 복사 cp pem키를 내려받은 위치 ~/.ssh pem 키 권한 부여 chmod 600 ~/.ssh/pem키 이름 config 파일에 아래 내용 작성 vim ~/.ssh/config #주석 Host 본인이 원하는 서비스명 HostName ec2의 탄력적 IP User ec2-user IdentityFile ~/.ssh/pem키 이름 config 파일 권한 부여 chmod 700 ~/.ssh/config ec2 ssh 접속 ssh 서비스명 자바 설치 sudo yum install -y 본인이 원하는 자바 버전을 입력(java + tab을 누르면 리스트가 나옴) 아래 명령을 통해 자바 버전을 설정한다 (리스트에 나온 선택 번..
네이버 api 페이지에서 앱 등록 application-oauth.properties #Naver (Naver는 구글처럼 스프링 시큐리티를 공식 지원해주지 않기 때문에 Common-OAuth2Provider에서 해주던 값들도 전부 수동 입력해야한다.) #registration spring.security.oauth2.client.registration.naver.client-id=6JlFyUbv0dZqrt3y_Bc5 spring.security.oauth2.client.registration.naver.client-secret=o4IZ_lzzGk spring.security.oauth2.client.registration.naver.redirect-uri={baseUrl}/{action}/oauth2/c..
Google Cloud Platform 프로젝트 생성 및 설정 Spring application-oauth.properties spring.security.oauth2.client.registration.google.client-id={클라이언트 아이디} spring.security.oauth2.client.registration.google.client-secret={시크릿 키} spring.security.oauth2.client.registration.google.scope=profile, email #scope는 디폴트가, profile, email, openid 인데 openid라는 scope가 있으면 OAuth2 provider로 인식하기 때문에 다른 소셜 로그인 #사용 시 각각의 Oauth2..
CDN이란? Content Delivery Network의 약자로 지리적 제약 없이 전 세계 사용자들에게 컨텐츠를 빠르게 전송하는 기술이다. CDN의 원리 프록시 서버에서 출발한 웹 캐시의 클라우드화다. 전세계 각지에 캐시 서버를 엄청 많이 설치한다. 그리고 한국에 있는 사용자가 접속하면 한국 캐시 서버가 정보를 보낸다. 프랑스에 있는 사용자가 접속하면 프랑스 캐시 서버에서 정보를 보낸다. CDN 자체가 알아서 사용자와 가장 가까운 캐시 서버에서 정보를 찾아 보내는 것이다. CDN은 서버와 사용자 사이의 물리적인 거리를 줄여 콘텐츠 로딩에 소요되는 시간을 최소화한다. 먼저 캐시 서버를 설치한 다음, 원본 서버와 멀리 있는 사용자가 웹사이트에 접속할 때 캐시 서버가 콘텐츠를 전달한다.
위 사진과 같이 Mustache 파일을 리턴했을 때 한글이 물음표로 출력되는 에러가 발생했다. 해당 에러는 머스테치 사용 시 스프링 버전에 따라 한글이 깨지는 문제가 있다고하는데, 스프링부트 2.7.x 버전을 사용할 때 아래 코드를 properties 파일에 추가해주니까 해결되었다. server.servlet.encoding.force-response= true 2.6.x 버전에서는 build 설정을 gradle에서 intellij로 변경해서 해결됐다는 사례도 있는 것 같다.