전체 글

전체 글

    [Nginx] proxy pass 설정하기

    [Nginx] proxy pass 설정하기

    nginx기본설정으로 node.js, spring등의 서버를 3000번, 8000번 등으로 돌리게되면 http://ip주소:port번호 의 주소로 접속하게 된다. 이때 port번호를 일일히 써주지 않는 방법! 은 proxy_pass를 설정해주는 것이다. 특정 도메인 또는 ip로 접속했을때, 연결해줄 내부 포트번호를 명시해두면 매핑해주기때문이다. cd /etc/nginx/sites-available vi {서버설정파일이름} 적용할 서버파일을 열어준뒤 proxy_pass http://localhost:{port번호}; 위 이미지와 같이 location / 블록안에 port번호가 적힌 proxy_pass를 입력해주면된다. 기존에 있던 try_files $uri $uri/ =404;는 주석처리해준다. 끝

    [EC2][Ubuntu] E212: Can't open file for writing

    [EC2][Ubuntu] E212: Can't open file for writing

    문제 파일 편집을 위해 vi로 파일을 편집하고 저장하는데, 에러메세지가 나왔다. $ vi filename 에러메세지 E212: Can't open file for writing 원인 내가 파일을 편집하려고 한 위치에서 ubuntu사용자에게 편집 권한이 없었기 때문이다. 해결방법 1. vi 앞에 sudo를 붙여준다. $ sudo vi filename 2. sudo su로 root사용자로 전환하여 파일을 편집한다, $ sudo su $ vi filename

    [AWS][Codedeploy] missing credentials - please check if this instance was started with an iam instance profile

    [AWS][Codedeploy] missing credentials - please check if this instance was started with an iam instance profile

    Codedeploy를 이용하여 EC2에 배포를 시도했는데, Codedeploy 콘솔에서 CodeDeploy agent was not able to receive the lifecycle event. Check the CodeDeploy agent logs on your host and make sure the agent is running and can connect to the CodeDeploy server. EC2에서 에러 로그를 확인해야할 것 같아서 로그를 확인해보았다. tail -F /var/log/aws/codedeploy-agent/codedeploy-agent.log 에러로그 missing credentials - please check if this instance was started ..

    [Javascript] const 변수 push(), pop()

    [Javascript] const 변수 push(), pop()

    개발 중, 배열1에서 배열2로 각 요속들을 옮기는 코드에서 당연히 let으로 빈 배열을 선언했는데, eslint error가 났다. push하는 코드가 있는데 왜 경고가 나지? const는 값 변경이 불가능한 것 아니었나? 라는 생각이 들었다. 하지만, const로 선언하고 push(), pop()을 해도 잘 동작한다. 이유를 찾아보니, const는 선언과 동시에 할당이 이루어질 때 사용하는 것으로, 재할당이 불가능하다는 특징이 있는데 push(), pop()의 경우 배열을 다른 값으로 교체하는 것, 재할당하는 것이 아닌, 기존 배열 원본을 수정하는 것이므로 가능하다는 것이다. 배열은 포인터로 선언이 되어있는데, push, pop은 포인터를 바꾸는 것이 아닌 같은 포인터의 값만 변경시키는 것이다. +덧붙..

    [Github Actions][Codedeploy] CI/CD 구축하기 (1)

    [Github Actions][Codedeploy] CI/CD 구축하기 (1)

    Github Actions와 AWS Codedeploy를 이용해서 CI/CD를 구축해보았다. Travis CI, Jenkins등은 사용해보지 않았지만 Github actions로 시작해보는 것도 괜찮은 것 같다. 자동배포라고하면, 구축하는 것 자체에 시간이 너무 뺏길것 같고, 구현하기 바빠서 미뤘었는데 처음 한번만 제대로 해놓으면 그 다음부터는 작은 부분들만 수정해서 바로 적용할 수 있기때문에 처음에 시간을 들여서라도 한번 해보는게 좋은 것 같다고 느꼈다! 이번 포스팅에서는 Github Actions와 Codedeploy사용을 위한 세팅(AWS S3, EC2, Codedeploy등)을 진행한다. AWS EC2 환경은 Ubuntu 20.04이다. 1. S3 버킷 생성 Github Actions에서 EC2에..

    [AWS EC2] WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    [AWS EC2] WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    AWS EC2에서 탄력적 IP를 사용하다가, 인스턴스를 바꿨을 경우 터미널에서 ssh 접속시 경고창이 뜬다. 접속하는 IP는 같지만, 실제 인스턴스지문이 달라졌기 때문이다. 오류 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 해결방법 ssh-keygen -R {ip or domain} # ssh-keygen -R 1.12.123.123 명령어를 쳐준뒤, 다시 ssh 접속을 하면 잘된다~

    [Ubuntu] EACCES: permission denied, scandir '/root/.npm/_logs'

    [Ubuntu] EACCES: permission denied, scandir '/root/.npm/_logs'

    새로 세팅한 EC2에 node설치하고 npm 명령어를 사용하는데 아래와같이 에러가 났다. EACCES: permission denied, scandir '/root/.npm/_logs' 에러메세지에는 sudo chown -R 1000:1000 "/root/.npm"를 해보라고 되어있는데, 실행해봐도 같은 오류가 생긴다. 나는 root계정으로 작업을 하고있었는데, 내가 작업하려던 경로는 ubuntu유저에 의해 관리되는 폴더라 그런듯했다. exit하고 ubuntu유저로 npm명령어를 실행해주니 잘된다..! root는 다할수있는 줄 알았는데 그런건 아닌가보다 :)

    [Spring Boot] 오류: Cannot construct instance of (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

    [Spring Boot] 오류: Cannot construct instance of (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

    정말 오랜만에 작년에 진행했던 프로젝트의 서버를 다시 살려보았다. 겨우 살리는데는 성공을 했는데, API호출을 해보니 500에러가 난다!ㅠㅠ 🚨 에러메세지 Cannot construct instance of `model` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) 문제가된 'model' 위치에는 req, res에 사용되는 dto class가 있었다. import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lom..

    [Mysql] 날짜 시간 더하기, 빼기 (DATE_ADD, DATE_SUB)

    [Mysql] 날짜 시간 더하기, 빼기 (DATE_ADD, DATE_SUB)

    특정 날짜, 시간에서 일정 초,분,시간을 더하거나 빼야하는 경우 더하기 DATE_ADD(날짜 시간, INTERVAL 숫자 단위) SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND); # 1초 SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE); # 1분 SELECT DATE_ADD(NOW(), INTERVAL 1 HOUR); # 1시간 빼기 DATE_SUB(날짜 시간, INTERVAL 숫자 단위) SELECT DATE_SUB(NOW(), INTERVAL 1 SECOND); # 1초 SELECT DATE_SUB(NOW(), INTERVAL 1 MINUTE); # 1분 SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR); # 1시간 NOW()..

    [Codedeploy] 에러메세지 및 해결방법 정리

    [Codedeploy] 에러메세지 및 해결방법 정리

    Codedeploy + Github actions 로 CI/CD를 구축하면서 엄청나게 많은 시도와 많은 에러메세지들을 만났었는데, 시도하면서 만난 에러메세지들과 해결방법들을 정리해두려고 한다. (Github actions에서 겪은 문제들은 따로 올릴 예정!) Error 로그 확인방법 1. 먼저 Codedeploy의 경우 AWS codedeploy에서 해당 배포를 클릭하면 에러메세지를 확인할 수 있다. codedeploy설정과 관련된 에러라면 대부분 여기 빨간박스에 에러메세지가 뜬다. 2. codedeploy설정이 아닌, 배포스크립트를 수행하던 중 오류가 발생했다면, 하단으로 스크롤하여 View events를 클릭하면, 더욱 자세한 오류메세지를 보여준다. View events 클릭 여기서 하단의 Scrip..