배포 준비를 하기 위해 배포 작업을 준비하던 중 작업 전 개발서버와 운영서버의 화면을 비교를 위해 확인을 진행함. 운영서버의 경우 화면 내 웹서버에 존재하는 특정 이미지가 정상적으로 표출됨을 확인하였음. 개발서버의 경우 동일한 화면 내 웹서버에 존재하는 특정 이미지가 표출되지 않고 엑스박스로 표시되고 있음을 확인하였음. 엑스박스인 경우 이미지를 정상적으로 가져오지 못하는 경우로 판단하여 원인을 파악하기 위해 순차적으로 확인해 보았다. 실제 해당 이미지의 경로를 노출할 수 없기 때문에 가상의 경로를 기준으로 설명을 진행하겠습니다. 호출 이미지 경로 : /service/img/test.jpg 확인방법 1. 개발 웹서버 해당 위치에 실제로 이미지가 존재하는가 2. 웹서버 아파치 설정 확인 3. 운영서버와 개발..
이전에 docker를 이용하여 컨테이너를 생성하여 보았다. 이후 관련 서비스를 추가하면서 컨테이너의 수가 증가하여 개발환경의 PC를 재부팅 시 기동 해야 하는 컨테이너의 개수 또한 증가하였고 반복적인 일이기 때문에 보다 간편하게 관리가 필요했다. 이를 해결하기 위해 docker-compose를 적용해 보았다. 현재 환경에서 docker-compose 설치여부 확인 docker-compose version 위 버전확인 명령어를 입력하여 docker-compose 설치여부를 확인하는데 설치가 되어있다면 아래와 같이 버전정보 확인이 가능하다. docker-compose version 1.17.1, build unknown docker-py version: 2.5.1 CPython version: 2.7.17 ..
최근 MSA기반으로 진행 중인 개인 프로젝트를 작업하다 보니 서비스별로 프로젝트를 분리하고 연관된 데몬을 Docker 컨테이너로 관리하는데 시작이 반이라고 작업전 컨테이너를 실행 전 개발 작업을 시작하기까지 시간이 다소 소요되니 작업을 하고자 행동에 옮기는 횟수가 줄어들어 버렸다. 현재 보유하고 있는 docker image와 container는 아래와 같다. 개인프로젝트로 테스트용도로 생성된 이미지도 많지만 현재 하나의 프로젝트를 개발 및 테스트하기 위해서는 최소 3개 이상의 컨테이너를 실행해야한다. 컨테이너를 실행하기 위해서는 아래와 같은 명령어를 입력한다. docker start redis docker start mongodb-container docker start mysql-container do..
발단 개인 프로젝트 진행 중 백엔드 API 서버 완성 후 프론트 프로젝트를 React를 통하여 구현 중이었음. POSTMAN 툴을 사용하여 백엔드 API 서버를 호출하였을 때 결과는 의도한대로 동작하는 것을 확인하였음. React에서 axios 라이브러리를 활용하여 백엔드 API 서버를 호출하는 과정에서 결과가 넘어오지 않는 상황이 발생하였음. 콘솔창을 확인한 결과 CORS 에러가 발생하고 있었음. 두 부분에 걸쳐서 해당 이슈를 조치하였음. 작업 구성 - 프론트서버 : http://localhost:3000 - 백엔드서버(apigateway의 역할) : http://localhost:5555 원인 분석 및 조치 CORS란? Cross-Origin Resource Sharing의 약자로 교차 출처 리소스 ..
발단 Windows10 개인 로컬 환경에서 WSL2를 활용하여 docker를 실행하여 apahch와 tomcat을 연동하는 중 발생한 문제 docker에서 apache 컨테이너와 tomcat 컨테이너를 실행하였고 각각 호출 시에는 정상적으로 호출되었음 http://localhost 호출 http://localhost:8080 호출 그러나 Web 서버와 Was의 처리를 분리하 mod_jk와 ajp 프로토콜을 적용하였을 때 문제가 발생하였음. ajp 적용 후 http://localhost 호출 시 에러 화면 원인 mod_jk.log를 확인하였을 때 WEB에서 WAS로 AJP통신을 요청할 떄 해당 ip와 port로 연결을 실패하였다는 것임. 에러 메시지 [info] ajp_service::jk_ajp_comm..
운영중인 서버에 DNS 사용 설정이 되어있지 않아 외부기관의 url을 호출할 때 하당 도메인의 ip를 nslookup으로 확인하여 hosts 파일에 일일이 등록되고 있는 부분을 확인하였다. 이러한 작업은 불필요하게 시간과 힘을 들이는 부분이 문제가 된다고 생각하여 해당 서버에 DNS를 적용해 보기로 하였다. 작업환경 Linux 환경 별도 DNS 서버 존재 먼저 host.conf 의 간략한 설명 host.conf multi on order hosts, bind, nis 위 설정대로 라면 hosts, bind, nis 순으로 DNS를 조회하는 의미인데 각 값의 의미는 아래와 같다. multi /etc/hosts 파일에 여러 url 설정이 가능하다. order 도메인을 조회할 방법의 우선순위를 설정 hosts..
docker에서 특정 컨테이너에 접속하였을 때 화면에 표출되는 시간과 PC 시간과 맞지 않아 알아보게 되었다. WSL2 방식 서버환경은 Ubuntu 18.04 먼저 현재 시스템의 날짜 형식을 확인 # date 표출되는 시간을 보면 UTC 형태로 되어있는 것을 확인할 수 있었음, UTC는 영국을 기준으로하여 각 나라의 시차를 규정한 시간인 정도만 알고 넘어가자. 리눅스 환경에서의 시간이 어떤 기준으로 설정된 것인지 확인하는 명령어는 아래와 같다. # ls -al /etc/localtime 명령어 입력 결과 해당 localtime은 심볼릭 링크로 /etc/localtime 경로가 실제로 가리키는 경로를 알 수 있다. 처음에 날짜를 확인한 결과처럼 UTC를 가리키고 있다. 지역 변경하기 # ln -sf /us..
WEB란? 정적 자원(이미지, CSS, javascript)을 제공 클라이언트로부터의 요청을 받음. 웹서버에서 응답이 가능한 요청인 경우 WAS까지 가지 않고 웹서버에서 제공 WAS의 처리가 필요한 요청인 경우 WAS로 요청을 넘김. 많이 사용되고 있는 웹서버로는 apache 가 있음. WAS란? 동적 자원을 제공 DB 처리가 필요한 경우 특정 데이터마다 표출되는 값이 다른 경우 세션 관리 웹서버 + 컨테이너 많이 사용되고 있는 WAS로는 JBOSS, Tomcat, WebLogic, Jeus가 있음. WEB과 WAS를 분리하는 이유 꼭 웹서버와 WAS를 분리해야만 하는 것은 아님. WAS만으로도 정적리소스 경로를 잡아서 사용 가능. 하지만! 웹서버에서 처리할 수 있는 영역을 따로 분리하면 WAS의 부하를..
- Total
- Today
- Yesterday
- React
- 컨테이너
- html
- vscode
- jaxen
- docker
- web
- spring
- SpringBoot
- Windows
- gradle
- Linux
- JSON
- WAS
- parse
- SSL
- Java
- IMAGE
- 깨짐
- SQL
- jQuery
- TLS
- btye
- 이벤트발생
- Oracle
- mybatis
- Eclipse
- Git
- 날짜
- JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |