>  기사  >  백엔드 개발  >  Nginx之——nginx:accept 실패 24: 열려 있는 파일이 너무 많습니다.

Nginx之——nginx:accept 실패 24: 열려 있는 파일이 너무 많습니다.

WBOY
WBOY원래의
2016-07-29 08:49:081363검색

재인쇄할 소스를 표시해 주세요: http://blog.csdn.net/l1028386804/article/details/51425325

nginx를 사용하여 트래픽이 매우 많은 서버가 있습니다. 오류 로그 다음 오류가 계속 보고됩니다.

2016/05/16 08:53:49 [alert] 13576#0: accept() failed (24: Too Many Open Files)
2016/05/16 08 :53:49 [경고] 13576#0: accept() 실패(24: 열린 파일이 너무 많음)
2016/05/16 08:53:49 [경고] 13576#0: accept() 실패(24: 열린 파일이 너무 많습니다)
2016/05/16 08:53:49 [alert] 13576#0: accept() 실패 (24: 열린 파일이 너무 많습니다)
2016/05/16 08:53:49 [alert] 13576#0: accept() 실패 (24: 너무 많은 열린 파일)
2016/05/16 08:53:49 [alert] 13576#0: accept() 실패 (24: 너무 많은 열린 파일) ) )
2016/05/16 08:53:49 [경고] 13576#0: accept() 실패 (24: 열린 파일이 너무 많음)
2016/05/16 08:53:49 [경고] 13576 #0: accept() 실패 (24: 열린 파일이 너무 많음)
2016/05/16 08:53:49 [alert] 13576#0: accept() 실패 (24: 열린 파일이 너무 많음)
2016/05/16 08:53:49 [alert] 13576#0: accept() failed (24: 너무 많은 열린 파일)

해결책:

centos5.3의 ulimit - n은 1024입니다. Nginx 연결 수가 1024를 초과하면 error.log에 다음 오류가 나타납니다.

[alert] 12766#0: accept() failed (24: Too Many Open Files)

ulimit -n 655350을 사용하여 열린 파일 수를 충분히 크게 설정하고, 동시에 nginx.conf를 수정하고, Worker_rlimit_nofile 655350을 추가합니다(error_log와 동일한 수준).

이 방법으로 문제도 해결할 수 있습니다. 많은 Nginx 연결, Nginx 높은 동시성을 지원할 수 있습니다. <nginx도 수정>

또한 ulimit -n은 mysql의 동시 연결 수에도 영향을 미칩니다. 이를 개선하면 mysql 동시성도 향상됩니다.

참고: ulimit -n 2048을 사용한 수정은 현재 셸에만 유효하며 종료 후에는 무효화됩니다.

수정 방법

ulimits 값을 영구적으로 수정하려면 구성 문서를 수정해야 합니다. ulimit 수정 명령을 /etc/profile에 넣으면 됩니다. 이 방법은 정말 불편합니다. .

또 다른 방법은 /etc/security/limits.conf

/etc/security/limits.conf의 형식을 수정하는 것입니다. 예를 들어,

* Soft nofile 655360

* hard nofile 655360

별표는 글로벌 상황을 나타냅니다. , 소프트는 소프트웨어, 하드는 하드웨어이며, 여기서 nofile은 열려 있는 파일 수를 의미합니다.

limits.conf 파일에 위의 두 줄을 추가합니다.

또한,limits.conf 파일 구성을 적용하려면 pam_limits.so 파일이 시작 파일에 추가되었는지 확인해야 합니다. /etc/pam.d/login 파일을 확인하고 다음을 찾으세요:

session require /lib/security/pam_limits.so

로그인하면 효과를 볼 수 있습니다. 수정 후 다시 ulimit -n을 통해 볼 수 있습니다.

위 내용은 Nginx에 대한 소개입니다. - nginx: accept failed 24: Too much open files, 관련 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.