본문 바로가기

Server에 해당하는 글들

52 Articles matched
목록이 없습니다.
[docker] RabbitMQ 설치 RabbitMQ 이미지 다운 (생략) 생략하는 이유는 처음에 실행 시 이미지가 없는 경우 docker가 알아서 받아옴. RabbitMQ 컨테이너 실행 # docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --restart=unless-stopped -e RABBITMQ_DEFAULT_USER=username -e RABBITMQ_DEFAULT_PASS=password rabbitmq:management 만약 stomp.js를 통해서 웹클라이언트로 접속 또는 node.js에서 접속하기 위해서는 15674포트나 61613포트를 함께 포워딩 해주어야한다. RabbitMQ Control docker 컨테이너 안에서 동작하고있는 rabbitmq를 제어하기 위해..
[docker] Elasticsearch와 kibana 설치 docker 설치 아래 명령어를 통해서 스크립트가 실행되고 알아서 리눅스 배포판을 인식해서 설치됩니다. # sudo wget -qO- https://get.docker.com/ | sh ※ root 권한으로 설치해야합니다. docker는 항상 root권한을 요구합니다. Elasticsearch 이미지 다운 # docker pull docker.elastic.co/elasticsearch/elasticsearch:6.4.3 Elasticsearch 컨테이너 실행 # docker run -p 9200:9200 -p 9300:9300 --name elastic -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.4.3 ..
[elasticsearch] ELK 스택 서버 구성 검색엔진이라는 말은 포털사이트를 이용해본적이 있는 사람이라면 한번쯤은 들어봤을 것입니다. 듣기만 들어봤지 정말 어떤 기능을 하는지는 잘 모를것이라 생각이 듭니다. 포털사이트의 구조를 간단하게 분석해보면 크롤링 + 검색엔진이라고 볼 수도 있을 것 같습니다. 크롤링이란 데이터를 수집하는것을 의미하고 검색엔진이라는 툴로 수집한 데이터를 색인하고 색인을 통해서 빠른 속도로 사용자가 검색한 것을 찾아주는 서비스라고 생각합니다. 그 중에서 오늘은 검색엔진 서버를 구축하는 것을 정리해보려고 합니다. 검색엔진도 종류가 있겠지만 그 중에 엘라스틱서치(Elasticsearch)를 정리해보려고 합니다. 서버생성 저는 NCloud라는 네이버 클라우드 서비스를 이용해서 구축해보았습니다. 포털사이트를 구축하는게 목적이 아닌 거대..
엘라스틱서치(elastic search) query 검색 결과 구조 엘라스틱 서치의 검색 결과를 보면 JSON 구조로 여러 키와 값들이 나오는데 각각의 요소들이 도대체 어떤 의미를 지닌건지 구조를 정리해놓으려고 합니다. 검색결과 JSON { "took": 3, // 검색 수행 시간 (milliseconds) "timed_out": false, // 검색 쿼리 수행 중 timeout 발생 여부를 나타낸다. "_shards": { // 요청에 대한 검색 결과를 위해 참여한 샤드 "total": 2, "successful": 2, // 요청에 대한 성공 샤드 수 "failed": 0 // 요청에 대한 실패 샤드 수 }, "hits": { "total": 1, // 요청에 대한 결과 문서 수 (결과 전체 개수) "max_score": 1.0, // 검색 쿼리에 얼마만큼 부합되는..
[Ubuntu] 대용량 텍스트 편집할 수 있는 방법 없나요? 대용량 텍스트 파일을 수정하려고 vi로 열었더니 갑자기 까만화면으로 변하고 아무것도 동작하지 않는 프롬프트를 볼 수 있는데요 이런 경우에는 운이 좋아 vi가 열렸다고 해도 버벅거림이 심해서 편집이 불가능할 것입니다. 그럼 어떻게 수정할 수 없을까 찾아보니.. 윈도우에서는 대용량 텍스트 파일을 편집할 수 있는 툴들이 몇몇 있는데 윈도우에서 수정하고 다시 서버로 FTP전송하자니 시간이 너무 오래걸리고... 이런 난감한 경우 구글링을 해보았습니다. 나누었다가 합치기 확실하고 간단한 방법으로 split이라는 명령어를 통해서 대용량 텍스트파일을 라인 단위로 찢어 나누었다가 일부만 편집하여 다시 합치는 방법입니다. 저는 이렇게 해결했습니다. 제일 간단하고 확실합니다. 사용법은 아래와 같습니다. 나누기 split [..
톰캣 배포환경 운영/개발 나누기 Spring Framework와 Tomcat을 사용하는 환경에서 properties를 개발환경과 운영환경을 나눠놓았을 경우입니다. 그럴 때 이클립스에서는 톰캣을 더블클릭하여 open launch configure를 통해 argument("-Dspring.profiles.active=dev")를 넘길 수 있지만 서버(유닉스 또는 리눅스)에서는 어떻게 지정하는지 정리해보려고 합니다. 우분투(리눅스) 환경 간단합니다. 우선 톰캣이 설치되어있는 디렉토리로 이동한 후에 그 아래에 있는 bin 디렉토리로 이동한 후 setenv.sh 파일을 만들어줍니다. ## 개발환경 ## export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev" ## 운영환경 export JAVA_O..
iptables를 통한 80번포트 8080포트로 리다이렉팅 설정하기 웹서버를 셋팅할 때 톰캣을 설치하는 경우 기본포트가 8080으로 지정됩니다. 그렇기 때문에 처음에 톰캣을 설치하고 배포를 완료하고 웹 브라우저를 통해 사이트에 접속하려고하면 ip 또는 도메인 이름 뒤에 콜론과 함께 포트를 같이 붙여주어야 접근이 가능합니다. 이러한 번거로움과 미관상(?) 보기 안좋기도 하고 접근성을 떨어뜨리기 때문에 이를 없애기 위해서 HTTP 기본 포트인 80포트를 8080으로 리다이렉팅 하는 작업이 필요합니다. 여기서 톰캣의 포트를 80으로 설정하면 되지 않냐고 질문이 들어올 수 있는데 리눅스, 유닉스같은 부류의 OS는 1024포트 아래는 잘 알려진 포트(Well Known Port)라 하여 root계정이 아니면 사용할 수 없도록 되어 있습니다. 그렇기 때문에 80포트를 8080포트로..
[Ubuntu] unzip 설치 리눅스 서버(대표적으로 우분투)에서는 알집같은 프로그램이 없습니다. 따라서 압축되어있는 파일을 압축 해제 해주기 위해서는 다른 프로그램들이 필요한데요. 그중 대표적인 프로그램 중 하나가 바로 오늘 소개할 unzip입니다. 우선 오늘 주제인 unzip 설치 과정부터 정리해봅니다. 확인 $ unzip Command 'unzip' not found, but can be installed with: apt install unzip unzip이라는 명령어를 입력했을 때 위와같은 메시지가 나온다면 해당 서버에는 unzip이라는 프로그램이 설치되어 있지 않다는 것을 의미합니다. 따라서 메시지에서도 안내해주듯이 apt라는 프로그램을 통해 설치를 해주시면 됩니다. 설치 $ apt install unzip Reading ..