Apache включити робочу хвилину


10

Я налаштував FastCGI і PHP5-FPM для роботи над ubuntu, який працює чудово.

Але я встановив модуль "apache2 working mpm" і хотів налаштувати та замінити "prefork mpm", який за замовчуванням в apache2.

Все , що я знайшов , було в CentOS на /etc/sysconfig/httpdпросто покласти HTTPD=/usr/sbin/httpd.workerзробить «робочий MPM» включений.

  1. Як увімкнути "робочий хвм" в Ubuntu?

  2. Крім того, коли я перераховую складені модулі apache, "/usr/sbin/apachectl -l"це звичайний список, "prefork.c"який сказав, що входить до списку, оскільки ми використовуємо його за замовчуванням. Але коли я "/usr/sbin/apache2 -V | grep MPM"це роблю, показує "Server MPM: prefork", може хтось пояснить це, будь ласка?

$ / usr / sbin / apache2 -V | grep MPM

Server MPM:     prefork

phpinfo ();

Server API :    FPM/FastCGI

Відповіді:


29

Через деякий час роботи я це зробив сам. Ви можете знайти кроки нижче.

Перевірте, який MPM apache зараз працює:

apachectl -V | grep -i mpm

Result:
Server MPM:     prefork

Список доступних модулів MPM (переконайтеся, що mpm_worker вказаний)

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

Список включених модулів MPM (Якщо mpm_worker не ввімкнено, слід включити його та вимкнути модуль mpm_prefork)

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

Щоб перевірити, чи працює Apache на 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
Дотримуйтесь інструкції, але отримавши це: * Перезапуск веб-сервера apache2 [невдача] * Не вдалося виконати налаштування apache2. Вихід тесту конфігурації: AH00534: apache2: Помилка конфігурації: Завантажено більше одного MPM. Помилка дії "configtest" дії. У журналі помилок Apache може бути додаткова інформація.
neobie

ідеально :) це працює для мене.
чіраг ягані

Це дає помилку "Apache працює з потоковим MPM, але ваш модуль PHP не компілюється для забезпечення безпечності потоку. Вам потрібно перекомпілювати PHP", і видалення libapache2-mod-php5 також не допомагає.
iCyborg

2

Apache працює з потоковим MPM, але ваш модуль PHP не компілюється для забезпечення безпечності потоку. Вам потрібно перекомпілювати PHP.


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.