대용량 파일을 업로드할때 업로드하는 시간이 2분을 넘어가자 nginx 504 Gateway Time-out 이 발생하며 안되는 문제가 발생을 하였다. 이것에 대한 원인과 해결책은 다음과 같다. 문제점 : nginx의 기본 timeout 시간(60초)을 넘어갔기 때문에 발생을 하는 것이다. 해결책 : nginx의 timeout 시간을 늘려주면 된다. timeout 시간을 늘려주는건 다음과 같이 할수 있다. nginx.conf server { ... 생략 ... location / { proxy_pass http://127.0.0.1:8080; #proxy_connect_timeout 600; #WAS 접속시간 proxy_send_timeout 600; #WAS로 전송할때 timeout #proxy_read..
지난번에 간단하게 nginx 설치를 해봤다. 설치를 했으면 써먹어보자. 일단은 was와 연동을 하는 작업을 해보자. 보통은 web-was 연동을 해서 was라고 표현을 했지 프록시 서버 역할을 할거라 연결할 수 있는 무엇이든 상관 없다. was는 현재 local에서 기동되었고 http://localhost:8080 으로 접근할 수 있다. nginx의 대부분의 설정은 nginx.conf 파일에서 진행을 한다. 위치는 nginx설치경로/conf/nginx.conf 이다. 작업을 하기 전에는 항상 nginx.conf 파일을 백업을 해두고 하자. nginx.conf server { listen 80; server_name localhost; location / { proxy_pass http://localhos..
세션 클러스터링 관련 테스트를 해야 할 일이 생겼다. 이런 테스트를 하기 위해 서버 환경과 비슷하게 web 서버를 설치해야 했다. web 서버로 선택한것은 nginx. 내 로컬 윈도우에 설치를 해보자. nginx: download nginx.orgnginx는 위의 공식 홈페이지에 다운받을 수 있다. 여러가지 버전이 있지만 Windows 버전 중 stable 버전을 받았다. 다운로드 받고 적당한 경로에 압축을 풀어준다. 그러면 이렇게 실행할 수 있는 아이콘이 보이고 이것을 실행시켜준다. 그리고 브라우저에서 localhost 라고 입력해보면 이렇게 정상적으로 설치가 된 것을 확인할 수 있다. 간단하다. 서비스를 종료하려면 작업관리자에서 nginx 를 찾아서 종료시켜주면 된다. 끝!
docker image를 변경한 뒤 재배포를 위해 build를 시도했다. unable to prepare context: unable to evaluate symlinks in Dockerfile path: CreateFile C:\Users\User\Dockerfile: The system cannot find the file specified. build를 하니 이런 오류가 발생한다. "Dockerfile로 지정한 파일을 찾을수 없다" 라는 내용이다. Dockerfile은 도대체 무엇인가? Dockerfile은 image 생성을 위한 스크립트이다. 즉 build를 할때 꼭 필요한 파일이라는 것이다. docker를 사용하면 기본중의 기본인 Dockerfile 인데 필요한 기능만 찾아서 하다보니 기본이 ..
web/was 세팅을 마치고 브라우저에서 잘 연결이 되는지 확인을 하려고 nginx에 설정한 도메인을 딱 치는순간! 왜 이런 오류가 날까? 원인을 파악해 보니 web서버에서 was서버로 (물리적으로 다른 서버) 연결을 하는 경우만 이렇다. web to web 은 nginx 설정대로 아주 잘 된다. 그렇다는것은 web 서버와 was 서버간의 방화벽이 문제가 될수 있는다는 것이다. 방화벽이 열렸는지 확인할 수 있는 방법은 telnet도 있지만 오늘은 netcat (or ncat)에 대해서 살펴보겠다. (기존의 netcat을 크게 개선시킨것이 ncat 이라고 한다.) 일단 nc가 설치가 되었는지 확인을 해본다. 역시 깔려있지 않다. 인생이 그렇게 호락호락하지는 않은것 같다. $ yum install nc yu..