सर्वर Ubuntu 13.04 (GNU / Linux 3.9.3-x86_64-linode33 x86_64) है।
nginx nginx / 1.2.6 है।
मैं इस पर कई घंटों से काम कर रहा हूं, इसलिए यहां मुझे जो मिल रहा है और यहां मैंने किया है।
tail -f /usr/local/nginx/logs/error.log
2013/06/18 21:35:03 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:04 [crit] 3427#0: accept4() failed (24: Too many open files)
2013/06/18 21:35:05 [crit] 3426#0: accept4() failed (24: Too many open files)
नग्नेक्स चल रहा है:
geuis@localhost:~$ ps aux | grep nginx
root 3422 0.0 0.0 39292 380 ? Ss 21:30 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 3423 3.7 18.8 238128 190848 ? S 21:30 0:13 nginx: worker process
nobody 3424 3.8 19.0 236972 192336 ? S 21:30 0:13 nginx: worker process
nobody 3426 3.6 19.0 235492 192192 ? S 21:30 0:13 nginx: worker process
nobody 3427 3.7 19.0 236228 192432 ? S 21:30 0:13 nginx: worker process
nobody 3428 0.0 0.0 39444 468 ? S 21:30 0:00 nginx: cache manager process
/Etc/security/limits.conf में संशोधित सॉफ्ट / हार्ड सीमा (फ़ाइल के अंत से सेटिंग)
root soft nofile 65536
root hard nofile 65536
www-data soft nofile 65536
www-data hard nofile 65536
nobody soft nofile 65536
nobody hard nofile 65536
अधिकतम फ़ाइलों का एक पठन
cat /proc/sys/fs/file-max
500000
और /etc/pam.d/common-session में:
session required pam_limits.so
इसके साथ जोड़ा और सर्वर अच्छे उपाय के लिए फिर से शुरू हुआ, nginx के लिए मैं माता-पिता की पीआईडी प्रक्रिया प्राप्त करके नरम / कठिन सीमाएं गिनता हूं:
cat /proc/<PID>/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
मूल प्रक्रिया 'मूल' के रूप में चलती है और 4 श्रमिक 'कोई नहीं' के रूप में चलते हैं।
root 2765 0.0 0.0 39292 388 ? Ss 00:03 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 2766 3.3 17.8 235336 180564 ? S 00:03 0:21 nginx: worker process
nobody 2767 3.3 17.9 235432 181776 ? S 00:03 0:21 nginx: worker process
nobody 2769 3.4 17.9 236096 181524 ? S 00:03 0:21 nginx: worker process
nobody 2770 3.3 18.3 235288 185456 ? S 00:03 0:21 nginx: worker process
nobody 2771 0.0 0.0 39444 684 ? S 00:03 0:00 nginx: cache manager process
मैंने वह सब कुछ करने की कोशिश की है जो मुझे पता है कि मुझे कैसे करना है और Google से प्राप्त करने में सक्षम है। मुझे nginx को बढ़ाने के लिए फ़ाइल की सीमा नहीं मिल सकती है।
मदद?
worker_rlimit_nofile
uWSGI सेटिंग को बदलते हैं, न कि सिस्टम लिमिट्स (जो मेरे लिए काम की है), तो आप इसे सत्यापित नहीं कर सकतेulimit
। इसके बजाय, आपको सीधे देखना चाहिए/proc/<pid of worker>/limits
।