본문 바로가기

개발/Infra

(43)
Docker로 nginx, ElasticSearch띄우기 Docker가 잘 설치 되었는지 잘 실행 되었는지 테스트 할 때 가장 먼저 해볼만한 테스트가 nginx를 띄워보는 것입니다. Prerequisit ElasticSearch는 실행하는 순간 메모리를 8GB를 차지 합니다. 8GB이상 확보 하는 것이 좋습니다. 테스트 용도로는 메모리가 많지 않아도 크게 상관은 없습니다. Docker 설치 되었는지 확인 하기 docker run nginx 위 명령어를 이용하면 docker로 nginx를 띄울 수 있습니다. 이렇게 해도 뜨긴 뜹니다. 하지만 host의 포트가 docker container로 매핑이 안되어 있기 때문에 접근을 할 수 없습니다. port 매핑 하기 docker run -p 80:80 nginx 여기에서 앞에있는 80은 호스트의 포트이고 뒤에 있는 8..
도커로 엘라스틱서치, 키바나 띄우기, 명령어 docker run -d -p 9200:9200 -p 9300:9300 -it -h elasticsearch elasticsearch git clone https://github.com/justmeandopensource/elk cd elk cd docker docker-compose up -d 잘 설치 되었는지 확인하기 http://localhost:5601 이렇게 뜨면 잘 설치 된거임 ubuntu등에서 78번 에러가 나면서 elastic search가 안뜰 때 아래 명령어를 추가로 실행하면 뜬다. sudo sysctl -w vm.max_map_count=524288 index 확인하기 /classes가 index_name임 curl -X GET http://localhost:9200/classes {..
pid로 내렸다 올리는 스크립트 개요 Linux에 어플리케이션을 띄우면 해당 어플리케이션의 pid를 발급 해줍니다. Process Id의 약자겠지요? 이 pid를 사용할 때가 있으니 애플리케이션을 재부팅 하거나 수정된 어플리케이션을 재배포 할 때 입니다. 원리는 어플리케이션을 실행할 때 받은 pid를 파일로 저장 해놓았다가 저장해놓은 pid를 가지고 어플리케이션을 내리고 다시 올릴때는 새로 받은 pid를 파일에 저장해놓는 원리입니다. deploy.sh BEFORE_PID=$(cat sh.pid) echo "before PID: $BEFORE_PID" kill -9 $BEFORE_PID git pull nohup python setup.py runserver --host=0.0.0.0 & echo $! > sh.pid NEW_PID=$(..
shell script에 파라메터 넘기기 개요 저는 Shell Script를 배포할때 보통 많이 사용 했습니다. 그래서 dev인지 qa인지 prd인지 구분해야 하는 경우가 많았는데요, 그럴 때 parameter를 이용해 데이터를 넘겼습니다. 결론부터 말하자면 받을 때 $1을 쓰시면 됩니다. deploy.sh if [ "$1" == "" ] ; then echo "sh deploy.sh dev" exit 0 fi PROFILE="$1" echo $PROFILE 실행 방법 sh deploy.sh qa 결과 qa 2개를 받고 싶다면 $1 $2를 쓰면 되겠죠? 넘길때는 sh deploy.sh hello world 이렇게 2개를 넘겨주시면 됩니다.
curl 쓰는 법 curl은 shell에서 get, post등을 날릴 수 있는 명령어이다. get같은 경우는 웹브라우져로 날릴 수 있지만 post를 날리려면 뭔가 깔아야 한다. 그런데 커맨드에서 날릴 수 있기 때문에 curl을 쓴다. curl www.google.com curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/T4HC5T16H/
aws ami에 nginx, docker설치하고 띄우기 git sudo yum install git -y git을 깔아야 뭘 받아와서 실행 할 수 있음 git credential설정 git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true zsh zsh를 깔아야 history기능 같은게 되어서 작업하기가 편하다. sudo yum install zsh -y 이거 깔아야 아래 명령어가 됨 sudo yum install util-linux-user -y sudo chsh -s $(which zsh) ec2-user https://superuser.com/questions/231735/how-do-i-..
aws ami에 zsh 설치하기 fasd설치 하기 yum install zsh zsh설정을 나중에 수동으로 하려면 아래 명령어를 씁니다.autoload -Uz zsh-newuser-installzsh-newuser-install -f chskhttps://superuser.com/questions/231735/how-do-i-change-my-default-shell-on-a-aws-instance 하고 재부팅 해야 합니다. oh my zshsh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" fasd설치하기macbrew install fasdhttps://github.com/clvv/fasd/wiki/Installing-via-Package-Manager..
docker 명령어들 바뀐 내용 저장하기 등 docker지우기(ubuntu) sudo apt-get remove docker docker-engine docker.io containerd runc 설치 가능한 docker버전 보기 apt-cache madison docker-ce 이미지 찾기 docker search alpine alpine이라는 이미지를 찾습니다. 이미지 보기 docker images 이미지 삭제 docker rmi -f 이미지 전체 지우기 docker rm -vf $(docker ps -a -q) docker rmi -f $(docker images -a -q) 디스크 용량 확인 df -h 모든 정지된 컨테이너 지우기 docker system prune 이미지 빌드하기 docker build -t ex) docker build ..