Infra

    Spring boot 서버를 쉘스크립트 배포하기

    Spring boot 서버를 쉘스크립트 배포하기

    0. 개요 지난번 글에선 서버에서 직접 커맨드 명령어를 사용해 spring boot 서버를 빌드/배포했었습니다. 이번에는 스크립트를 실행하는 한번의 명령어로 spring boot 서버를 빌드/배포 할 수 있도록, 쉘 스크립트를 짜보면서 남긴 기록입니다. 1. 쉘 스크립트란? 저번에는 서버에서 여러 줄의 Unix 커맨드를 통해 spring boot 서버를 빌드하고 배포했었습니다. git에서 소스를 끌어 오고, gradlew로 빌드 하고, 만약 서버가 실행중이라면 배포를 위해 종료하고, nohup 명령어로 백그라운드에서 실행시키고... 배포할때마다 매번 반복해서 입력해야 하는 명렁어들을 하나의 파일로 작성해, 나란히 실행시킬 수 있도록 하는 것이 바로 쉘 스크립트 입니다. 2. 작성하기 작성하면서 생각한 포..

    [단축 URL 프로젝트 URLumberjack] - NCP DB서버 구축(MySQL 설치 및 설정)

    [단축 URL 프로젝트 URLumberjack] - NCP DB서버 구축(MySQL 설치 및 설정)

    0. 개요 Application 서버 환경 구축에 이어서 DB서버에 MySQL을 설치하고 설정해 보도록 하겠습니다. 1. 설치할 버전 확인하기 APT로 설치 apt 저장소에는 5.7버전으로, 현재 8버전까지 릴리즈 된 것에 비해 상당히 버전이 낮습니다. 참고로, 8버전은 16년도에 첫 릴리즈 되었습니다 [릴리즈 정보 확인하기] 5.7버전은 너무 낮다고 생각이 되어서, 8버전을 설치해보도록 하겠습니다. 우선 릴리즈된 버전을 확인합니다. [APT Repo MySQL 확인] 0.8.25-1로 설치하면 되겠군요. 2. MySQL APT 저장소 추가 $ wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.deb $ sudo dpkg -i mysql-a..

    [단축 URL 프로젝트 URLumberjack] NCP Application서버 구축(JAVA, Gradle, Docker 설치)

    [단축 URL 프로젝트 URLumberjack] NCP Application서버 구축(JAVA, Gradle, Docker 설치)

    0. 개요 Ubuntu-18.0.2환경 하에서 서버 구성요소 최신화, JAVA 17설치, Gradle설치, Docker 설치를 진행하는 글입니다. github action 구축 전 빌드 테스트를 위해 Java와 Gradle을 설치하고, 구축이후 Docker image를 실행하기 위해 Docker를 미리 설치합니다. 1. 서버 구성요소 최신화 apt-get update //업그레이드 가능한 리스트 업데데이트 sudo apt-get upgrade // 최신버전 업그레이드 2. JAVA OpenJDK17 설치 설치하기 설치는 다음의 명렁어를 입력해 진행합니다. $ apt-cache search openjdk $ apt-get install openjdk-17-jdk $ apt-get install openjd..

    [NCP] Naver Cloud Platform VPN 발급 및 접속방법

    [NCP] Naver Cloud Platform VPN 발급 및 접속방법

    0. 개요 현재 진행하는 프로젝트 서버는 NCP의 인스턴스로 구축했습니다. 서비스 도메인 접근은 이후에 public ip를 발급받아서 사용할 예정입니다. 그러나, 서버 구축을 위해 접근은 VPN을 사용하는것으로 결정했습니다. VPN 등록을 하게된 이유 vpc 서버는 월 10만원으로 비싸지만, 클래식은 1차 인증 3개 계정까지 월 9천원으로 합리적 사용 가능 2차인증은 ID-pw에 더불어 OTP 까지 설정 가능하지만, 1차로 충분하다고 생각 SSL암호화 접속 보호에 더불어 라우팅/ACG로 허용된 사용자만 접근이 가능해 보안이 우수 회사 컴퓨터, 맥북, 윈도우 데스크탑 등 접속하는 환경이 다양해 모든 pc에 pem키를 보유하는거보다 VPN접근이 더 간편 서비스 배포 전 추가적인 보안설정에 신경쓰지 않아도 됨..

    [단축 URL 프로젝트 URLumberjack] NCP 인스턴스 생성

    [단축 URL 프로젝트 URLumberjack] NCP 인스턴스 생성

    0. 개요 이번 글은 NCP로 Application 서버와 DB 서버를 구축 과정을 담은 글입니다. 1. 공통 - 인스턴스 생성 메인회면에서 오른쪽 상단의 세줄짜리 목록 아이콘을 클릭합니다. 출력된 하면에서 서비스 - 컴퓨터 - 서버를 클릭합니다. 그럼 서버 서비스에 대한 소개페이지로 이동하게 됩니다. 서버 스펙을 아직 정하지 않았거나, 고민중이시라면 해당 화면에서 서버 스펙과 요금이 친절하게 설명되어 있으니, 보고 결정하시면 되겠습니다. 서버를 생성하시려면 이용신청하기를 누르시면 됩니다. 이용 신청하기 버튼을 누르면 콘솔의 server화면으로 넘어오게 됩니다. 여기서 구축할 인스턴스를 1세대 또는 2세대를 선택해 아래의 서버생성 버튼을 누르면 됩니다. 저는 1세대 서버를 생성하도록 하겠습니다. 2. ..

    [단축 URL 프로젝트 URLumberjack] - NCP 스펙 정의

    [단축 URL 프로젝트 URLumberjack] - NCP 스펙 정의

    0. 개요 정말 감사하게도 NCP 크레딧을 지원받을 수 있게 되었습니다. 덕분에 infra 구축에 가장 큰 난관인 비용문제를 해결 할 수 있게 되었습니다! 더불어서 이전 NCP 사용경험도 있어서 NCP로 Infra를 구축하게 되었습니다. UI/UX도 정말 깔끔하고, 한글 공식문서까지 제공되어서 정말 좋습니다. 이 글은 NCP 인프라를 구축하면서 고민한 서버 스펙에 대한 내용입니다. 1. Application 서버 Claasic 1gen Compact-g1 server 선택 이유 1차 개발단계의 목표는 서비스 개발 1차 개발목표는 우선 핵심 서비스 개발에 있습니다. 그렇기 때문에, 비용이 저렴한 작은 서버에서 시작해 이후 scale out을 하는 방향으로 가닥을 잡았습니다. 서버 이미지를 사용하면 scal..

    [짧] Docker란?

    [짧] Docker란?

    리눅스 컨테이너 기반의 오픈소스 가상화 플랫폼으로, GO언어로 작성되었다. 서비스들을 하나의 서버에 집약해 구동하여 리소스 활용도를 높아며 안정성도 챙길 수 있는 방법이 서버 가상화이다. VM VM 가상화된 하드웨어 위에 OS가 올라가는 형태로, 거의 완벽하게 Host OS와 분리된다. Host OS와 분리되는 장점이 있지만, OS위에 OS가 구동되므로 무겁고 느리다. 컨테이너 기반 가상화 컨테이너 기반 가상화는 Application 실행에 필요한 바이너리만 올린다. Host와 커널을 공유하므로, io처리가 쉬워져 성능효율이 높아진다. 컨테이너 사용 목적은 가상머신을 생성하는게 아닌, host os의 자원을 분리해 환경을 구축하는 것이다. 도커를 구축함으로써 얻는 장점 docker image를 pull해..

    터미널 세션이 끊겨도 명령어를 실행하기 : nohup

    터미널 세션이 끊겨도 명령어를 실행하기 : nohup

    nohup이란? no + hup인 합성어라고 할 수 있습니다. hup란, 터미널의 세션 logout이 발행하면 해당 터미널에서 실행된 프로세스에게 전달하는 신호입니다. 그래서 터미널을 종료하거나, 로그아웃을 해 hup 신호를 보내고, 프로세스들은 종료되게 됩니다. nohup은 프로세스들을 데몬인것처럼 동작시켜 hup 신호를 무시하도록 하는 명령어입니다. 그렇기때문에 nuhup명령어를 통해 실행한 프로세스들은 터미널의 세션 연결이 끊어지더라도 종료되지 않습니다. nohup 사용법 $ nohup [Process_NAME] & //또는 $ nohup [Command][Arg] & 단, 실행대상이 스크립트인 경우, 권한은 755 이상이여야 합니다. 백그라운드 작업확인하기 실행중인 백그라운드 명렁어 또는 작업, ..