이전 글에서 S3 bucket과 IAM을 생성하고 SpringBoot project에서 S3 접근에 사용할 accessKey와 secretKey를 얻는 것까지 다뤘다. 2024.01.21 - [DevOps] - [AWS/S3] Spring boot project 이미지 업로드를 위해 S3 버켓 만들기 [AWS/S3] Spring boot project 이미지 업로드를 위해 S3 버켓 만들기 Amazon S3 버킷 만들기 IAM 만들기 생성 완료 IAM accessKey, secretKey 얻기 IAM - 사용자 - 보안 자격 증명 액세스 키 만들기 CLI 선택 accessKey, secretKey 저장 저 두 가지 Key를 저장해 뒀다가 spring properties에 등 innovation123.ti..
Amazon S3 버킷 만들기 IAM 만들기 생성 완료 IAM accessKey, secretKey 얻기 IAM - 사용자 - 보안 자격 증명 액세스 키 만들기 CLI 선택 accessKey, secretKey 저장 저 두 가지 Key를 저장해 뒀다가 spring properties에 등록해서 S3 bucket에 접근하는 데에 사용한다. 비밀 액세스 키 (secretKey)는 생성 시에만 검색할 수 있다. 미리 저장해둬야 한다. 다음 글에서는 SpringBoot project에서 S3에 이미지를 업로드하는 방법을 다룬다. 2024.01.21 - [DevOps] - [Spring / S3] SpringBoot 프로젝트 - S3 이미지 업로드
문제 상황 git pull을 하고 다시 build를 하는데, 갑자기 굉장히 느려지더니 서버가 먹통이 되었었다. 우선 서버 재시작을 해봤더니 일시적으로 해결되었으나, 다시 서버가 매우 느려지는 현상이 발생했다. EC2 서버 사양 AWS EC2 위치 : 아시아 태평양 (서울) 사양 : t2.micro (Free Tier) 용량 : 30GB (Free Tier 최대) OS : ubuntu22.04 원인 예측 이 서버에는 작은 SpringBoot project 하나만 올라가 있었기 때문에 용량 문제는 아닐 거라고 판단했다. 또한, 갑자기 느려졌기에 다른 문제가 있을 거라고 생각했다. 서버에 부하가 큰 것도 아닐 것이라고 생각했다. 현재 FrontEnd 측 로컬에서 테스트 정도로만 사용하고 있었다. 검색해 보니 ..
1. 현재 실행 중인 process 중단 ps -ef | grep {processName} (PID 확인 후 kill) sudo kill -9 {PID} 2. 변경 사항 git에서 pull 해오기 (ubuntu 서버에서 dev 브랜치를 빌드하여 배포한 상태) git checkout dev git pull origin dev 3. 다시 build 하기 chmod +x gradlew ./gradlew clean build 4. 빌드된 jar 파일 백그라운드에서 실행 (jar 파일 위치로 이동) cd build/libs (백그라운드에서 실행) sudo nohup java -jar {jar파일 명}.jar & > /dev/null 2>&1 & (그냥 실행 : ubuntu 서버 종료 시 down) sudo jav..
Vi 에디터 Vi 에디터는 전통적인 유닉스 계열의 에디터이며, Visual Editor의 줄임말이다. Vi 에디터에서 조금 더 개선하여 자동화, 시각화 메뉴 등을 추가한 Vim(Vi improved)도 존재한다. 리눅스 셸에서 vi 에디터 설치 sudo apt-get install vim vi 에디터 열기 해당 이름의 파일이 없으면 새로 생성 있으면 해당 파일 open vi test.txt 저장, 종료 :wq //저장하고 종료 (write quit) :q //종료 (quit) vim의 4가지 모드 일반 모드 입력 / 명령 모드에서 [esc]를 입력하여 일반모드로 변경한다. 입력(편집) 모드 입력모드로 전환 : 일반 모드에서 [a], [i] 입력 (a : 커서 뒤로 입력, i : 커서 위치에 입력) 삭제 ..
파일 복사와 링크 리눅스에는 파일을 복사할 수도 있고, 링크할 수도 있다. 복사는 말그대로 A라는 파일의 데이터와 같은 데이터를 가진 새로운 파일 B를 만들어 내는 것이고, 링크는 A라는 파일을 가리키는 B라는 파일을 새롭게 만들어내는 것이다. 파일 복사시에는 A파일과 B파일이 각각 다른 메모리를 차지하게 되고, 링크 시에는 메모리는 원본파일 A의 메모리와 B가 가리키는 메모리가 같다. 파일 복사 cp 명령어를 이용해서 파일을 복사할 수 있다. cp [복사할 파일명] [새로 만들 파일명] ex1) 파일 복사 같은 폴더 내에서 파일을 복사한다. cp list.txt list_copy.txt ex2) 폴더 복사 폴더와 해당 폴더 하위의 모든 파일을 복사한다. 폴더 생성 mkdir folder1 폴더 복사 c..
프로세스 프로세스 = 실행 중인 프로그램 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. foreground process / background process foreground process 셸에서 프로세스 실행을 명령했을 때, 해당 프로세스가 종료되기 전까지 사용자가 다른 입력을 할 수 없는 프로세스를 말한다. 해당 프로세스의 실행시간이 오래 걸린다면, 프로세스 종료 전까지 사용자는 입력을 할 수 없다. [Ctrl] + c 명령어 : 실행중인 foreground process를 즉시 종료하는 명령어이다. 해당 프로세스는 완전히 종료된다. -> 작업이 실행 중에 ls 명령어를 입력해도 해당 작업이 모두 끝난 뒤에 동작한다. (sleep n)은 n초동안 아무것도..
리눅스는 각각의 명령어가 가능한 작고 간단한 동작만 실행하고, 여러 가지 명령어를 조합하여 더 큰 동작을 실행하도록 한다. 즉, 각각의 작은 기능을 하는 명령어들의 조합으로 전체 시스템이 동작하도록 한다. 명령어들을 조합하는 두가지 방법인 리다이렉션과 파이프에 대해 알아보자. 표준 입출력(Standard Stream) 리눅스는 CLI(Command Line Interface)라는 명령어 기반 운영체제이다. 셸에 입력하는 command로 실행되는 운영체제 이기 때문에 가장 기본적인 명령어 입력, 출력, 오류 세가지의 스트림이 존재한다. 표준 입력 스트림(Standard Input Stream) - stdin 표준 출력 스트림(Standard Output Stream) - stdout 오류 출력 스트림(St..