목록전체 글 (101)
개발일기

📋 개요현재 나의 시점으로 이야기를 하자면 AWS의 EC2를 사용해서 프로젝트를 배포까지 완료 했다면 한가지 불편한 점이 생길 것이다.개발 서버에서의 변경점을 배포서버까지 옮길려면 얼마나 많은 단계와 귀찮음이 존재하는지.우리는 귀찮음을 Github Actions를 사용하여 해결해 보려고 한다. 🏴 Github ActionsGithub 공식문서를 보려면 여기를 눌러주세요.Github 공식문서GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD(연속 통합 및 지속적인 업데이트) 플랫폼입니다. 리포지토리에 대한 모든 끌어오기 요청을 빌드 및 테스트하거나 병합된 끌어오기 요청을 프로덕션에 배포하는 워크플로를 만들 수 있습니다. 프로젝트는 보통 여러명에..

📟 PM2란? (Process Manager 2)Node.js 애플리케이션을 프로덕션 환경에서 안정적으로 실행하고 관리할 수 있게 해주는 프로세스 매니저이다.애플리케이션이 중단되지 않도록 지속적으로 실행을 유지하고, 필요에 따라 재시작할 수 있게 해준다.PM2는 NPM을 통해 쉽게 설치할 수 있으며, 간단한 CLI를 제공하여 사용하기 편리하다. PM2 공식문서를 보려면 여기를 눌러주세요 ✈️ PM2를 사용하는 이유1. 터미널을 꺼도 앱이 계속 실행됨보통 node 또는 yarn start로 실행한 앱은 터미널을 닫으면 종료된다.하지만 PM2는 백그라운드에서 앱을 실행해줘서 터미널을 닫아도 앱을 계속 실행시킬 수 있다.2. 앱이 종료되어도 자동 재시작서버가 예기치 않게 종료되거나 에러가 발생해도, PM..

💾 NginX 설치NginX 설치 공식 홈페이지는 여기를 눌러주세요.sudo apt updatesudo apt install nginx ❓ NginX는 왜 사용하는 걸까1. Reverse Proxy (리버스 프록시)클라이언트 → Nginx → 실제 앱 서버서버 IP대신 프록시IP가 사용되기 때문에 클라이언트는 서버의 IP를 알수가 없음(🔒보안에 유리)2. HTTP → HTTPS 리다이렉트http://example.com → 자동으로 https://example.com 으로 보내준다3. SSL 인증서 연결 (Let's Encrypt 등)🔒보안 접속을 위해 필수 요소이다4. 정적 파일 서버HTML, 이미지, CSS 같은 파일을 직접 서비스할 수 있다(빠르게 콘텐츠 제공 가능)5. 로드 밸런싱 (여러 ..

📋 개요도메인 연결은 선택사항이지만그래도 해보면 좋은 경험이 될거 같아서 연결해 보려고 한다.돈을 많이 쓰고 싶진 않기 때문에 500원에 판매하는 도메인을 구매해서 사용하기로 했다.구글링을 해보면서 찾아봤는데 AWS의 Route53이란 걸 많이 사용해서 도메인을 연결하는 블로그가 많았다.그래서 Route53을 또 구글링해 본 결과 돈을 지불하고 사용해야 한다.Route53을 꼭 써야 할까? 가비아 DNS만으로 충분하지 않을까?한번 알아보자. 🌐 도메인 연결하기 1️⃣ 가비아 도메인 구매하기 가비아에 로그인한 후에 원하는 사이트 주소를 입력한다. 원하는 도메인 이름 또는 가장 저렴한 도메인을 선택한다. 구매 단계에서 여기서 뭘 선택해야 되는 거지? 하는게 네임 서버이다.네임 서버가 무엇인지 확인해 ..
♟️ Node.js 설치하기절차의 출처를 보려면 여기를 눌러보세요.아래는 간단하게 훔쳐온 설치 방법이다. 1️⃣ nvm(노드 버전 관리자) 설치curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashnvm을 사용하면 여러 버전의 Node.js를 설치할 수 있고 여러 버전 간을 전환할 수 있기 때문에여기서는 nvm을 사용하여 Node.js를 설치합니다. 2️⃣ 명령줄에 다음을 입력하여 nvm을 로드합니다.source ~/.bashrc 3️⃣ 명령줄에 다음을 입력하여 nvm을 사용해 최신 LTS 버전의 Node.js를 설치합니다.nvm install --ltsNode.js를 설치하면 npm(노드 패키지 관리자)도 설..

📋 개요EC2에 접속했다면 먼저 필요한건 내가 만든 프로젝트이다.이것은 생각보다 간단하다.하지만 EC2에 클론을 했다고 해서 내 컴퓨터의 바탕화면처럼 눈에 보이는 것이 아니다.그렇기 때문에 EC2에 내 프로젝트가 잘 들어왔는지 확인하기 위해서는 리눅스 명령어를 공부할 필요가 있었다.프로젝트를 클론하면서 필요했던 리눅스 명령어,그리고 env파일을 생성하는 방법까지 같이 알아보도록 하자.바로 시작해보자. 🗐 내 프로젝트 클론하기EC2(대여 컴퓨터)에 내 프로젝트를 클론하는 건 다른게 없다.똑같이 깃허브에서 배포하고자 하는 프로젝트 주소를 복사해서 사용해주면 된다.git clone 프로젝트 주소 🌍 리눅스 명령어 명령어 설명 ls현재 디렉토리 목록 보기cd디렉토리 이동pwd현재 위치 경로 확인mkdir..
📋 개요EC2 인스턴스를 만들고 나면 "보안 그룹(Security Group)"이라는 걸 설정하라는 말이 나온다.이게 바로 방화벽 역할을 하는데, 그 중에서도 중요한 게 바로 인바운드 규칙이다.설정을 해보자.📜 인바운드 규칙이란? "누가, 어떤 방식으로, 내 서버(EC2)에 접근할 수 있게 할 것인가?"를 정하는 거다.예를 들어, 브라우저에서 https://내사이트.com으로 접속하거나, 터미널에서 EC2에 접속할 수 있으려면,그에 맞는 **포트(port)**를 열어줘야 한다.🚪 포트 번호란?포트는 컴퓨터에서 특정 서비스로 연결되는 문 같은 거다.프로토콜 마다 정해진 포트가 있는데 이것은 "정해진 약속" 이라고 한다.HTTP로 443 포트를 사용할 순 있지만 브라우저에 포트를 입력해 주어야 한다.브..

📋개요aws 배포를 하려고 한다. 이전에 한번 했었지만 백엔드 서비스의 알수없는 오류 때문에 다시 해야한다.내가 알기로는 1년 무료 요금제가 있었던것 같은데 최근에 무료 요금제로 EC2를 사용했었는데 요금이 부과 되었다.그래서 요금제에 대해 찾아 봤는데 스치듯 봤던 글에 무료 요금제를 사용해도 4$가 부과될 수 있다라는 글을 본적이 있다.그리고 나의 통장에선 돈이 빠져 나갔다.하지만 어쩌겠는가.일단은 aws 배포를 해보자. ❓ EC2(Elastic Compute Cloud) 란 무엇인가?EC2란 AWS에서 제공하는 클라우드 컴퓨팅 서비스다.인터넷에서 서버 컴퓨터를 빌려서 내가 원하는 OS, 앱, 백엔드 등을 설치해서 사용하는 것이다.쉽게 말해, 아마존에 돈을 지불하고 한 대의 컴퓨터를 임대하는 것이다...