내 호스팅 회사는 약 일주일 전에 내 서버를 최신 시스템으로 옮겼으며 한 쿼리에 대한 작은 ORDERBY 문제를 제외하고 모든 것이 원활하게 실행되고 있습니다.
어젯밤 갑자기 내 사이트 속도가 느려지기 시작했고 업스트림에 연결하는 동안 오류 로그가 "Socket() failed (24: Too Many Open Files)" 오류로 가득 차 있는 것을 발견했습니다. 내 사용자 정의 CMS 관리자에 문제가 있을 수 있다고 생각하여 어젯밤에 몇 시간 동안 작업했는데 갑자기 오류 메시지가 사라지고 모든 것이 원활하게 실행되기 시작했습니다.
오늘 오후부터 서버에 다시 문제가 발생하기 시작했습니다. 컴퓨터를 다시 시작하자 즉시 nginx 오류 로그가 동일한 오류로 채워지기 시작했습니다. 이번에도 약 10분 후에 오류가 중지되었으며 그 이후로 서버는 원활하게 실행되고 있습니다.
나는 결코 UNIX 관리자는 아니지만 상당히 논리적으로 생각할 수 있습니다. 여기서 무슨 일이 일어나고 있는지 모르겠습니다.
답변1
당신은 확인할 수 있습니다ulimit-n시스템이 허용하는 파일 수를 확인하려면 nginx가 루트로 실행되지 않는 경우 사용자에게 이를 구성할 수 있습니다. 임시 수정으로 아직 최대값으로 설정되지 않은 경우 값을 늘릴 수 있습니다./etc/security/limits.conf. 또한 응용 프로그램이 연결을 활성 상태로 유지하고 닫지 않는지 확인하십시오. 응용 프로그램 문제인 것 같습니다.
사용자 이름 대신 *를 사용하면 모든 사용자에게 적용됩니다.
/etc/security/limits.conf
* soft nofile 1024
* hard nofile 65535