nginx 0.7.64 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.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.