Debian.pro

Блог для пользователей и администраторов Debian


Продолжаем отключать ненужные модули в apache2.

Сегодня мы поговорим ещё о трех относительно бесполезных модулях apache2, которые упорно кушают нашу память.
mod_cgi, mod_status, mod_deflate.
С mod_cgi всё понятно — он нужен для того, чтобы апач мог дергать и запускать cgi скрипты, будь они на баше, на перле, на питоне, на брейнфаке или другой неведомой хрени, которая умеет отдать что-то в common gateway interface с правильными хедерами.
С учетом того, что CGI умирает в принципе, а fast_cgi и его разновидности прекрасно цепляются в nginx — модуль совершенно бесполезен. Ну при условии, что вы действительно не используете CGI скрипты.

mod_status — согласитесь, вы им никогда не пользовались. Можете почитать что он делает. Он умеет отдавать какую-то там информацию об работающем апаче, бла-бла-бла… Вот честно — ни разу им не пользовался за 5 лет.

mod_deflate — позволяет сжимать данные апачем перед передачей клиенту. А клиент у нас кто? Правильно, nginx. Сжимать данные для передачи на локальную петлю, которая умеет прокачивать через себя на хорошем сервере пару десятков гигабит в секунду? Кхм. А вся забавность ситуации в том, что запрос mod_deflate в гугле посылает нас к кому? Правильно, к Игорю Сысоеву. Естественно, что весь необходимый функционал deflate был перенесен в nginx.
Сжимать данные в nginx можно, например, модулем gzip.

Отключим их:
root@debian-host:~# a2dismod status
root@debian-host:~# a2dismod cgi
root@debian-host:~# a2dismod deflate
root@debian-host:~# apachectl restart

Только что мы отвоевали примерно 500 кб RSS с каждого форка апача (и ~10 мб VIRT).


Комментарии (20):

  1. Roma :

    Продолжите чтоли, интересная ведь тема

  2. Аха, продолжу обязательно, когда времени побольше будет.

  3. Alex :

    Здравствуйте не как не могу найти в интернете как можно отключить mod_cgi через htaccess, за ранее спасибо.

  4. Никак.
    Через htaccess модули не выключаются вообще. Там можно только задать поведение определенных модулей (таких как rewrite/access и прочих) для конкретного каталога на диске или конкретного хоста/uri.

    В случае с cgi в htaccess вы можете включить cgi для определенных каталогов. По дефолту он выключен для всех каталогов.

  5. Alex :

    Спасибо за ответ. Проблема собственно вот в чем в CPANELL 11 просмотрел статистику обращения и увидел повторяющие запросы к
    /cgi-sys/Count.cgi
    /cgi-sys/guestbook.cgi
    /cgi-sys/suspendedpage.cgi

    при выполнение /cgi-sys/Count.cgi Выводиться сообщения empty query_string
    при выполнение /cgi-sys/guestbook.cgi Выводиться сообщения No Username given
    Perl практический не знаю поэтому хотел бы отключить выполнения perl ruby на хостинге.
    За ранее спасибо, кстати в htaccess не включено выполнения cgi скриптов.
    Если есть мнения пишите !

  6. root@debian-host:~# a2dismod cgi
    root@debian-host:~# apachectl restart

    Вы статью читали?

  7. Alex :

    Спс за совет но это у меня на хостинге я являюсь клиентом а не админом и не как не смогу выполнить что написано в статье.

  8. У хостеров саппорт есть.

  9. Alex :

    Да но на 3 моих письма ответили бессмысленно. и в просьбе отключить выполнения cgi или pl* отказали

  10. Alex :

    Они говорят что нет такой директорий у меня

  11. Alex :

    cgi-sys

  12. Спасибо, отключил даже эти 3 — стало немного легче. А где первая часть? Даже через расширенный поиск гугла на debian.pro не нашёл!

  13. https://debian.pro/?s=a2dismod вот так проще всего найти все статьи подобные

  14. Спасибо, inkvizitor68sl. Отключил ещё ssl и autoindex, свободной памяти на vps стало на 100М больше!
    С учётом тех 3-х модулей, изменения настроек prefork и отключения innodb — теперь половина доступной памяти свободна.
    А я-то уже думал на следующий тариф переезжать. Спасибо!
    P.S. Вообще приятный спокойный стиль, легко читать. Пишите больше :)

  15. Пишу, пишу)
    Надо только придумать ещё что писать хД

  16. Михаил :

    Напишите про apache + fastcgi + разные версии php. Чтобы у каждого пользователя была возможность выбрать версию php под виртуалхост. Буду рад почитать)

  17. Смысла уже нет. Вообще смысла использовать apache+fcgi нет. Единственная причина использовать apache — это mod_rewrite (htaccess файлы который обрабатывает), а он с fcgi в апаче не работает.

    Про php-fpm разных версий может и напишу.

  18. Михаил :

    Мне просто интересно как на хостингах реализовано nginx+apache+php разных версий + mod_rewrite. Насколько я понимаю от mpm_itk придется отказаться?

  19. Михаил :

    Направьте на путь истинный по поводу Nginx + apache + php разных версий + mod_rewrite)

  20. Дабы мозг не мучать, проще всего будет повесить один nginx на 80й порт и разные php в отдельных чрутах — https://debian.pro/440 (а дальше уже nginx-ом разруливать трафик).
    А так можно что-то такое у себя сделать — http://habrahabr.ru/post/233061/

Написать комментарий