일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring Boot
- AWS
- IntelliJ
- Git
- it
- ubuntu
- db
- ReactJS
- php
- springboot
- 요리
- laravel
- jsp
- elasticsearch
- Oracle
- Gradle
- 맛집
- tool
- Spring
- linux
- java
- redis
- devops
- jenkins
- Web Server
- JVM
- Design Patterns
- javascript
- MySQL
- Spring Batch
- Today
- Total
목록Infra (195)
아무거나
로드밸런싱 설정 (Nginx의 Upstream 모듈을 통해서 제공) nginx config 파일에서 수정하자. [nginx.conf 또는 default.conf] ... http { upstream myapp { server server1.example.com server server2.example.com } server { listen 80; location / { proxy_pass http://myapp; } } } ...
Portainer Document Portainer 는 Docker 를 웹상에서 관리할 수 있게 도와주는 툴 입니다. 오픈소스로 배포되고 있어 무료로 사용이 가능하며, 쉘프롬프트에서 Docker 명령을 일일이 수행할 필요가 없이 Web UI 로 손쉽게 관리 할 수 있습니다. 사이트 공식 사이트: https://www.portainer.io Github: https://github.com/portainer/portainer Docker Hub: https://hub.docker.com/r/portainer/portainer 시작 전 Docker가 설치되어 있어야 한다. 설치(linux) // Portainer에서 사용할 Volume 생성 $ docker volume create portainer_data ..
Sticky Session 관련 로드밸런서 스위칭 문제 Nginx + tomcat 을 하나의 서버에서 통으로 사용하며 각각 총 2개의 서버로 나누어져있고 그 위에 L7 으로 세팅되어있을때 배포를 할 때마다 다운타임이 일어나는 현상이 있다. 먼저 L7은 스위치로 들어온 패킷을 감지하여 가장 적절한 목적지로 전송해주며 불필요한 패킷을 제외시켜주는 역할을 한다. 여기에서 Sticky Session 이라는 것을 사용하게 되는데 Sticky Session 이란 L4 스위치를 통해 분배된 서비스 세션은 하나의 연결 요청에 1 ~ n 중에 한 대의 서버에 분배하게 된다. 그러나 처음에 접속했던 서버와 같은 서버에 계속 연결시킬 수 있다. (일반) 유저A => L4 => 1번 Server 유저B => L4 => 2번 ..
VirtualBox 에서 디스크 크기 변경하기 VirtualBox 에서 초기 디스크 용량을 적게 설정할 때 증가를 시키기위해 VirtualBox에서 기본적으로 제공하는 매니징툴을 사용하여 사이즈를 늘려보자. 1. VirtualBox가 설치된 폴더에서 VBoxManage.exe 를 실행하여 size를 변경해보자. // size단위는 MB로 입력하자. c:\{vm경로}>VBoxManage.exe modifyhd "{사용자경로(*.vdi가 생성되는경로)}" --resize 51400 2. "파일" -> "가상 미디어 관리자" -> "복사(C)" 를 하게되면 동적 확장 저장소가 생성된다. (속성에서도 사이즈 변경이 가능하다.) 3. 동적 할당 저장소가 생성되고 사이즈 변경을 실행하면 아래와 같이 완료된다. 4...
E: Could not get lock /var/lib/dpkg/lock frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? apt-get 관련 기능을 사용할 때 위와 같은 오류가 표시된다. 그럴떈 아래와 같이 해결하자. $ sudo killall apt apt-get $ sudo rm /var/lib/apt/lists/lock $ sudo rm /var/cache/apt/archives/lock $ sudo rm /var/lib/dpkg/lock* $ sudo dpkg --..
포트포워딩 리눅스 설치 후 openssh를 설치하자. // Ubuntu $ sudo apt-get install openssh-server // CentOS $ yum -y install openssh-server openssh-clients 포트 및 네트워크 동작여부 확인 // 22번 포트 동작여부 확인 // 또한 virtualbox는 기본적으로 이더넷 카드의 address는 10.0.2.15로 잡히게 된다. $ netstat -ntl "설정 -> 네트워크 -> 고급 -> 포트포워딩" 에서 규칙을 설정한다. ( 여기에선 ssl 테스트를 위해 2201 포트로 포워딩을 하겠다. )
프로세스 백그라운드 실행 및 nohup // nohup를 이용한 실행, 같은 경로에 nohup.out 라는 파일이 생성되고 출력 문자열이 자동으로 저장 $ nohup shell.sh & // &: 백그라운드로 실행, hang-up signal이 오면 실행이 멈춘다. // nohup: hang-up signal이 와도 동작하기 때문에 연결이 끊어져도 실행이 멈추지 않는다.
프로세스 죽이기(kill) 일반적으로 kill 옵션은 여러가지가 있지만 9 or 15 옵션을 자주 사용한다. 추천은 15 옵션으로 2~3회 종료시도했다가 안되면 9 옵션을 사용하자. // 하드웨어적 종료 // 작업중인 모든 데이터를 저장하지 않고 프로세스를 강제로 종료하기 때문에 저장되지 않는 데이터는 소멸된다. $ kill -9 {pid} // 소프트웨어적 종료 // 자신이 하던 작업을 모두 안전하게 종료한다. $ kill -15 {pid}
Sentry Java 연동 Sentry란 오류 모니터링을 제공하는 오픈소스 플랫폼이다. 클라우드(=sentry.io)는 무료 및 비용별 과금을 제공하지만 자체 구축하면 무료로 사용할 수 있다. 다양한 언어를 제공하므로 유용하게 사용할 수 있다. sentry.io 에 접속하여 회원가입을 한다. 회원가입을하면 DSN 번호를 확인하자. Settings -> Client Keys (DSN) -> DSN 번호 확인 이제 java 경로인 resources 폴더에 sentry.properties 파일을 생성하고 하기 내용을 입력하자. dsn={myDSN} servername={serverName} stacktrace.app.packages={Package} 그 다음 resources 폴더경로에 logback-spri..
Portainer는 Docker를 Web에서 관리할 수 있는 툴이다. 즉, UI를 통하여 쉽게 Container를 관리할 수 있다. 시작하기전에 Docker가 먼저 설치되어 있어야 한다. 먼저 Portainer에서 사용할 Volume를 생성 docker volume create portainer_data 컨테이너 생성 후 실행 // linux docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --restart=always portainer/portainer 위의 옵션 중 --restart=always 을 주면 추후 docker를 재시작 했을 경우에도 자동으로 구동된다.