분류 전체보기 95

Nginx 로드밸런싱 설정

이 글은 Nginx 로드밸런싱 방법을 적은 글입니다. 이 글에서 다루고자 하는 내용은 크게 두 가지로 첫 번째는 로드밸런서의 정체와 사용하는 이유이고, 두 번째는 Nginx를 로드밸런서로 운용하는 방법입니다. 로드밸런서의 정체 로드밸런서는 번역하면 부하 분산기입니다. 말 그대로 부하 분산을 위한 프로그램 혹은 하드웨어입니다. 로드밸런서의 역할은 가상의 주소를 향한 요청을 여러 서버에 분배하는 것입니다. 로드밸런서를 사용하는 이유 로드밸런서가 사용되는 이유를 크게 분류하면 두 가지가 있습니다. 첫 번째는 부하를 분산하여 하나의 서버의 부하를 조절할 수 있다는 점, 두 번째는 고가용성으로 두 개 이상의 서버를 운영하여 한쪽 서버가 장애가 생길 시 다른 쪽에서 해당 서비스를 운영할 수 있는 구성을 통해 운영 ..

Nginx 시리즈 2020.04.14

Nginx 프록시 서버

이 글은 Nginx를 프록시 서버로 사용하는 방법을 적은 글입니다. 이 글에서 다루고자 하는 내용은 크게 두 가지로 첫 번째는 Nginx를 리버스 프록시 서버로 운용할 때의 장점이고 두 번째는 Nginx를 리버스 프록시 서버로 운용하는 방법 입니다. 리버스 프록시 서버를 운용하는 장점 첫 번째는 어플리케이션 서버의 정보를 외부에 노출하지 않고 운영할 수 있다는 점이고, 두 번째는 하나의 포트만으로 여러 서버에 접근 할 수 있는 아키텍쳐를 만들 수 있다는 점입니다. Nginx를 리버스 프록시 서버로 운용하기 우리는 두가지 실습을 진행할 것입니다. 첫 번째는 간단한 Nginx 리버스 프록시 서버를 세팅하는 것이고 두 번째는 Nginx 리버스 프록시 서버에 어플리케이션 서버를 연결하는 것입니다. Beginne..

Nginx 시리즈 2020.04.04

Nginx 란?

Nginx에 대한 글입니다. 1.Nginx의 정체과 구조 2.Nginx의 장점 3.Nginx의 사용 예시 다루는 내용은 크게 세 가지로 위 세가지 내용을 다룹니다. Nginx의 정체와 구조 Nginx는 서버 프로그램으로 웹 서버, 프록시 서버, 메일 프록시 서버, TCP/UDP 프록시 서버로 사용할 수 있습니다. Nginx를 가장 보편적으로 쓰는 예시는 웹 서버입니다. 예전에는 Apache httpd가 점유율이 높았지만 이제는 Nginx가 가장 대중적인 웹서버입니다. Nginx의 내부 구조는 Event-Driven 방식으로 동작합니다. Event-Driven이란 주기적으로 이벤트가 발생했는지 확인하고 이벤트가 감지되었을때에 이벤트를 처리하는 방식입니다. 마찬가지로 Nginx는 주기적으로 이벤트가 발생했는..

Nginx 시리즈 2020.04.02

Nginx 설치

Nginx를 설치하는 방법에 대한 글입니다. 설치하는 방법은 다음과 같습니다. 1. 선행 요구 프로그램 설치 2.Nginx 레포지토리를 소스리스트에 추가 3.Nginx 레포지토리의 인증키를 패키지 인증용 키 리스트에 추가 4.사용가능한 패키지의 버전을 업데이트 한 후 설치한다. ※설치에 필요한 명령줄 모음은 포스트 하단에 따로 모아놓았습니다. 선행 요구 프로그램 설치 아래의 명령어는 프로그램을 설치하기 위해서 먼저 깔아야하는 프로그램들을 설치하는 명령줄입니다. sudo apt update sudo apt install curl gnupg2 ca-certificates lsb-release Nginx 레포지토리를 소스리스트에 추가한다. nginx 레포지토리의 종류는 대략 안정된 버전과 최신 메인 버전이 있..

Nginx 시리즈 2020.04.01

JWT, Json Web Token

JWT, Json Web Token에 대한 글입니다. 1. JWT의 정의와 구조 2. 장점이 무엇인지 3. 언제 사용하면 좋은지 다루는 내용은 크게 세 가지로 위 세가지 내용을 다룹니다. JWT의 정의와 구조 JWT는 RFC 7519으로 토큰기반 인증 시스템을 구현한 것입니다. 이름에서 알 수 있듯이 JWT는 토큰 내부의 정보를 Json으로 저장하고 있습니다. 하지만 이 정보는 암호화 되어있고, URL에 공개되지 않기 때문에 적은 비용으로 안전하게 데이터를 전송할 수 있습니다. JWT의 내부 구조는 HEADER, Payload, Signature로 구성되어있으며 이 정보들은 .(dot)을 통해서 구분됩니다. 좌측에는 JWT, 그리고 우측에는 JWT 내부의 정보가 담겨있습니다. 헤더: JWT를 복호화하는데..

Web 2020.03.30

해커를 위한 디자인 레슨

안녕하세요. 메이리프입니다. 오늘부터 독서록도 적어보려고 합니다. 오늘 정리할 책은 '해커를 위한 디자인 레슨 - 데이비드 카다비' 입니다. 디자인을 좀 이해해보고 싶어서, 다르게 말하면 제가 디자인을 몰라서 진입점을 찾아보고자 읽기 시작했습니다. 목차는 아래와 같이 구성되어있습니다. 디자인의 이해 재료와 형태 구도 색 부록 디자인이란 새로운 종류의 리터러시 능력이라고 필자는 말합니다. 책에서는 리터러시를 '특정한 기술을 사회적 맥락에서 자유롭게 운용할 수 있는 능력' 이라고 합니다. 그리고 디자인 리터러시를 해커를 위해 표현한다면 아래와 같을 것입니다. ∴ 디자인 리터러시 = 디자인을 통해서 사용자와 의사소통하는 능력 책에서 디자인 리터러시를 길러주는 과정을 3장. 재료와 형태의 예시를 들어보겠습니다...

독서록 2020.03.10

로그스태시가 레디스 정보를 읽는 방식

안녕하세요 메이리프입니다. 오늘은 로그스태쉬가 레디스에서 정보를 어떻게 읽는지 적은 글을 씁니다. 본문 로그스태시는 입력 플러그인을 통해서 특정한 소스의 정보를 읽습니다. 마찬가지로 레디스의 정보를 읽을 때에는 레디스 입력 플러그인을 사용합니다. 지원하는 데이터 타입은 list,channel, channel-pattern 이렇게 세 가지를 지원하며, list의 경우 BLPOP, channel의 경우 subscribe, channel-pattern의 경우 psubscribe 를 통해서 정보를 읽어옵니다. BLPOP은 blocking list pop의 약자로, 해당 키에 대해서 빈 값이면 레디스에서 커넥션을 막고, 값이 있을 때에만 값을 POP하여 넘겨줍니다.(POP이후에는 당연히 값이 지워집니다) chan..

ElasticSearch 인덱스 필드 길이 제한 늘리기

안녕하세요. 정우현입니다. 오늘은 위의 에러를 해결하는 방법을 적은 글을 씁니다. 원인 로그스태시를 통해서 서버 로그를 엘라스틱서치에 꾸준히 넣는데, 로그의 길이가 긴 경우의 로그가 정상적으로 저장이 안되고 있는 듯해서 문제를 찾아봤더니 필드의 길이제한을 넘어가는 경우 저장을 할 수 없었습니다. 해법 그래서 이 문제를 해결하기 위해서 방법을 찾아봤습니다. 첫 번째 방법은 인덱스 하나에 대하여 설정을 변경하여 하나의 인덱스에만 필드의 길이제한을 변경하는 것이고, 두 번째 방법은 템플릿을 적용하여 특정 조건의 인덱스에 대해서 필드의 길이제한을 변경하는 방법입니다. 첫 번째 방법은 PUT /_settings { "index.mapping.total_fields.limit": 2000 } 이라는 명령을 키바나의..

Vim + Tmux 학습 자료

목표 Vim 사용 방법 전달하기 Vim + Tmux를 함께 사용하여 터미널 환경에서 개발하는 방법 전달하기 목차 Vim Vim-Cheatsheet Vundle(Vim-Bundle) Vim-Awesome Vim-Installation Vmux(Vim + Tmux) Vim + Tmux 학습자료 내용 Vim vim Cheatsheet 주소: https://devhints.io/vim Vim Cheatsheet뿐만 아니라 vscode, intelij, sass 등 유용한 참조 자료가 많습니다. vim-vundle github 주소 : vundle 플러그인 매니저입니다. 가장 대중적인 플러그인 매니저이면서 굉장히 편리합니다. vim awesome 주소: https://vimawesome.com/ Vim Plugi..

터미널 개발 2020.02.27

2019년 회고와 2020년 계획

안녕하세요 제로페이지 26기 정우현입니다. 최근에는 회사에서 드래곤 히어로즈 택틱스라는 게임을 런칭하고 개발하고 있습니다. 어제 런칭했습니다. 이번 반년은 전반적인 학업적인 성취를 이뤄보고자 현재는 디자인 패턴, 알고리즘 공부를 열심히 하고 있습니다. 그리고 친구들과 프로젝트를 진행해보려고 하고 있습니다. 2019년 회고 병특 시작 병역 특례로 회사를 다니기 시작했습니다. 이제는 소집해제까지 1년정도의 시간이 남았습니다. 좋았던 것 그리고 배운 것 1. 프로젝트 경험 짧게 한 학기 동안 개발하는게 아니라, 서비스를 맡아서 계속 개발할 수 있어서 좋았습니다. 실제로 사용자들이 많이 존재하는 프로젝트를 개발하고, 규모의 문제에 대해서 고민할 수 있는 기회가 되어서 고민을 좀더 깊게 할 수 있는 시간을 가졌습..

회고록 2020.02.23