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


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.