nginx uLimit ‘worker_connections가 열린 파일 자원 제한을 초과했습니다 : 1024’ 나를 몰아 넣습니다. 8096 worker_connections exceed

나는이 오류가 계속 발생 nginx/error.log하고 나를 몰아 넣습니다.

8096 worker_connections exceed open file resource limit: 1024

나는 내가 생각할 수있는 모든 것을 시도했으며 여기서 nginx를 제한하는 것이 무엇인지 알아낼 수 없습니다. 내가 뭘 놓쳤는 지 말할 수 있습니까?

nginx.conf 이있다 :

worker_processes 4;
events {
        worker_connections 8096;
        multi_accept on;
        use epoll;
}

다음 security/limits.conf과 같이 시스템의 Ulimit를 변경 했습니다.

# This is added for Open File Limit Increase
*               hard    nofile          199680
*               soft    nofile          65535

root            hard    nofile          65536
root            soft    nofile          32768

# This is added for Nginx User
nginx           hard    nofile          199680
nginx           soft    nofile          65535

여전히 오류가 표시되었습니다. 그래서 편집을 시도 /etc/default/nginx하고이 줄을 추가했습니다.

ULIMIT="-n 65535"

여전히 같은 오류가 표시됩니다. nginx 작업자 연결을 1024로 제한하는 것이 무엇인지 알 수 없습니다.

데비안 7 + nginx가 있습니다



답변

worker_rlimit_nofile 65535;기본 컨텍스트 내에서 nginx.conf에 설정하십시오 .


답변

사용자가 되십시오 :

su - nginx

한계를 확인하십시오.

ulimit -Hn
ulimit -Sn

파일 시스템에서 열 수있는 파일 수를 편집하십시오.

vi /etc/sysctl.conf
fs.file-max = 70000

변경 사항을로드하십시오.

sysctl -p

도움이되는지 확인하십시오.