Назад | Перейти на главную страницу

Как я могу перейти с prefork на рабочий MPM на CentOS 64bit?

Я использую 64-разрядную версию CentOS и только что обнаружил, что использую prefork MPM на своем двойном четырехъядерном процессоре Xeon. Мне сказали, что worker снизит использование памяти и повысит производительность, поскольку у меня веб-сайт с очень высоким трафиком.

Если это правда, как мне это сделать?

Изменить: / etc / sysconfig / httpd

Раскомментировать:

HTTPD=/usr/sbin/httpd.worker

Перезагрузка, вуаля!

CentOS 6x:

изменить файл: / etc / sysconfig / httpd

HTTPD=/usr/sbin/httpd.worker

CentOS 7x:

$ cat /etc/httpd/conf.modules.d/00-mpm.conf

    #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    LoadModule mpm_worker_module modules/mod_mpm_worker.so
    #LoadModule mpm_event_module modules/mod_mpm_event.so

Начать сначала

Отредактировано: /etc/sysconfig/httpd

И без комментариев:

HTTPD=/usr/sbin/httpd.worker

После перезапуска httpd (перезапуска службы httpd) появляется следующая ошибка:

Stopping httpd:                                            [  OK  ]
Starting httpd: httpd.worker: Syntax error on line 222 of /etc/httpd/conf/httpd.conf: Syntax error on line 9 of /etc/httpd/conf.d/php.conf: Cannot load /etc/httpd/modules/libphp5-zts.so into server: /etc/httpd/modules/libphp5-zts.so: cannot open shared object file: No such file or directory
                                                           [FAILED]

Однако вам может потребоваться установить php-zts.

yum install php-zts

После этого сообщений об ошибках больше нет, и httpd запускается нормально с активным рабочим модуля.

- Redhat Enterprise Linux 6

php-zts в RHEL находится в "необязательном" репозитории:

# subscription-manager repos --enable rhel-6-server-optional-rpms
Repository 'rhel-6-server-optional-rpms' is enabled for this system.
# yum install php-zts