nginx 0.7.64 503 오류 해결 방법

브 라 우 저 알림 503 오류: 찾 고 있 는 페이지 를 일시 적 으로 사용 할 수 없습니다. 나중에 다시 시도 하 십시오.
 
nginx 오류 로그 보기
#more error.log2010/02/25 15:35:48 [alert] 28537#0: worker process 28541 exited on signal 112010/02/25 15:35:49 [alert] 28537#0: worker process 28540 exited on signal 112010/02/25 15:35:49 [alert] 28537#0: worker process 28538 exited on signal 112010/02/25 15:35:54 [alert] 28537#0: worker process 30384 exited on signal 112010/02/25 15:35:54 [alert] 28537#0: worker process 30385 exited on signal 112010/02/25 15:35:54 [alert] 28537#0: worker process 30386 exited on signal 112010/02/25 15:35:59 [alert] 28537#0: worker process 30389 exited on signal 112010/02/25 15:35:59 [alert] 28537#0: worker process 28539 exited on signal 112010/02/25 15:36:00 [alert] 28537#0: worker process 30390 exited on signal 112010/02/25 15:36:09 [alert] 28537#0: worker process 30398 exited on signal 11
 
2010/02/25 15:36:11 [error] 30399#0: *140 limiting connections by zone "one", client: 124.128.18.164, server: localhost, request: "GET /aim/380K/mv/201002/126665211551fcd03770.mp4/03563069d9a532c0183283d492cdcd9e/4b877865.mp4 HTTP/1.1", host: "60.*.236.22:*80", referrer: "http://*.com/theme/index/t2/"2010/02/25 15:36:23 [error] 30399#0: *143 limiting connections by zone "one", client: 124.128.18.164, server: localhost, request: "GET /aim/380K/mv/201002/126673220943d6d9c8a4.mp4/be38df13158f338d7a2d754169a15a46/4b877865.mp4 HTTP/1.1", host: "60.*.236.22:*80", referrer: "http://*.com/theme/index/t2/"
 
nginx 0.7.65 이전 상태 로 업그레이드
lai@ff:/var/log/nginx$ sudo more error.log|grep worke         2010/02/26 07:38:08 [alert] 31300#0: worker process 31304 exited on signal 112010/02/26 08:40:07 [alert] 31300#0: worker process 31301 exited on signal 112010/02/26 09:08:03 [alert] 31300#0: worker process 2068 exited on signal 112010/02/26 11:08:55 [alert] 31300#0: worker process 31303 exited on signal 112010/02/26 11:38:34 [alert] 31300#0: worker process 2262 exited on signal 112010/02/26 13:08:32 [alert] 31300#0: worker process 2641 exited on signal 112010/02/26 13:40:57 [alert] 31300#0: worker process 31302 exited on signal 112010/02/26 14:07:55 [alert] 31300#0: worker process 4684 exited on signal 112010/02/26 15:08:02 [alert] 14374#0: worker process 14376 exited on signal 112010/02/26 16:37:55 [alert] 14374#0: worker process 14377 exited on signal 112010/02/26 17:37:59 [alert] 20435#0: worker process 20437 exited on signal 11lai@ff:/var/log/nginx$
 
nginx 접근 로그 보기
#more iphone.access.log124.128.18.164 - - [25/Feb/2010:15:36:11 +0800] "GET /aim/380K/mv/201002/126665211551fcd03770.m/03563069d9a532c0183283d492cdcd9e/4b877865.mp4 HTTP/1.1" 503 383 "http://*.com/theme/index/t2/" "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; zh-cn) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16"
 
 
#dmesg
[8899569.894983] nginx[31582]: segfault at 1 ip 080727a8 sp bf8c1d00 error 4 in nginx[8048000+83000][8919934.402677] nginx[31604]: segfault at 1 ip 080727a8 sp bf8c1d00 error 4 in nginx[8048000+83000][8919935.259635] nginx[31225]: segfault at 1 ip 080727a8 sp bf8c1cc0 error 4 in nginx[8048000+83000][8919935.683643] nginx[31551]: segfault at 1 ip 080727a8 sp bf8c1d00 error 4 in nginx[8048000+83000][8920889.231712] nginx[994]: segfault at 1 ip 080727a8 sp bf8c1d00 error 4 in nginx[8048000+83000][8937845.432609] nginx[32105]: segfault at 1 ip 080727a8 sp bf8c1d00 error 4 in nginx[8048000+83000]
 
worker process 20437 exited on signal 11 의 오류 원인:
11)SIGSEGV  CORE 파일 만 들 기      세그먼트 불법 오류 SIGSEGV 는 자신 에 게 할당 되 지 않 은 메모리 에 접근 하거나 쓰기 권한 이 없 는 메모리 주소 로 데 이 터 를 쓰 려 고 합 니 다.lai@kin:/var/log/nginx$ free             total       used       free     shared    buffers     cachedMem:       3107008    3090076      16932           0     515532    2190200-/+ buffers/cache:     384344    2722664Swap:      2931852        104    2931748lai@kin:/var/log/nginx$ ps aux|grep pop3|wc    129    1420    9803lai@kin:/var/log/nginx$ ps aux|grep php|wc     22     243    1796
 
 
현대 운영 체제 에는 두 가지 관건 적 인 개념 이 있 는데 하 나 는 프로그램 이 실 체 를 실행 하 는 프로 세 스 (작업 이 라 고도 함) 이 고 다른 하 나 는 프로 세 스 가 실행 하 는 공간 범위, 즉 주소 공간 이다.x86 시스템 에서 주 소 는 3 급 입 니 다. 하 나 는 논리 적 주소 입 니 다. 즉, 어 셈 블 리 를 쓸 때 사용 하 는 지정 한 세그먼트 와 오프셋 주소 입 니 다.둘째, 선형 주소 이다. 서로 다른 프로 세 스 는 겹 치 는 선형 주소 집합, 즉 선형 주소 공간 을 가 질 수 있다.셋 째 는 실제 물리 적 주소 공간 이다.당신 이 말 한 C + + 의 분석 함 수 는 선형 주소 공간 차원 의 자원 회 수 를 실현 한 것 입 니 다.현대 의 운영 체 제 는 보편적으로 가상 저장 특성 을 지원 한다. 즉, 프로 세 스 가 그 중의 주소 공간 과 실제 물리 적 메모리 공간 을 분리 시 켜 다 중 작업 '동시' 운행 을 실현 하 는 것 이다.그리고 주류 의 32 비트 주소 버스 시스템 에서 프로 세 스 가 주 소 를 찾 을 수 있 는 선형 주소 공간 은 4GB 이다. 즉, 프로그램 을 쓸 때 시스템 에 4GB 의 메모리 가 있다 고 생각 할 수 있다. 물론 대부분의 일반 pc 는 이렇게 사 치 스 러 운 설정 이 없다. 실제 물리 적 메모리 크기 에 관심 을 가 질 필요 가 없다.유 닉 스 / linux 의 커 널 은 자 연 스 럽 게 4GB 의 주소 공간 을 512 MB 의 실제 물리 적 메모리 로 변환 하여 실행 할 수 있 습 니 다.여기 서 알 수 있 듯 이 제 가 프로그램 에서 malloc 가 10MB 의 메모 리 를 실 행 했 을 때 사실은 제 주소 공간 을 10MB 늘 렸 을 뿐 입 니 다. 즉, 커 널 에 알려 주 는 것 입 니 다. "이 프로그램 은 현재 110 MB 의 공간 에서 실행 되 고 있 습 니 다. 주 소 를 찾 을 수 있 도록 새로운 디 렉 터 리 와 페이지 표를 할당 해 주 십시오." 클 라 우 드 는 실제 메모리 에 10MB 공간 을 그 어 사용 하 는 것 이 아 닙 니 다.사실 지금 메모리 에 있 습 니 다. 프로그램 이 차지 하 는 물리 적 주 소 는 5MB 밖 에 안 될 수도 있 습 니 다.그런데 왜 책 에서 '메모 리 를 분배 하면 반드시 방출 해 야 한다' 고 말 합 니까?이것 은 당신 의 가장 큰 주소 공간 이 제한 되 어 있 기 때 문 입 니 다. 일반적인 시스템 에 대해 이 제한 은 4GB 입 니 다.만약 에 malloc 만 free 가 아니라면 주소 공간 이 계속 늘 어 나 고 마지막 에 4GB 의 제한 을 초과 합 니 다. 이때 커 널 은 주소 변환 을 정확하게 할 수 없습니다. 프로 세 스 에 SIGSEGV 신 호 를 보 내 고 프로 세 스 를 강제로 kill 로 보 내 며 처음에 분 배 된 모든 자원 을 방출 합 니 다. 작업 설명자, 세그먼트 표 와 페이지 표 등 을 포함 합 니 다.한편, 우리 가 말 하 는 운영 체제 의 메모리 관 리 는 논리, 선형 과 물리 적 주소 변환, 그리고 메모리 의 감 시 를 책임 지고 버퍼 와 캐 시 를 관리 하 는 전체 sub system 이다. 그 중요 한 임 무 는 바로 메모 리 를 더욱 효과적으로 사용 하 는 것 이다. 이 는 제어 이외 의 메모리 가 발생 하지 않도록 하고 프로그램의 응답 속 도 를 향상 시 키 는 것 을 포함한다.이 를 위해 유 닉 스 / linux 의 커 널 은 버퍼 (cache) 와 캐 시 (buffer) 두 가지 체 제 를 실현 합 니 다 (2.6 시리즈 커 널 에서 두 부분 이 통 일 된 것 같 습 니 다).버퍼 는 프로그램의 일부 내용 을 메모리 에 넣 기 때문에 큰 프로그램 을 닫 은 후에 같은 프로그램 을 시작 하 는 속도 가 빨 라 집 니 다. 이것 은 커 널 이 하 드 디스크 에서 실행 가능 한 파일 을 읽 지 않 고 메모리 의 코드 를 직접 실행 하기 때 문 입 니 다.캐 시 는 주로 하드웨어 i / o 작업 에 사 용 됩 니 다. 하 드 디스크 에 큰 파일 을 쓸 때 하 드 디스크 등 이 계속 켜 져 있 는 것 이 아니 라 깜빡 거 리 는 것 을 발견 할 수 있 습 니 다. 이것 은 데이터 가 먼저 메모리 에 캐 시 되 고 일정한 수량 이 될 때 하 드 디스크 에 한꺼번에 기록 되 기 때 문 입 니 다. 이렇게 하면 하 드 디스크 i / o 의 효율 을 크게 향상 시 키 고 하 드 디스크 의 불필요 한 손실 도 피 할 수 있 습 니 다.상기 원인 을 바탕 으로 유 닉 스 / linux 커 널 은 가능 한 한 많은 물리 적 메모리 로 버퍼 와 캐 시 를 할 것 입 니 다.그러나 메모리 가 부족 할 때 커 널 은 무시 할 수 있 는 시간 내 에 필요 한 프로그램 에 충분 한 메모 리 를 할당 할 수 있다.위의 이 말의 관건 은 프로 그래 밍 의 메모리 방출 과 커 널 의 메모리 관리 두 개념 을 헷 갈 리 지 않 는 것 이다.프로그램 에서 작 동 하 는 것 은 선형 주소 공간 이 고 커 널 만 물리 적 주소 공간 과 접촉 할 수 있 습 니 다.프로그램 이 아무리 엉망 으로 써 도 프로 세 스 가 끝나 면 모든 메모리 가 커 널 에 의 해 회수 된다.내 프로그램 malloc 이후 free 가 없다 면 이 부분 메모 리 는 더 이상 사용 할 수 없다 는 것 은 아니다.
 
해결 방법: nginx 를 다시 시작 합 니 다.pop 3 - login 프로 세 스 수 를 줄 입 니 다.
 
이러한 오류 에 대한 다른 보고서:
Debian Bug report logs - #515904
nginx worker exit with 11 signal if wildcard dns names are used with ssl  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515904




nginx :






Changes with nginx
0.7.65 01 Feb 2010
*) Security: now nginx /Windows ignores trailing spaces in URI.







Thanks to Dan Crowley, Core Security Technologies.















*) Security: now nginx






/Windows ignores short files names.







Thanks to Dan Crowley, Core Security Technologies.















*) Change: now the "009" status code is written to an access log for







proxied HTTP/0.9 responses.















*) Change: now the default buffer size of the







"large_client_header_buffers" directive is 8K.







Thanks to Andrew Cholakian.















*) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".















*) Change: now SSLv2 protocol is disabled by default.















*) Change: now $host variable value is always low case.















*) Feature: the conf/fastcgi.conf for simple FastCGI configurations.















*) Feature: now URI part is not required a "proxy_pass" directive if







variables are used.















*) Feature: the $ssl_session_id variable.















*) Bugfix: if a proxied or FastCGI request was internally redirected to







another proxied or FastCGI location, then $upstream_response_time







variable may have abnormally large value; the bug had appeared in







0.7.63.















*) Bugfix: if the "expires modified" set date in the past, then a







negative number was set in the "Cache-Control" response header







line.







Thanks to Alex Kapranoff.















*) Bugfix: nginx






closed a connection if a cached response had an empty







body.







Thanks to Piotr Sikora.















*) Bugfix: nginx






cached a 304 response if there was the "If-None-Match"







header line in a proxied request.







Thanks to Tim Dettrick and David Kostal.















*) Bugfix: nginx






did not treat a comma as separator in the







"Cache-Control" backend response header line.















*) Bugfix: cached HTTP/0.9 responses were handled incorrectly.















*) Bugfix: nginx






sent gzipped responses to clients those do not support







gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared







in 0.8.16.















*) Bugfix: nginx






always added "Content-Encoding: gzip" response header







line in 304 responses sent by ngx_http_gzip_static_module.















*) Bugfix: the "!-x" operator did not work.







Thanks to Maxim Dounin.















*) Bugfix: a segmentation fault might occur in a worker






process






, if







limit_rate was used in HTTPS server.







Thanks to Maxim Dounin.















*) Bugfix: a segmentation fault might occur in a worker






process






while







$limit_rate logging.







Thanks to Maxim Dounin.















*) Bugfix: nginx






did not support dates in 2038 year on 32-bit platforms;















*) Bugfix: nginx






/Windows tried to delete a temporary file twice if the







file should replace an already existent file.















*) Bugfix: nginx






/Windows tried to rename a temporary file twice if the







file should replace an already existent file.















*) Bugfix: nginx






/Windows might not create temporary file, a cache file,







or "proxy/fastcgi_store"d file if a worker






had no enough access







rights for top level directories.















*) Bugfix: in UTF-8 encoding support by "try_files" directive in







nginx






/Windows.















*) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.







Thanks to Maxim Dounin.















*) Bugfix: the ngx_http_autoindex_module did not show the trailing







slash in links to a directory; the bug had appeared in 0.7.15.















*) Bugfix: nginx






did not close a log file set by the --error-log-path







configuration option; the bug had appeared in 0.7.53.















*) Bugfix: "addition_types" directive was incorrectly named







"addtion_types".















*) Bugfix: invalid request line in $request variable was written in







access_log only if error_log was set to "info" or "debug" level.























Changes with nginx






0.7.64






16 Nov 2009















*) Security: now SSL/TLS renegotiation is disabled.







Thanks to Maxim Dounin.















*) Bugfix: nginx






sent gzipped responses to clients those do not support







gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared







in 0.7.63.















*) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld







were defined, then the name .sub.domain.tld was matched by







.domain.tld.















*) Bugfix: segmentation fault and infinite looping in resolver.















*) Bugfix: in resolver.







Thanks to Artem Bokhan.















*) Bugfix: resolver cache poisoning.







Thanks to Matthew Dempsky.















*) Bugfix: memory leak in resolver.







Thanks to Matthew Dempsky.















좋은 웹페이지 즐겨찾기