nginx uLimit 'কর্মী_সংযোগগুলি উন্মুক্ত ফাইল সংস্থান সীমা ছাড়িয়েছে: 1024'


15

আমি এই ত্রুটিটি পেয়ে যাচ্ছি nginx/error.logএবং এটি আমাকে বাদ দিয়ে চলেছে:

8096 worker_connections exceed open file resource limit: 1024

আমি যা ভাবতে পারি তার সবই চেষ্টা করেছি এবং এখানে কী এনজিএক্স সীমাবদ্ধ করছে তা নির্ধারণ করতে পারছি না। আমি কি মিস করছি তা বলতে পারবেন?

nginx.conf এটি আছে:

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

আমি আমার সিস্টেমের উলিমিটকে এভাবে পরিবর্তন করেছি security/limits.conf:

# 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"

এটি এখনও একই ত্রুটি দেখায়। এনগিনেক্স কর্মী সংযোগটি কেবলমাত্র 1024 এর মধ্যে সীমাবদ্ধ করছে তা অনুধাবন করতে পারে না you আপনি কি আমাকে উল্লেখ করতে পারেন?

আমি ডেবিয়ান 7 + এনগিনেক্স পেয়েছি

উত্তর:


30

worker_rlimit_nofile 65535;মূল প্রসঙ্গে nginx.conf এ সেট করুন ।


1
এটাই! এটা এটি স্থির। ওহ তুমি ত্রাণকর্তা। ইউলিমিট ম্যানুয়ালি সেট আপ না করা সত্ত্বেও এটি এখন কাজ করে /etc/default/nginx file। অসাধারণ. ধন্যবাদ @ জাভিউর
নীল

1
ভাল কাজ জাভিয়ার
ডেভ হল্যান্ড

@ অ্যাসাভিয়ার এটি ত্রুটিটি মুছে ফেলেছে, তবে নীচের উত্তরে উল্লিখিত উল্লিখিত পরিবর্তন না করে কেন এটি কাজ করে তা আপনি ব্যাখ্যা করতে পারেন? গুগল অনুসন্ধানগুলি সীমাবদ্ধতাগুলি বা সিস্টেস্টক্লাঙ্কে উলিমেট পরিবর্তন করতে বলে তবে আমার পক্ষে কোনওটিই কাজ করে না।
বিসিয়েন

2

ব্যবহারকারী হন:

su - nginx

সীমা পরীক্ষা করুন:

ulimit -Hn
ulimit -Sn

ফাইল সিস্টেম ফাইল ফাইলের সংখ্যা সম্পাদনা করুন যা আপনাকে খোলার অনুমতি দেবে:

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

আপনার পরিবর্তনগুলি লোড করুন:

sysctl -p

এটি সাহায্য করে কিনা দেখুন।


আমি init এবং havent ইনস্টল করা systemctl ব্যবহার করছি। যে একটি পার্থক্য করতে হবে?
নীল

আমি যখন Nginx ব্যবহারকারীর কাছে পরিবর্তন করেছি, সেখানে ulimit -Hn সঠিকভাবে প্রদর্শিত হচ্ছে। আমি তখন যাচাই করেছিলাম init.d/nginxএবং এটি পরীক্ষা করে যে ইউএলএমটিটি ডিফল্ট ফোল্ডারে সেট করা আছে (যেখানে এটি ইতিমধ্যে সেট করা আছে) এবং তারপরে সেই মানটি সেট করা উচিত তবে তা তা করেনি:Check if the ULIMIT is set in /etc/default/nginx
নীল

ফাইল-ম্যাক্স পরিবর্তন করার পরে এবং আমি sysctl -pউবুন্টু চালানোর সাথে সাথে 18.04.2 হ্যাং হয়ে যায়, প্রচুর ফাইল খোলা হয় এবং বুট হয় না, ওএস বুট করতে আবার নিরাপদ বুটে কোডটি সরিয়ে ফেলতে হয়েছিল।
বিসিয়েন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.