DevOps

    [docker] 도커를 이용한 SpringBoot, MySQL 간단한 배포

    AWS EC2 인스턴스 만들기 docker, docker compose 설치 (docker는 root권한이 필요하기 때문에 sudo 없이 사용하기 위해 사용자를 docker 그룹에 추가) docker-compose.yml, Dockerfile 설정하기 s3에서 docker-compose.yml, Dockerfile, *.jar 다운로드 (SWAP 메모리 지정을 통해 RAM 늘리기) docker compose를 이용하여 컨테이너 생성 후 실행 docker 설치 Install Docker Engine on Ubuntu docs.docker.com sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release sud..

    [AWS] S3

    S3 Simple Storage Service의 약자로 간단한 저장소 서비스입니다. 일종의 파일 서버입니다. 기존 파일 서버는 트래픽이 증가하면 이에따른 장비를 더 설치해야 하지만 S3는 이를 대신 해줍니다. 즉, 트래픽에 대한 걱정은 하지 않아도 됩니다. 데이터를 중복으로 분산 저장하여 복원이 가능합니다. 버전 관리 기능을 제공합니다. HTTP를 지원하기 때문에 REST, SOAP 인터페이스를 제공합니다. 파일 접근 권한을 설정할 수 있어서 보안에 효율적입니다. 이외에도 여러 특징이 있지만 차츰 공부하면서 추가하겠습니다.. * 추가로 빌드 파일을 S3에 올리는 방식은 지양해야합니다. 후에 적용해 볼 CI/CD 전략에 대하여 s3로 빌드파일을 올리면 빌드, 테스트 자동화를 할 수 없기 때문에 github..

    [AWS] 간단한 배포

    1. 프로젝트 만듬 2. 깃허브에 올림 3. EC2 서버로 접속하여 깃허브 클론 4. apt를 이용해 JDK 설치 5. MySQL 설치 및 초기설정 6. 프로젝트 빌드 -> S3 서버로 대체 7. 보안 그룹 방화벽 해제 7. nohup 백그라운드 실행 8. 로그 EC2 서버 접속 우선 EC2 인스턴스를 만든 후 2가지 방법으로 서버를 접속할 수 있습니다. movaXterm을 이용한 접속 cmd에서 ssh 명령어를 통한 접속 movaXterm을 이용한 접속 EC2 인스턴스 만드는 포스팅에서 자세히 다루고 있습니다. ssh를 통한 접속 ssh -i 키페어이름.pem ubuntu@퍼블릭ipv4주소 ssh : 프로토콜의 일종으로써 데이터를 보내는 데 사용하는 HTTP라 이해하면 됩니다. -i : 개인 pem키 ..

    [Linux] 권한 설정 chmod, 그룹 변경 chown

    최고 관리자 접속 sudo passwd root New Password: root1234 // 임의로 지정 Retype new password: root1234 su root Password: 최고 관리자인 root로 접속하기 위해서는 패스워드를 설정해주어야합니다. 이후 su root로 접속하면 됩니다. 다시 ubuntu로 접속하고 싶을 때 su ubuntu 권한의 형태 read 읽기 write 쓰기 execute 실행하기 -rw-r--r-- 이게 어떤 의미일까요? 그림을 보면 이해할 수 있습니다. 파일 or 폴더 root 권한 root groud 권한 anyone 권한 그룹 홍길동이 만든 파일이나 폴더는 홍길동 그룹에 속하게 됩니다. 그룹안에 든 유저 A와 B는 해당 파일이나 폴더의 권한에 따라 행동할..

    [Linux] vi 에디터 사용법

    vi 에디터 Linux 환경에서 text 에디터를 사용할 수 있습니다. vi a.txt cat 해당 파일을 읽고 싶을 때 사용합니다. cat a.txt 여러가지 모드 일반 모드 처음 화면이 일반 모드입니다. d + d : 해당 행 삭제 yy : 해당 행 복사 y : 블럭 지정한 것을 복사 p : 붙여넣기 ctrl + b : 위로 몇십칸 한번에 이동 ctrl + f : 아래로 몇십칸 한번에 이동 $ : 행의 맨 끝으로 커서 이동 Visual 모드 원하는 만큼 블럭을 잡고 싶을 때 사용합니다 Ctrl + V로 접근합니다. 방향키를 통해 원하는 블럭만큼 지정 가능 입력 모드 i (INSERT)를 누르면 입력 모드로 전환되어 문자를 입력할 수 있습니다. esc : 입력모드에서 빠져나옴 명령행 모드 shift +..

    [Linux] 프로세스 실습

    중요한 개념 demon Thread Context - switching sleep 위 개념들은 해당 포스팅에서 다루고 있습니다. [OS] Process 프로세스란 "실행 중인 프로그램"입니다. 실행되기 전까지는 보조기억장치에 있는 데이터이지만, 이 프로그램을 메모리에 적재하고 실행하는 순간부터 해당 프로그램은 프로세스가 됩니다. 포 baksakcci.tistory.com 프로세스 확인 및 종료, 강제종료 service 잘 쓰지 않으므로 생략합니다. service --status-all : 프로세스 확인 sudo service tomcat9 start : 해당 프로세스 시작 systemctl sudo systemctl list-unit-files (| grep tomcat9) : 로컬에 있는 모든 프로세스..

    [git] github란

    원격 저장소 Remote Repository 로컬 PC 저장소가 아닌 네트워크상에 다른 위치에 존재하는 git 저장소입니다. 어딘가의 인터넷상일수도 있고, 회사의 사설 네트워크, 우리팀의 사설 네트워크 상의 위치일수도 있습니다. 예를들어 대학교 서버 안일수도 있고 회사 사설 서버 내의 저장소일 수 있습니다. 원격 저장소는 네트워크를 통해 저장소를 공유하여 최종적으로 협업을 하기 위함입니다. gitHub란 github는 git 원격 저장소 서비스 중 한개입니다. github 장점 1. 서비스 중 사용자가 가장 많아서 오픈소스 프로젝트에 참여하고 기여할 수 있는 기회가 많습니다. 2. 공개 저장소인 경우 무료로 이용이 가능합니다. 3. 프라이빗 저장소인 경우 깃허브에서 보안 구축을 해줍니다. 4. 원격 저장..

    [git] 원격 저장소의 이해 및 프로젝트 push

    원격 저장소 동작 방식 그림과 같이 로컬 PC에서 프로젝트를 작업하다가 다른사람과 같이 협업해야 할 상황이 올 수 있습니다. 이럴 때 원격 저장소를 만들어 프로젝트를 올려 같이 공유하며 작업할 수 있습니다. 0. 원격 저장소 만들기 github에서 Repository 생성 HTTPS URL 주소 복사 0. 리눅스 환경 준비 및 프로젝트 폴더로 경로 변경 1. 초기 설정 2. 초기 깃 만들기 및 내용 추기 git init .git 파일 만들기 git add . 현재 디렉토리에 있는 전체(.) 파일을 .git 파일에 추가 git 현재 상태 확인 3. 커밋하기 4. 업로드하기 원격 저장소 연결 - git remote add 연결되었는지 확인 - git remote -v 원격 저장소 별칭인 origin에 파일 ..

    [docker] docker 맛보기

    docker를 통해 배포 과정에서 spring 서버 등을 실행할 수 있는 환경을 자동으로 만들어준다. docker 설치 -> 프로젝트 빌드 -> Dockerfile, docker-compose.yml, application.yml 생성 및 수정 -> WSL에서 docker run docker windows 설치 docker는 Linux 환경에서 작동하므로 windows에서는 WSL을 설치해야 합니다. WSL 설치 방법은 많은 자료들이 있으니 구글링하셔서 설치하시면 됩니다. 설치 후에 설치가 되었는지 확인합니다. 저는 Ubuntu OS와 docker가 이미 설치되어 있어서 각각 WSL로 돌아가는 것을 확인할 수 있습니다. 이제 docker를 설치해봅니다. windows에서는 직접 docker 사이트에 가서..

    [Linux] apt, ubuntu repository, PPA저장소

    window와 ubuntu의 다운로드 과정 LOL을 설치하고 싶다면 LOL 사이트를 직접 접속하여 해당 프로그램을 다운로드 해야합니다. 그 후 .msi 파일을 통해 설치를 진행하는데 설치 과정에서도 단순히 프로그램을 하드디스크에 저장하는 것 이외에도 시작프로그램 등록, 통신을 위한 방화벽 오픈, 환경변수 설정 등 다양한 과정을 거쳐야 합니다. ubuntu에서도 해당 사이트에 접속하여 "wget" 명령어를 사용하여 다운로드를 진행한 후 .deb 파일을 명령어를 사용하여 설치해야 합니다. 너무 과정이 많습니다. 이를 한번에 해결해주는 기능이 있습니다. ubuntu apt Advanced Packaging Tool .deb 형식의 패키지들을 설치, 삭제, 수정 등 관리해주는 툴입니다. ubuntu는 ubunt..