Server 29

Stateless와 Stateful의 개념, 차이점

애플리케이션을 비롯한 모든 항목의 상태(state)란 해당 시점의 상황과 품질, 즉 존재 상태를 말한다. 스테이트풀(Stateful)과 스테이트리스(Stateless)는 상호 작용 상태가 얼마나 오래 기록 되는지, 해당 정보가 어떤 식으로 저장되는지를 기준으로 구별할 수 있다. Stateless 스테이트리스 프로세스 또는 애플리케이션은 격리된 것으로 간주된다. 과거 트랜잭션에 대한 정보 또는 참조가 저장되지 않기 때문이다. 각 트랜잭션은 모두 처음부터 시작된다. 스테이트리스 애플리케이션은 하나의 서비스 또는 기능을 제공하며, 컨텐츠 전달 네트워크(CDN), 웹, 프린트 서버를 사용해 이러한 단기 요청을 처리한다. 이러한 스테이트리스 트랜잭션의 가장 일반적인 예시는 검색창에 질문을 입력하고 엔터키를 누르는..

Server 2022.07.16

Karaf에 대해

1. Karaf란 1.1 Karaf소개 Apache Karaf: The modulith* runtime (Modulith: 모듈식 모놀리식(모듈리틱) Java 어플리케이션의 개발을 지원하는 기술울 구축하기 위한 환경이다.) Karaf는 가볍고, 강력하며, 기업용으로 준비된 모듈식 런타임이다. 어플리케이션에 필요한 모든 에코시스템 및 부트스트래핑 옵션을 제공한다. 사내 또는 클라우드에서 실행된다. 이 모듈식 런타임은 REST-API, 웹, 스프링 부트 등과 같은 여러 프레임워크와 다양한 종류의 응용 프로그램을 지원한다. Apache에서 만든 다형성의 특징을 가진 OSGi(추후 설명) 기반 컨테이너이다. 다형성의 특징을 지녔기 때문에, OSGi, Spring, WAR등.. host가 모두 가능하다. 독립적으..

Server 2022.07.16

[Bash] 실행중인 서비스 죽이기 & 해당 스크립트 만들기

1. 실행중인 서비스를 죽이기 1.1 서비스 kill 일반적으로 실행중인 서비스를 죽이기 위해서는 다음 명령어를 사용한다. $kill -9 [PID] [사용법] PID는 process의 id를 뜻하며, -9 옵션은 프로세스를 강제 종료한다는 의미이다. (default는 -15이며, 정상종료를 뜻함) 실행중인 서비스를 죽이기 위해서는, 서비스의 PID를 알아야 하는데, 이를 위해선 다음 명령어를 사용한다. 1.2 서비스 PID 검색 $ps -ef | grep [regex] [사용법] 실행 중인 모든 프로세스 중 regex가 포함된 프로세스를 찾아서 목록으로 출력한다. 2. 실행중인 서비스를 죽이는 스크립트 생성 해당 스크립트를 작성하기 위해서는 다음과 같은 명령어를 .sh파일에 작성한다. $ps -ef |..

Server/Linux 2022.05.16

[Docker] NodeJS 웹 앱의 도커라이징

1. 전제사항 Docker가 설치되어 있음 NodeJS프로젝트가 준비되어 있음 포스팅하는데 사용한 프로젝트는 NodeJS express 웹 앱이며, 실행시 웹서버가 3000번 포트로 띄어져 REST API 요청 받아 처리 및 리턴해주는 역할을 해준다. 2. Dockerfile 생성 Docker를 사용하여 NodeJS 웹 앱을 도커라이징하면 모든 의존성을 소프트웨어 개발에서 컨테이너라고 부르는 표준화된 단위로 패키징할 수 있다. Dockerfile이라는 빈 파일을 생성한다. $touch Dockerfile 선호하는 텍스트 에디터로 Dockerfile을 연다. 처음으로 해야할 것은 어떤 이미지를 사용하여 빌드할 것인지를 정의하는 것이다. 이 포스트에서는 Docker Hub에 있는 node의 14버전을 사용할..

Server/Docker 2022.05.02

[Docker] Dockerfile에 대해

1. Dockerfile이란? 도커 명령어로 컨테이너를 구성하기 위해서는 컨테이너 생성, 컨테이너 안에서 OS설정, 미들웨어 설치, 파라미터 설정 등은 모두 직접 수행해야 한다. 이러한 일련의 작업을 자동으로 수행하도록 스크립트로 만든 것이 Dockerfile이다. 이러한 Dockerfile은 필요한 환경설정이 모두 세팅된 image를 만드는 데 목적이 있으며, 또한 자동화로써 사용할 수 있고 스크립트이므로 변경해서 재사용할 수도 있다. Dockerfile의 내용은 아래와 같은 정보들을 기술한다: 베이스가 될 도커 이미지 도커 컨테이너 안에서의 수행할 명령, 조작 등 환경변수 등의 설정 도커 컨테이너 안에서 작동시킬 데몬 실행 2. Dockerfile의 기본 구문 Dockerfile은 텍스트 형식이며 확..

Server/Docker 2022.05.02

[Docker] Docker에 대해

0. 서론 (서론을 읽는건 생략해도 된다.) 회사의 A사원과 B사원이 같이 협업하여 웹사이트 개발을 진행하는데, 서로의 호스트에 설치한 Angular의 버전이 달라서 한쪽에서 빌드가 되는데 한쪽에서 에러가 나는 상황이 발생하였다. 이에 따라 Docker에 대해 알아보고 구축한 후 개발을 재개하게 되었고, 위와 같이 각기 다른 호스트의 로컬 환경이 달라서 발생하는 이슈 문제는 없어지게 되었다. 1. Docker란? Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있다. Docker..

Server/Docker 2022.05.02

온프레미스(On-premise)란?

온프레미스(On-premise)란? 온프레미스란 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 말한다. 온프레미스는 클라우드 컴퓨팅 기술이 나오기 전까지 기업 인프라 구축의 일반적인 방식이었다. 온프레미스 시스템의 장점은 기업의 비지니스 정보를 보안성 높게 관리할 수 있다는 것이고(원격 환경이 아니기 때문), 단점은 시스템을 구축하는데 있어서 많은 시간이 걸린다는 것과 많은 비용이 들어간다는 것이다. 그래서 기업에서 보안성 높은 데이터는 온프레미스 환경에서, 보안성 낮은 데이터는 클라우드 환경을 사용하는 하이브리드 IT인프라가 등장했다. 온프레미스의 반대 의미인 클라우드 방식의 서비스를 오프 프레미스(Off-premise)라고 한다. ..

Server 2022.05.01

AWS EC2 서버에 Nginx를 이용해 Vue 배포하기

1. 전제조건 이미 생성한 AWS EC2 (Ubuntu 18.04) 인스턴스가 있음. 샘플 Vue 프로젝트가 있음. 2. Nginx설치 $sudo apt update $sudo apt upgrade $sudo apt install nginx - sudo apt update: 설치 가능한 패키지 리스트를 최신화 한다. - sudo apt upgrade: 설치 가능한 패키기를 실제로 업데이트 한다. - sudo apt install nginx: nginx를 설치한다. 3. Nginx 설치 및 실행 확인 아래의 명령어를 입력하여 nginx서비스의 상태를 확인한다. $sudo service nginx status 정상 상태라면, 다음과 같이 출력됨을 볼 수 있다. 그리고 해당 AWS public IP를 주소창에..

Server 2022.04.25

리눅스 압축 파일 관리 (tar 압축, 추출)

서론 tar는 리눅스에서 파일을 압축하거나 풀 때 사용하는 명령이다. "테이프 아카이버(Tape Archiver)" 의 앞글자를 조합한 이름이다. 0. tar 명령어 옵션 tar [OPTION...] [FILE]... -f : 대상 tar 아카이브 지정. (기본 옵션) -c : tar 아카이브 생성. 기존 아카이브 덮어 쓰기. (파일 묶을 때 사용) -x : tar 아카이브에서 파일 추출. (파일 풀 때 사용) -v : 처리되는 과정(파일 정보)을 자세하게 나열. -z : gzip 압축 적용 옵션. -j : bzip2 압축 적용 옵션. -t : tar 아카이브에 포함된 내용 확인. -C : 대상 디렉토리 경로 지정. -A : 지정된 파일을 tar 아카이브에 추가. -d : tar 아카이브와 파일 시스템 ..

Server/Linux 2022.03.28

Window10에서 .sh bash 파일 실행

윈도우 10에서 sh파일을 실행하려고 하면 위와 같이 에러가 난다. 이를 해결 하기 위해서 windows10의 subsystem을 사용하여 ubuntu를 사용할 수 있게 해주는 Windows Subsystem for Linux 기능이 있다고 하는데, 복잡하고 시간이 오래 걸릴거 같으니 다음과 같이 간단한 방법을 소개하고자 한다. 1. 먼저 아래 파일을 다운로드 받아서 원하는 폴더에 압축을 푼다. - 다운로드가 안된다면 아래 링크를 통해서도 받을 수 있다. sourceforge.net/projects/win-bash/files/shell-complete/latest/shell.w32-ix86.zip/download 나는 아래와 같이 C:/dev/SH 폴더를 만들어서 그곳에 풀어줬다. 이와같이 압축을 풀 위..

Server/Linux 2022.03.25
반응형