Cloud 15

Cloud/Nginx
Nginx

Nginxnginx는 오픈 소스 웹 서버로 고성능 및 확장가능한 프로그램을 제공하기 위해 설계된 소프트웨어이다. 주로 아래와 같은 용도로 사용한다. 웹 서버: 정적 및 동적 웹 콘텐츠를 서빙하는데 사용한다. 정적 콘텐츠를 빠르게 처리할 수 있고, 요청에 따라 동적 웹 응용 프로그램 (WAS)로 연결하여 처리 할 수도 있다. WAS에서 처리하는 정적 콘텐츠를 웹 서버가 제공 함으로써 WAS에 일어나는 작업량을 낮춰 부담을 줄여주는 용도로 사용한다. 리버스 프록시 : 백엔드 서버 앞단에서 클라이언트 요청을 전달하는 역활을 수행하며, 부하 분산 및 고가용성을 실현하는데 사용된다. SSL/TLS 지원 : HTTPS을 지원하여 웹 서버 보안을 강화하는데 역활을 한다. 높은 성능, 커뮤니티 지원이 높다.     N..

Cloud/Docker
docker compose을 이용하여 django, postgres 연결하기

일단 해당 작업을 하기 전에 현재 나의 폴더 구성을 보여주자면 아래와 같이 되어 있다.  backend 폴더는 django 프로젝트로 되어 있고 이를 이미지로 빌드하기 위해서 backend안에 Dockerfile 생성하여 만들었다.   🐳 DockerfileFROM python:3.9WORKDIR /appCOPY requirements.txt ./RUN pip install --no-cache-dir -r requirements.txtCOPY . .CMD [ "python", "manage.py", "runserver", "0.0.0.0:8000" ] 📄 requirements.txt   .........psycopg2 여기서 psycopg2 라이브러리는 python에서 postgreSQL을 사용하기..

Cloud/Docker
Docker compose 작성하는 방법과 명령어

Docker compose도커 컴포즈는 단일 서버에서 여러개의 컨테이너를 하나의 서비스로 정의하여 컨테이너의 묶음으로 관리할 수 있는 작업환경을 제공하는 관리도구를 의미한다. 여러 개의 컨테이너가 하나의 어플리케이션으로 동작할 때 도커 컴포즈를 사용하지 않는다면 일일이 하나씩 컨테이너를 만들어야하는데 해당 방법으로 한다면 관리가 쉽지 않다.  이런 단점을 보완하기 위해서 나온 것이 도커 컴포즈이며 이를 통해 여러개의 컨테이너의 옵션과 환경을 정의하는 파일을 읽어 컨테이너를 순차적으로 생성하는 형식으로 간편하게 여러개의 컨테이너를 관리 할 수 있다. 아래는 도커 컴포즈 파일의 예시이다.참고로 yaml 파일은 뛰어쓰기 2칸을 기준으로 영역을 구분한다.  🐋 docker-compose.ymlversion: ..

Cloud/Docker
Docker Hub와 이미지 버전 관리

Dockerhub도커 허브란, 도커 이미지를 관리하는 버전 관리 서비스를 말한다. 도커 허브를 통해 도커 이미지의 버전을 관리하거나, 이미지를 가져와 새로운 레이어를 덧붙여 자신만의 새로운 이미지를 만들어 낼수도 있다. 깃허브와 마찬가지로 도커 허브를 통해 도커 이미지를 이용하기 위해서는 로컬에 도커가 설치되어 있어야 하며, 도커 허브에 가입되어 있어야 한다.  Docker Hub Container Image Library | App ContainerizationDeliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deploymen..

Cloud/Docker
Dockerfile 작성하는 방법과 Docker 명령어 사용하기

Dockerfile 작성법Dockerfile은 도커 이미지를 생성하기 위한 스크립트 파일을 의미한다. 해당 스크립트 파일을 빌드하면, 도커파일에 나열된 명령문을 차례대로 수행하며 도커 이미지를 만든다. 그리고 만들어진 이미지를 통해 컨테이너를 구축할 수 있다.  🐳 Dockerfile# python 3.12버전의 이미지를 가져온다. FROM python:3.12# 현재 내가 위치한 경로에 있는 모든 파일을 도커 컨테이너 안의 project 폴더 안으로 복사한다. COPY . project/# 해당 URL에서 파일을 다운받는다.ADD https://example.com/file.tar.gz project/# 도커 컨테이너 안의 project 폴더로 이동한다. WORKDIR project/# 환경 변수를 ..

Cloud/Docker
Docker에 대해서 알아보기

Docker도커는 애플리케이션을 컨테이너화 하여 표준화된 환경에서 작업할 수 있도록 하는 플랫폼을 의미한다. 쉽게 말하자면 각자 다른 컴퓨터에서는 돌아가지 않는 애플리케이션을 환경을 도커를 통해 동일하게 맞춘 뒤, 도커 위에서 실행하면 안정적인 환경에서 개발을 진행할 수 있다.여기서 나오는 컨테이너란 하나의 애플리케이션이 돌아갈 수 있도록 하는 단위이다. 위의 예제로 본다면, 파이썬을 돌릴 수 있는 환경 하나가 컨테이너 한 개다.      작동 방식도커는 컨테이너 환경으로 작동하며, 이와 비슷한 가상머신 환경에 대해 차이점을 설명하며 진행하고자 한다.  가상머신 방식은 하이퍼바이저(물리적인 하드웨어 위에서 여러 가상머신(VM)을 관리하는 소프트웨어) 위에 각각의 자체 운영체제를 설치하고 실행하는 식으로 ..

Cloud/Git
Commit Convention (유다시티 커밋 메세지 스타일 가이드)

커밋 컨벤션커밋(Commit)은 프로젝트의 변경사항을 메시지와 함께 저장하는 것을 의미한다. 커밋을 하게 되면 메시지가 남는데 이를 통해서 자기가 작업했던 시점으로 돌아가거나, 수정된 내역을 찾아서 프로젝트 진행에 있는 부분에 있어서의 등등 여러 이점을 받을 수 있다. 혼자 작업한다면, 자신이 알아보기 쉽게만 커밋 메세지를 작성해도 무방하나, 협업 같은 활동을 하게 된다면 읽는 사람이 이해하기 쉽도록 메시지를 작성하여야 한다. 해당 문제를 해결하기 위해서 다른 사람들이 자주 사용하는 커밋 스타일을 정하고 이를 활용한다면 많은 효과를 가져다줄 것이라고 생각한다.  따라서 사람들이 자주 사용하고 있는, Udacity의 깃 커밋 스타일 가이드를 바탕으로 커밋 컨벤션을 정리하려고 한다.    커밋 메세지의 구조..

Cloud/Git
Learn Git Branching을 통해서 브랜치 관리 배우기 (메인 브랜치편)

오늘은 Learn Git Branching을 통해서 깃허브 명령어를 정리해보고자 한다.     Learn Git BranchingLearn Git Braching이란 Git branch을 사용하는 방법을 가이드와 그림으로 나타내어 학습할 수 있는 사이트이다.  Learn Git BranchingAn interactive Git visualization tool to educate and challenge!learngitbranching.js.org 해당 사이트에 들어가보면, git명령어에 대한 소개를 소스트리와 실습을 통해 알려주는데, 오늘은  이를 통해 해당 기능들을 모두 학습해보려 한다.     Commitgit 저장소에 스냅샷에 대한 기록을 남기는 것..