অ্যাপাচি কর্মী এমপিএম সক্ষম করে


10

আমি উবুন্টুতে কাজ করার জন্য ফাস্টসিজিআই এবং পিএইচপি 5-এফপিএম কনফিগার করেছি, যা ভাল কাজ করছে।

তবে আমি "অ্যাপাচি 2 কর্মী এমপিএম" মডিউলটি ইনস্টল করেছি এবং অ্যাপাচি 2 এ ডিফল্ট থাকা "প্রেফার্ক এমপিএম" কনফিগার করে প্রতিস্থাপন করতে চেয়েছিলাম ।

আমি খুঁজে পাওয়া যায় নি এ সেন্টওএস ছিল /etc/sysconfig/httpdমাত্র নির্বাণ HTTPD=/usr/sbin/httpd.workerকরতে হবে "কর্মী MPM" সক্ষম করা হয়েছে।

  1. উবুন্টুতে আমরা কীভাবে "কর্মী এমপিএম" সক্ষম করব?

  2. এছাড়াও আমি যখন অ্যাপাচি সংকলিত মডিউলগুলি তালিকা করি তখন "/usr/sbin/apachectl -l"এটি অভিরুচিযুক্ত তালিকা "prefork.c"যা তালিকাভুক্ত বলে আমরা এটি ডিফল্টরূপে এটি ব্যবহার করি using তবে আমি যখন "/usr/sbin/apache2 -V | grep MPM"এটি "সার্ভার এমপিএম: প্রেফার্ক" দেখায় কেউ দয়া করে এটি ব্যাখ্যা করতে পারে?

$ / usr / sbin / apache2 -V | গ্রেপ এমপিএম

Server MPM:     prefork

phpinfo ();

Server API :    FPM/FastCGI

উত্তর:


29

কিছু সময় কাজ করার পরে আমি নিজেই এটি করেছি। আপনি নীচের পদক্ষেপগুলি খুঁজে পেতে পারেন।

বর্তমানে কোন এমপিএম অ্যাপাচি চলছে তা পরীক্ষা করুন:

apachectl -V | grep -i mpm

Result:
Server MPM:     prefork

এমপিএম মডিউলগুলি উপলভ্য তালিকা (এমপিএম_ওয়ার্কর তালিকাভুক্ত রয়েছে তা নিশ্চিত করুন)

ls /etc/apache2/mods-available/mpm*

Result:
/etc/apache2/mods-available/mpm_event.conf  /etc/apache2/mods-available/mpm_prefork.conf  /etc/apache2/mods-available/mpm_worker.conf
/etc/apache2/mods-available/mpm_event.load  /etc/apache2/mods-available/mpm_prefork.load  /etc/apache2/mods-available/mpm_worker.load

সক্ষম এমপিএম মডিউলগুলির তালিকা তৈরি করুন (যদি এমপিএম_কর্মী সক্ষম না হয় তবে আমাদের এটি সক্ষম করা উচিত এবং এমপিএম_প্রফোর্ড মডিউলটি অক্ষম করা উচিত)

ls -l /etc/apache2/mods-enabled/mpm*

Result:
/etc/apache2/mods-enabled/mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
/etc/apache2/mods-enabled/mpm_prefork.load -> ../mods-available/mpm_prefork.load

MPM_PREFORK মডিউলটি অক্ষম করুন

a2dismod mpm_prefork

MPM_WORKER মডিউল সক্ষম করুন

a2enmod mpm_worker

অ্যাপাচি এমপিএম ওয়ার্কারে চলছে কিনা তা পরীক্ষা করতে

apachectl -V | grep -i mpm

Result:
Server MPM:     worker

আপনি যদি এই আদেশগুলি কার্যকর করার পরে এই ত্রুটিটি পান:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP

Libapache2 প্যাকেজ অপসারণ করার চেষ্টা করুন:

apt-get remove libapache2-mod-php5

2
নির্দেশ অনুসরণ করেছেন তবে এটি পেয়েছেন: * ওয়েব সার্ভার অ্যাপাচি 2 পুনরায় চালু করা [ব্যর্থ] * অ্যাপাচি 2 কনফিগারেশন ব্যর্থ হয়েছে। কনফিগার টেস্টের আউটপুট ছিল: AH00534: apache2: কনফিগারেশন ত্রুটি: একাধিক এমপিএম লোড হয়েছে। অ্যাকশন 'কনফিগারেশন' ব্যর্থ হয়েছে। অ্যাপাচি ত্রুটি লগ আরও তথ্য থাকতে পারে।
নিওবি

নিখুঁত :) এটা আমার জন্য কাজ করছে।
চিরাগ জাগানী

এটি ত্রুটি দিচ্ছে "অ্যাপাচি একটি থ্রেডেড এমপিএম চালাচ্ছে, তবে আপনার পিএইচপি মডিউলটি থ্রেডসেসফ হতে সংকলিত নয় You আপনাকে পিএইচপি পুনরায় সংকলন করা দরকার" এবং লিবাপাচে ২-মোড-পিএইচপি 5 অপসারণও কোনও সাহায্য করছে না।
আইসিবার্গ

2

অ্যাপাচি থ্রেডেড এমপিএম চালাচ্ছে, তবে আপনার পিএইচপি মডিউলটি থ্রেডসেফ হতে সংকলিত হয়নি। আপনাকে পিএইচপি পুনরায় কম্পাইল করতে হবে।


0

আপনি যদি এই আদেশগুলি কার্যকর করার পরে এই ত্রুটিটি পান:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP

Libapache2 প্যাকেজ অপসারণ করার চেষ্টা করুন:

apt-get remove libapache2-mod-php7.0
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.