apache2ctl: 87: ulimit: ত্রুটি সেটিং সীমা (অপারেশন অনুমোদিত নয়)


12

সার্ভারটি ঠিকঠাক চলছে - বা কমপক্ষে এটি বলে মনে হচ্ছে - তবে সর্বদা নিম্নলিখিত ত্রুটি রয়েছে:

apache2/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)

এটি ডেবিয়ান হুইজিতে অ্যাপাচি ২.২.২২-৯ এর সাথে ঘটে।

# apache2ctl configtest

/ usr / sbin / apache2ctl: 87: ulimit: ত্রুটি সেটিং সীমা (অপারেশন অনুমোদিত নয়)
সিনট্যাক্স ঠিক আছে

# service apache2 reload

[....] ওয়েব সার্ভার কনফিগারেশন পুনরায় লোড হচ্ছে: apache2 / usr / sbin / apache2ctl: 87: ulimit: ত্রুটি সেটিং সীমা (অপারেশন অনুমোদিত নয়)
। ঠিক আছে

# service apache2 restart

[....] ওয়েব সার্ভার পুনরায় চালু করা হচ্ছে: apache2 / usr / sbin / apache2ctl: 87: ulimit: ত্রুটি সেটিং সীমা (অপারেশন অনুমোদিত নয়)
... অপেক্ষার / usr / sbin / apache2ctl: 87: ulimit: ত্রুটি সেটিং সীমা (অপারেশন অনুমোদিত নয়)
। ঠিক আছে

# service apache2 status

অ্যাপাচি 2 চলছে (পিড 32045)।


1
আপনার /etc/security/limits.conf এবং /etc/security/limits.d এ কী আছে তা একবার দেখুন। দেখে মনে হচ্ছে আপনার কাছে APachE_ULIMIT_MAX_FILES (এটিকে / usr / sbin / apache2ctl এ দেখুন) ভেরিয়েবলটি সেই ফাইলে সীমাবদ্ধতার চেয়ে বড় কিছুতে সেট করে।
এইচবি

উত্তর:


16

এটি সাহায্য করতে পারে: - http://ubuntuforums.org/showthread.php?p=11950245# পোস্ট 11950245

sudo service apache2 restart # no errors
service apache2 restart      # errors

ধন্যবাদ, আমি ইতিমধ্যে এটি দেখেছি কিন্তু এটি কোনও লাভ করে না। সুডো ব্যবহার করা বা কোনও পরিবর্তন হয় না, আমার একই ত্রুটি রয়েছে।
পাস্কাল পলিউনাস

1
আমার জন্য কাজ! পুরোপুরি ভুলে গেছি sudo
থমাসরেগি

2
+1 যাদু sudoসবসময় কৌতুক করে
সাইকেল

সবচেয়ে খারাপ, আমার ডকার সেটআপ রয়েছে যেখানে এটি তৈরি হচ্ছে, আমার বাড়ির কম্পিউটারে কাজ করে, তবে সার্ভারে নয় ... ধারকটিতে তাদের মধ্যে কোনও পার্থক্য নেই ... আমার কাছে কোনও ধারণা রাখে না
সুপারহিরো

একই এখানে সুপারহিরো। এছাড়াও, পুনরায় চালু করা আমার সাথে সুডো ছাড়া বা ছাড়া কাজ করে না। আমাকে স্টপ ব্যবহার করতে হবে তারপর এটিকে কাজ করতে সুডো ছাড়াই শুরু করতে হবে।
শারদজ

5

সমস্যাটি / usr / sbin / apache2ctl (দেবিয়ানে) থেকে শুরু হয়েছে। এটা দেখ:

~$ grep ULIMIT /usr/sbin/apache2ctl
ULIMIT_MAX_FILES="${APACHE_ULIMIT_MAX_FILES:-ulimit -n 8192}"
if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
    $ULIMIT_MAX_FILES

এখানে এটি 8192 এ অনুমোদিত ফাইলের সংখ্যা নির্ধারণ করছে Or বা আপনার ক্ষেত্রে চেষ্টা করে ব্যর্থ হচ্ছে।

সুতরাং যখন apache2ctl এটি করে তখন একটি ত্রুটি পেতে এড়াতে, এই দুটি লাইন যুক্ত করে /etc/security/limits.conf ফাইলটিতে আপনার সিস্টেমের সেটিংস সামঞ্জস্য করুন:

*               soft    nofile          8192
*               hard    nofile          8192

আমি এটি প্রয়োজনীয়তার চেয়ে বেশি (8192) এ বাড়িয়ে দেখিনি কারণ এর ফলে কী কী প্রভাব ফেলবে তা আমি জানি না। তবে এটি সতর্কতা থেকে মুক্তি পেয়ে যায়।

এর পরে আপনার সিস্টেমটি পুনরায় বুট করার দরকার আছে কিনা তা নিশ্চিত নই, কারণ উলামীদের মধ্যে একটি গতিশীল উপাদান রয়েছে যার সাথে আমি পরিচিত নই। তবে আপনার ফাইলের বর্তমান নামকরণ সংখ্যাটি কী তা খুঁজে পেতে আপনি সহজেই যথেষ্ট পরীক্ষা করতে পারেন:

ulimit -n

আমি এটি কোথায় পেয়েছি তা আপনি পড়তে চাইতে পারেন: স্ট্যাকওভারফ্লো - সেটিং ওলিমিট


আমি কীভাবে বিপরীত করব এবং অ্যাপাচি সীমাটি হ্রাস করব?
এরি0o

আমি উত্তরে পোস্ট করা স্ক্রিপ্টটি অ্যাপাচি 2ctl স্ক্রিপ্টের বাইরে সরাসরি যা অ্যাপাচি দ্বারা ইনস্টল করা আছে তা দেখে আপনাকে সেই স্ক্রিপ্ট ফাইলে গিয়ে এটিকে পরিবর্তন করতে হবে, ধরে নিবেন যে আপনার অ্যাক্সেসের অধিকার রয়েছে এবং ধরে নিচ্ছেন আপনি পুনরাবৃত্তি করতে ইচ্ছুক প্রতিটি অ্যাপাচি আপগ্রেড সহ ক্রিয়া।
আদম

2

1.Check মান পরিবর্তন করুন এবং ulimit আপনার হোস্ট মেশিনে। ফাইল / ইত্যাদি / প্রোফাইলে মানগুলি যুক্ত করুন তবে এটি কার্যকর হবে।

ulimit -u 10240
ulimit -n 8192     #This configuration is what we most needed
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited

source /etc/profile

অথবা আপনি করতে পারেন:

sudo sh -c 'printf "\nulimit -HSn 999999\n" >> /etc/sysconfig/docker'

2. ডকার পরিষেবাটি পুনরায় চালু করুন এবং কনফিগারেশনটিকে কার্যকর হতে দিন be

sudo service docker restart

3. পাত্রে ulimit পরীক্ষা।

ulimit -n

এটিই আমার পরীক্ষার ফলাফল!

টিপস: হতে পারে আপনি নীচের মত কমান্ডটিও চেষ্টা করতে পারেন (পূর্বশর্ত: হোস্ট মেশিনে ulimit 8192 এর চেয়ে বড় হওয়া উচিত) তবে আমি ব্যর্থ হয়েছি

docker run --privileged -it -p xxxx:80 --ulimit data=8192 linode/lamp /bin/bash

$ ulimit -n 8192আমাকে দেয়-bash: ulimit: open files: cannot modify limit: Operation not permitted
শারদজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.