У меня, как и у многих, есть относительно готовая установка Apache с множеством стандартных строк "LoadModule".
С самого начала я установил много программного обеспечения, и, честно говоря, я не знаю, какое программное обеспечение использует какие модули.
Я хотел бы уменьшить объем памяти, занимаемый моими экземплярами Apache, и для этого я бы хотел удалить модули из использования. Единственный известный мне способ определить, используется ли модуль, - это удалить его из конфигурации и посмотреть, не сломается ли что-нибудь. Это плохо во многих отношениях, чем я могу описать.
Я хотел бы знать, знает ли кто-нибудь способ заставить Apache сообщать, какие модули были используемый, или если есть другой способ программно определить, безопасен ли модуль для не настраивать.
Я создал тестовый сервер, прочтите документацияи начните с пустой страницы.
Следующие модули являются обязательными:
Затем закомментировал все оставшиеся модули и перезапустил Apache. Он будет звучать, если что-то сломается, например:
Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/squid.conf:
Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration
Сделайте то же самое с другими модулями. Используя этот метод, часто используются следующие модули не необходимо:
Если вы не используете LDAP для аутентификации, это можно отключить:
При включении необходимо учитывать следующие модули:
В более ранней публикации предлагалось отключить модули, пока что-то не сломается. Хотя в производственной системе это определенно безрассудно, этот человек идет по правильному пути, так как вам все равно придется проводить регрессионное тестирование.
Итак, в этом случае:
Это, вероятно, самый простой способ оптимизировать конфигурацию Apache. В противном случае вам придется просматривать каждый модуль, определять его функциональные возможности и искать по сайтам, чтобы увидеть, какой из них использует эту функциональность. Это займет гораздо больше времени.
Кроме того, это может дать вам хорошую возможность переключиться на что-то Больше легкий:
У меня нет прямого ответа на ваш вопрос, но в Интернете есть много «крошечных» пакетов AMP, которые, насколько мне известно, не включают большинство предустановленных модулей. Итак, я бы начал с рассмотрения их в качестве примера.
Эти 2 ссылки могут помочь вам начать:
Я знаю, что вы спрашиваете об Apache, но, учитывая ограничения памяти в вашей системе, вам может быть намного лучше, если вы замените Apache на Nginx, Lighthttpd или другие веб-серверы, занимающие мало места. Apache отлично подходит для поддержки модулей, но очень требовательны к памяти по сравнению с более молодыми веб-серверами, такими как Nginx, Lighthttpd, Cherokee, G-WAN и т. д.