আমি কীভাবে বলব যে অ্যাপাচি প্রফোরক বা কর্মী হিসাবে চলছে?


40

প্রাপেক বা কর্মী হিসাবে অ্যাপাচি চলমান (বা রান করার জন্য কনফিগার করা) চলছে কিনা আমি কীভাবে বলব?


2
বা আরও প্রযুক্তিগতভাবে 'হিসাবে চালিত সংকলিত'

উত্তর:


37

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

andreas@halleck:~$ apache2 -l
Compiled in modules:
 core.c
 mod_log_config.c
 mod_logio.c
 worker.c
 http_core.c
 mod_so.c
andreas@halleck:~$ 

এখানে আমরা মডিউলটি ওয়ার্কার.২ খুঁজে পাই, তাই আমি কর্মী এমপিএম চালাচ্ছি।


4
এই উত্তরটি ভুল। আমার উত্তর দেখুন।
ক্রিস জনসন

1
এইচএম, উবুন্টুতে আমার কোনও কর্মী বা প্রিফার্ক তালিকাভুক্ত নেই যখন আমি এটি করি ...
mlissner

2
উবুন্টুতে আপনি apache2ctl -Mসক্রিয় মডিউলগুলি তালিকাবদ্ধ করতে ব্যবহার করতে পারেন ।
স্টিফেন নিলসন

53

সিরিজ 8217 এবং Andol দ্বারা দেওয়া উত্তর দুটিই ভুল।

প্রশ্ন ছিল, অ্যাপাচি প্রেফার্ক বা কর্মী চলছে কিনা তা কীভাবে জানাবেন । অন্যান্য উত্তরের দ্বারা প্রদত্ত পরামর্শটি কেবলমাত্র ডিফল্ট এমপিএম কী (সংকলিত মডিউলগুলির উপর ভিত্তি করে) তা বলে, বর্তমানে ডিফল্ট বা অন্য কোনও পছন্দ ব্যবহৃত হচ্ছে না।

যদি httpd -Vপ্রেফার্ক দেখায় তবে তার অর্থ হ'ল প্রফোরক হ'ল সংকলিত ডিফল্ট এমপিএম। এটিকে অ্যাপাচি কনফিগারেশন ফাইল সেটিংস পরিবর্তন করে ওভাররাইড করা যেতে পারে, যেমন এই প্রক্রিয়াতে দেখানো হয়েছে:

  1. কনফিগারেশন ফাইলটি সম্পাদনা করুন (উদাহরণস্বরূপ /etc/sysconfig/httpdCentOS / RedHat এ)
  2. এই লাইনটি যুক্ত করুন বা আপত্তিহীন করুন: HTTPD=/usr/sbin/httpd.worker
  3. অ্যাপাচি পুনরায় চালু করুন

আসলে কোন এমপিএম চলছে তা এই প্রক্রিয়াটি ব্যবহার করে দেখানো যেতে পারে:

  1. অ্যাপাচি Mod_info সক্ষম করুন
  2. সাধারণত_ মোড_ইনফো url অনুসন্ধান করুন curl localhost/server-info
  3. "সার্ভার সেটিংস" বিভাগটি "এমপিএম নাম: কর্মী" প্রদর্শন করবে
  4. চালান httpd -Vআবার - এটি এখনও prefork দেখাবে না শ্রমিক

শেষের সারি:

  • httpd -V ডিফল্ট বিকল্প প্রদর্শন করে, কোন বিকল্পটি আসলে ব্যবহৃত হয় তা নয়

অনেক, অনেক ওয়েবসাইটের উত্তর আছে যা বলছে, httpd -Vঅ্যাপাচি প্রেফার্ক বা কর্মী চলছে কিনা তা জানাতে ব্যবহার করুন । তারা সব ভুল। নিজের জন্য উপরের পদ্ধতিটি চেষ্টা করে দেখুন।


এফওয়াইআই, httpd.apache.org/docs/trunk/mpm.html অনুসারে MPM সমস্ত প্ল্যাটফর্মের একটি স্ট্যাটিক মডিউল হতে পারে, বা ডিএসও (ইউনিক্সে) হিসাবে নির্মিত হতে পারে। যখন এটি একটি স্ট্যাটিক মডিউল হিসাবে নির্মিত হয়, "এমপিএম পরিবর্তন করার জন্য সার্ভারটি পুনরায় তৈরি করতে হবে।" স্টাটিক মডিউল এমপিএম সার্ভারটি পুনর্নির্মাণ ব্যতীত অ্যাপাচি ডকুমেন্টেশনগুলি কী অপরিবর্তনীয়?
স্টিভেন টি স্নাইডার

এটি চারপাশে একটি উচ্চ স্তরের মোড়ক সহ কিছু ডিস্ট্রো নির্দিষ্ট কিছু বলে মনে হচ্ছে?
andol

2
CentOS 6.6 / usr / sbin / httpd, /usr/sbin/httpd.event এবং /usr/sbin/httpd.worker এ সমস্ত পৃথক বাইনারি রয়েছে যা বিভিন্ন সংকলনের সময়ে সংকলনের সময় কনফিগার করা হয়েছে (যথাক্রমে পূর্ববর্তী, ইভেন্ট এবং কর্মী)। / Etc / sysconfig / httpd এ HTTPD- র সেটিং পরিবর্তন করা কেবল কোন স্ক্রিপ্ট দ্বারা কোন বাইনারি চালিত হয় তা নিয়ন্ত্রণ করে।
পল হালদান

আমাকে উবুন্টু 16.04 এলটিএস-তে httpd -V এর পরিবর্তে অ্যাপাচি 2
ভি চালাতে হয়েছিল

41

উবুন্টু 14.04 এ

a2query -M

নির্দেশ দেওয়া event, prefork,worker

আপনার জন্য সিম্বলিক লিঙ্কগুলি যোগ করার দ্বারা তা পরিবর্তন করতে পারেন mpm_<chosen>থেকে mods-availableথেকে mods-enabled/etc/apache2

এক বারে মাত্র একটির অনুমতি রয়েছে।


2
এটির স্বীকৃত উত্তর হওয়া দরকার।

হ্যাঁ, দুর্দান্ত উত্তর! সহজ এবং যা প্রয়োজন তা ফিরিয়ে দেয়
ফ্ল্যাশ থান্ডার

আমার জন্য সবচেয়ে ভাল কাজ করেছেন, ধন্যবাদ (
অ্যাপাচি

eventMPM এ্যাপাচি এর সাইটের, "শুধুমাত্র সক্রিয় প্রক্রিয়াজাতকরণ সংযোগের থ্রেড গ্রাসকারী লক্ষ্যে কর্মী MPM একটি বৈকল্পিক" অনুযায়ী হয়।
জোনাথন বার্গার

7

রেডহ্যাট ও derivates শুধু লঞ্চ উপর topবা ps auxএবং httpd 'র প্রক্রিয়া নাম তাকান:

  • httpd মানে অ্যাপাচি প্রফোরক হিসাবে চলছে
  • httpd.worker মানে এটি শ্রমিক হিসাবে চলছে

4

RHEL / ফেডোরা / ইত্যাদিতে চালান httpd -V। আপনি কিছু আউটপুট পাবেন যার মধ্যে নিম্নলিখিতগুলি রয়েছে:

Server version: Apache/2.2.21 (Unix)
     ...
Architecture:   64-bit
Server MPM:     Prefork
     ...

এখানে 'সার্ভার এমপিএম' হ'ল 'প্রফোরক', সুতরাং আমার সার্ভারটি প্রিফোরক এমপিএম চালাচ্ছে।


এই উত্তরটি ভুল। আমার উত্তর দেখুন।
ক্রিস জনসন

@ ক্রিস জোনসন, আকর্ষণীয় আবিষ্কার ... আমার বোঝা ছিল যে এমপিএমটি শুধুমাত্র সংকলন দ্বারা কনফিগারেশন দ্বারা পরিবর্তন করা যায় না। এটি "ও বা আরও প্রযুক্তিগতভাবে 'চালানোর জন্য সংকলিত'" দিয়ে তাঁর প্রশ্নের বিষয়ে মন্তব্য করেছিলেন বলেই এটি ওপি একই রকম বলে মনে হয়েছিল। আমি আপনার উত্তর পুনরুত্পাদন করার দিকে তাকাব এবং একবার এটি নিশ্চিত হয়ে গেলে আমি আমার প্রত্যাহার করব।
স্টিভেন টি স্নাইডার

আমি httpd.apache.org/docs/trunk/mpm.html এ্যাপাচি ডকুমেন্টেশনের মাধ্যমে নিশ্চিত করেছিলাম যে এমপিএমগুলি ডিএসও মডিউল হিসাবে নির্মিত হতে পারে এবং "ইউনিক্স এবং অনুরূপ প্ল্যাটফর্মগুলিতে" লোডমোডুল নির্দেশিকা দিয়ে গতিশীলভাবে লোড করা যায়। সুতরাং এমপিএমকে নির্দিষ্ট পরিস্থিতিতে লোডের সময় সত্যিকার অর্থে পরিবর্তন করা যেতে পারে (যা আজকাল সর্বাধিক সাধারণ কনফিগারেশন হতে পারে ..)
স্টিভেন টি। স্নাইডার

4

ক্রিস জনসন সঠিক। Httpd.conf => এ যান এই লাইনটি যুক্ত করুন:

<Location /server-info>
SetHandler server-info
</Location>

অ্যাপাচি পুনরায় চালু করুন: /etc/init.d/httpd পুনরায় আরম্ভ করুন। তারপরে আপনার ব্রাউজারের মাধ্যমে লোকালহোস্ট / সার্ভার-তথ্য অ্যাক্সেস করুন এবং এমপিএম নাম বিভাগটি দেখুন


এমনকি আরও ভাল, এটি <ifModule info_module> </IfModule>
Lexib0y

3

এখানে আরও একটি পদ্ধতি যা আমি প্রত্যাশা করি যে কোন এমপিএম ব্যবহার করছে তা নির্ধারণে নির্ভরযোগ্য হওয়া উচিত। আপনার সাথে নিম্নলিখিতগুলি যুক্ত করুন httpd.conf:

<IfModule prefork.c>
    Header append X-MPM prefork
</IfModule>
<IfModule worker.c>
    Header append X-MPM worker
</IfModule>

তারপরে হেডারগুলি ব্যবহার করে পরীক্ষা করুন curl -I localhost | grep X-MPM


3

সেন্টো (বা রেল) এ আপনি এই আদেশটি চালাতে পারেন:

ps -ef | grep httpd

আপনি যদি /usr/sbin/httpd.workerদৌড়াদৌড়ি দেখতে পান , তবে এটি কর্মী এমপিএম ব্যবহার করছে। আপনি যদি /usr/sbin/httpdদৌড়তে দেখেন তবে এটি প্রিফোরক ব্যবহার করছে


2

ক্রিস জনসনের উত্তর সঠিক।

অ্যাপাচি ডকুমেন্টেশন ( http://httpd.apache.org/docs/2.2/mod/mod_info.html ) নথি হিসাবে তথ্য মডিউল সক্ষম করার পরে , এই একটি লাইনার আপনাকে এমপিএম দেবে যা আপনি ব্যবহার করছেন:

links -dump http://localhost/server-info/?server | grep "MPM Name"

2

আমি ডিস্ট্রীয়দের মতো এটি ডিস্ট্রোসের মতো খুঁজে বের করার একটি উপায় হ'ল দৌড়ানোর মাধ্যমে:

apachectl -V | grep -i mpm
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.