배경 지난번 프로젝트 때 cloud watch를 통해 봤을 때 메모리 용량이 초과되지 않았는데 서버가 계속 죽었다. 새벽 3,4시 쯤에 다들 열심히 원인을 분석했는데 그 중 팀원 한명이 원인을 찾았다. ec2에서는 기본적으로 swap memory를 사용하지 않기 때문에 이런 현상이 일어난다고 했다. 그리고 그때 팀원이 문제를 해결하고 넘어갔다. 그때 너무 바빠서 신경을 쓰지 못했다. 그냥 그런게 있구나 이런데서도 cs 배경지식이 이용되는구나 했었다. 그런데 혼자서 새로 프로젝트를 하던 와중에 또다시 문제가 발생했다. 설마 그때 그건가?? 하는 생각이 문득 들었다. 그냥 우연히겠지 하고 인스턴스를 재시작했는데 계속 서버가 죽었다. 그래서 스왑 메모리 설정을 일단 해보자 하는 생각이 들었다. swap mem..
https://ms3864.tistory.com/381 github action으로 ec2에 자동배포하기1 우아한테크캠프 마지막 프로젝트 때 나는 자동배포부분을 맡지 않아서 꼭 혼자서 다시 해보고 싶었다. 그리고 삽집도 많이했는데 다시 삽질하지 않겠다는 의지(?)를 갖고 블로그에 글을 정리한 ms3864.tistory.com https://ms3864.tistory.com/382 github action으로 ec2에 자동배포하기2 지난 글에서는 깃헙액션, 워크플로우에 대해 알아보았다. 이번에는 aws 관련 설정들을 알아보겠다. 그전에 먼저 대략적인 흐름을 설명하겠다. 원래 배포를 할때는 ec2를 생성하고 기본 우분투 설 ms3864.tistory.com 서론은 생략하겠다 7. 키 등록 이제 받은 Acce..
지난 글에서는 깃헙액션, 워크플로우에 대해 알아보았다. 이번에는 aws 관련 설정들을 알아보겠다. 그전에 먼저 대략적인 흐름을 설명하겠다. 원래 배포를 할때는 ec2를 생성하고 기본 우분투 설정, npm, nodejs, db설치를 한 뒤, git clone을 하고 env파일 설정, npm install, npm start, service nginx start등의 명령어 몇개로 서비스를 배포하고 git pull을 통해 앞선 작업들을 비슷하게 반복하고 필요하다면 pm2 등을 이용해 무중단 배포를 한다. 이건 가장 기본적인 흐름이다. 그리고 조금더 발전된 것이 크론탭을 이용한 자동배포다. 크론탭을 이용한 자동배포는 어렵지 않으니 모른다면 한번쯤 보고 넘어가자. https://ms3864.tistory.com/..
우아한테크캠프 마지막 프로젝트 때 나는 자동배포부분을 맡지 않아서 꼭 혼자서 다시 해보고 싶었다. 그리고 삽집도 많이했는데 다시 삽질하지 않겠다는 의지(?)를 갖고 블로그에 글을 정리한다. GitHub Actions이란 GitHub Actions를 사용하면 이제 세계적 수준의 CI/CD로 모든 소프트웨어 워크플로를 쉽게 자동화할 수 있습니다. GitHub에서 바로 코드를 빌드, 테스트 및 배포하세요. 코드 검토, 분기 관리 및 문제 분류가 원하는 방식으로 작동하도록 합니다. -- by 공식문서 https://github.com/features/actions 쉽게 말해서 워크플로우를 자동화 시켜주는 도구다. 자동배포, 린트체크, 자동화 스크립트 처리 등을 할 수 있다. 가장 기본적인 방법은 크론탭을 이용한..
이전에도 글을 썼는데 뭔가 좀 애매해서 처음부터 다시 글을 써볼려고 한다. 이번에도 배포하다가 오류가 나서 몇시간을 날려먹은지 모르겠다. 진짜... 개빡.....친다 이런일이 발생하지 않게 상세하게 글을 써야겠다. 인스턴스 생성 먼저 arm ubuntu로 만들어준다. 인바운드에는 기본 ssh, 80, 3306, 8080을 열었고 아웃바운드에는 전체를 허용해놨다. nodejs 설치 먼저 nodejs를 lts버전으로 깔아준다. 공식사이트 참조(매번 버전이 바뀌기 때문에) https://github.com/nodesource/distributions#installation-instructions 기본 설정 우분투 패키지 업그레이드 및 한글 설정(위에랑 순서가 바뀌어도 상관없을듯??) $ sudo apt upd..
nodejs교과서 노드 까는법 sudo apt-get update sudo apt-get install -y build-essential sudo apt-get install curl curl -sL https://~~~~~~~~~` sudo apt-get install -y nodejs 이번시간에는 기존 코드를 git으로 불러오고 기본 설정을 해보겠습니다. xhsall에서 아래 코드를 입력합니다. sudo apt-get install build-essential --- 필수적인 요소 sudo apt install npm --- npm 설치 curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash- sudo apt-get install -y nodej..
이전글을 보지 않았다면 이전글을 먼저 봐주세요. https://ms3864.tistory.com/32 aws ec2 사용법1(우분투) AWS(Amazon Web Services) EC2(Elastic Compute Cloud) 말 그대로 AWS는 아마존에서 운영하고 있는 웹서버이고 EC2는 컴퓨터를 임대해주는 서비스입니다. 먼저 AWS에 회원가입을 합니다. 1년은 무료니 무료버전으. ms3864.tistory.com 저는 xshell6을 사용해서 윈도우에서 리눅스 인스턴스로 접속하겠습니다. 아래 링크로 들어가시면 xshell을 다운로드 받을 수 있습니다. https://www.netsarang.com/ko/free-for-home-school/ 무료 라이선스 무료 라이선스 무료 사용자의 최고의 선택 Xs..
AWS(Amazon Web Services) EC2(Elastic Compute Cloud) 말 그대로 AWS는 아마존에서 운영하고 있는 웹서버이고 EC2는 컴퓨터를 임대해주는 서비스입니다. 먼저 AWS에 회원가입을 합니다. 1년은 무료니 무료버전으로 사용합시다. 참고로 카드가 필요합니다. 먼저 도시를 서울으로 바꿔줍니다. launch insstance를 누릅니다. 운영체제를 선택할 수 있습니다. 저는 우분투(리눅스)를 선택하겠습니다. 무료버전이므로 CPU1의 1GB메모리를 사용하겠습니다. 일단은 그냥 넘어가시면 됩니다. 이것도 그냥 넘어가시면 됩니다. 원하는 태그를 입력하시면 됩니다. 연습용이기 때문에 source를 anywhere로 했습니다. SSH는네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스..