DevOps/Linux

    [Linux] 리눅스 네트워크 네임스페이스

    네트워크 네임스페이스는 Linux 시스템 내에서 가상화된 네트워크 스택을 생성할 수 있는 Linux 커널 기능이다. 각 네트워크 네임스페이스는 네트워크 인터페이스, 라우팅 테이블, 방화벽 규칙, IP 주소 및 기타 네트워크 관련 설정을 포함하여 고유한 별도의 네트워크 구성을 제공한다. 이를 통해 단일 Linux 호스트 내에서 여러 개의 격리된 네트워크 스택을 실행할 수 있으며 다음과 같은 다양한 사용 사례에 유용할 수 있다. 서로의 네트워크 트래픽을 방해할 수 없도록 컨테이너 또는 가상 머신을 서로 격리한다. 테스트 또는 개발 목적으로 가상 네트워크를 생성한다. 인프라의 다른 부분을 별도의 네트워크 네임스페이스로 격리하여 네트워크 수준 보안을 구현한다. 명령어를 사용하여 네트워크 네임스페이스를 생성하며 ..

    [Linux] 리눅스 표준 스트림과 파이프라인, 리다이렉션

    표준 스트림(Standrad Stream) 유닉스 이전의 대부분의 운영 체제에서, 프로그램은 명시적으로 적절한 입력 장치와 출력 장치에 연결해줄 필요가 있었다. 이 작업은 각 OS 마다 처리 방식이 달랐기 때문에 매우 방대한 작업이었다. 수많은 시스템에서 환경 설정을 제어하거나, 파일 테이블에 접근하거나, 필요한 데이터 셋을 결정하기 위해 펀치 카드 리더기나 자기 테이프 드라이브, 라인 프린터, 카드 펀치, 대화식 터미널을 적절하게 제어할 필요가 있었다. 이런 상황에서, 유닉스의 획기적인 발전 중 하나는 장치의 추상화였다. 프로그램은 더 이상 어떤 장치와 연결되는지 알 필요가 없었다. 유닉스는 기존의 복잡성을 데이터 스트림이라는 개념으로 해소 시켰다. 데이터 스트림은 순차적인 데이터 바이트들을 파일의 끝..

    [Linux] 프록시 서버의개념, NGINX 리버스 프록시와 캐싱

    리버스 프록시란 무엇인가? 리버스 프록시는 웹 서버 앞에 위치하며 클라이언트(예: 웹 브라우저) 요청을 해당 웹 서버로 전달하는 서버이다다. 리버스 프록시는 일반적으로 보안 , 성능 및 안정성을 높이는 데 도움이 되도록 구현된다. 리버스 프록시의 작동 방식과 제공할 수 있는 이점을 더 잘 이해하기 위해 먼저 프록시 서버가 무엇인지 정의해 보겠다. 프록시 서버란 무엇인가? 프록시, 프록시 서버 또는 웹 프록시라고도 하는 정방향 프록시는 클라이언트 시스템 그룹 앞에 있는 서버이다. 이러한 컴퓨터가 인터넷의 사이트 및 서비스에 요청을 하면 프록시 서버는 해당 요청을 가로챈 다음 중개인처럼 해당 클라이언트를 대신하여 웹 서버와 통신한다. 예를 들어 일반적인 정방향 프록시 통신과 관련된 3대의 컴퓨터 이름을 지정..

    [Linux] NGINX 개념과 각 환경에서 설치방법

    '엔진 엑스' 로 발음되는 NGINX 는 널리 사용되는 오픈 소스 웹 서버 소프트웨어이다. 2002년 Igor Sysoev가 시작한 프로젝트였으며 2004년 10월에 공식적으로 출시되었다. 동시에 10,000개의 연결을 관리해야 하는 과제로 정의되는 C10k의 문제를 해결하기 위해 만들어졌다. Apache 서버 아파치 서버는 1995년에 나왔으며 nginx는 2002년에 출시됐다 왜 nginx를 사용하는지 왜 1등이되었는지 를 알기위해서는 아파치 서버가 만들어진 1995년부터 내려가보자 그당시에는 유닉스 기반으로 만들어진 최초의 웹서버 NCSA HTTPd 가 있었다 하지만 이 웹서버는 버그가 굉장히 많아서 개발자들이 수정하면서 변경하고 기능도 추가해서 만든게 아파치 서버다. 아파치 서버는 요청이 들어오면..

    [Linux] Read, Write, Execute 권한, chmod 권한 변경

    일단 터미널에 vi helloworld.txt 를 입력하고 helloworld!! 만 입력하고 저장하고 나오자 그다음 ls - al | grep hellow 를 입력한다면 다음과 같은 출력이 나올거다. 터미널에서 출력된 결과중에서 , 가장 왼쪽의 표현부터 살펴보겠다. 파일 hellowrld.txt는 -rw-rw-r-- 이라고 출력이되어있다. r, w, x는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타낸다. 3번에 걸쳐서 나타나는 이유는 사용자와 그룹, 나머지 사용자에 대한 권한 표시하기 위함이다. helloworld.txt 파일의 권한은 소유자와 그룹은 읽기와 쓰기 권한, 다른 사용자는 읽기 권한만 가..

    [Linux] 리눅스 디렉토리 구조 개념

    리눅스는 유닉스 계열을 바탕으로 만들어진 오픈소스 운영체제이다. 그래서 유닉스와 마찬가지로 모든 것들을 파일로 관리한다. 또한, 리눅스의 경우 계층구조(트리구조)의 디렉토리를 가지고 있는데, 이것은 용도에 따라 구분되며, 이를 파일시스템이라고 부른다. 파일종류 일반 파일 데이터 저장에 사용되는 파일이다. 리눅스에서 사용되는 파일 대부분이 일반 파일에 속한다. 실행 파일, 데이터 파일, 이미지 파일은 바이너리(1과 0의 형태) 파일이라고 부른다. 텍스트 파일은 아스키(ASCII)코드로 구성되어 vi, vim 명령어 등의 문서 편집기 명령어로 내용을 보거나 수정할 수 있다. 그 외 다른 파일들은 확장자에 맞는 특정 응용 프로그램이 있어야 확인할 수 있다. ​ 디렉토리 파일 디렉토리 역시 파일 종류 중 하나이..