проблема с Apache2

Тема в разделе "Администрирование серверов", создана пользователем HEPB, 23 май 2012.

Модераторы: mefish, stooper
  1. HEPB

    HEPB Постоялец

    Регистр.:
    24 июн 2009
    Сообщения:
    111
    Симпатии:
    8
    Добрый день!
    Может не в тему, модераторы перенесите в нужный раздел, не нашел где про Apache обсуждается...
    Проблема такая. Сайт работает на VPS. 2,5 месяца работал без проблем, вчера - не открывается.
    Причина - в процессах запущено много экземпляров Apache2 от имени www-data и в результате вся оперативка сервера ложится.
    Причем после reboot сервера запускаются сразу. Приходится убивать процессы killall apache2
    при попытке запустить апач вручную ( /etc/init.d/apache2 start) такая же ерунда - запускается куча экземпляров.
    Никаких настроек не менял, работало 2,5 месяца без проблем, проблема возникла сама по себе ни с того ни с сего. по датам создания конфигурации файлов апача, автозапуска не изменялись в февраля-марта. Что посоветуете? Как добиться, чтобы апач запускался как положено.
     
  2. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    нужно смотреть конфиг апача, как вариант для оптимизации поставить nginx... без конфига apache никто ничего нормального не скажет
     
  3. HEPB

    HEPB Постоялец

    Регистр.:
    24 июн 2009
    Сообщения:
    111
    Симпатии:
    8
    все в том то и дело, что конфиг не менялся, как я его настроил в марте, так и работал.

    ports.conf
    NameVirtualHost *:80
    Listen 80
    <IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
    </IfModule>


    httpd.conf
    <VirtualHost *:80>
    ServerAdmin adminsitemy@mail.ru

    DocumentRoot /home/site/www/my_site
    ServerName 1xx.xx.1xx.xx
    ServerAlias "mysite.dyndns.tv" "www.mysite.dyndns.tv" "mydomen.ru" "www.mydomen.ru"
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /home/site/wwwmy_site>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all


    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    </VirtualHost>

    envvars
    # envvars - default environment variables for apache2ctl

    # Since there is no sane way to get the parsed apache2 config in scripts, some
    # settings are defined via environment variables and then used in apache2ctl,
    # /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
    export APACHE_RUN_USER=www-data
    export APACHE_RUN_GROUP=www-data
    export APACHE_PID_FILE=/var/run/apache2.pid
     
  4. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    это не полный конфиг, нужны настройки
    mpm_prefork_module
    mpm_worker_module

    так же параметры
    keepAlive
    timeout
    keepAlivetimeout
     
  5. HEPB

    HEPB Постоялец

    Регистр.:
    24 июн 2009
    Сообщения:
    111
    Симпатии:
    8
    из apache2.conf

    # prefork MPM
    # StartServers: number of server processes to start
    # MinSpareServers: minimum number of server processes which are kept spare
    # MaxSpareServers: maximum number of server processes which are kept spare
    # MaxClients: maximum number of server processes allowed to start
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_prefork_module>
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxClients 150
    MaxRequestsPerChild 0
    </IfModule>

    # worker MPM
    # StartServers: initial number of server processes to start
    # MaxClients: maximum number of simultaneous client connections
    # MinSpareThreads: minimum number of worker threads which are kept spare
    # MaxSpareThreads: maximum number of worker threads which are kept spare
    # ThreadsPerChild: constant number of worker threads in each server process
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_worker_module>
    StartServers 2
    MaxClients 150
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadsPerChild 25
    MaxRequestsPerChild 0
    </IfModule>

    Timeout 300

    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 15


    дата последнего изменения 29 марта 2012 г., то есть настройки не менялись
     
  6. sealery

    sealery Создатель

    Регистр.:
    20 май 2012
    Сообщения:
    18
    Симпатии:
    2
    ServerLimit какой стоит?
     
  7. HEPB

    HEPB Постоялец

    Регистр.:
    24 июн 2009
    Сообщения:
    111
    Симпатии:
    8
    это в каком файле такой параметр?
     
  8. HEPB

    HEPB Постоялец

    Регистр.:
    24 июн 2009
    Сообщения:
    111
    Симпатии:
    8
    все таки хотелось бы понять это глюк самого апача или действия злоумышленников. В настройках апача вряд ли есть проблемы - настройки с марта не менялись. Кроме того есть подобный сайт с другим дизайном - настройки те же - проблем нет.
    Я так понимаю, истинную причину узнать не удастся, в связи с этим вопрос такой:
    Как мне переставить апач? просто поверх поставить или надо удалить этот как то?
    Важно, чтобы все продолжало работать после этого, базы MySQL, phpmyadmin, cron.
    в принципе все можно забекапить конечно, но хотелось бы все таки минимизировать работу по переустановке Апача.
     
  9. sealery

    sealery Создатель

    Регистр.:
    20 май 2012
    Сообщения:
    18
    Симпатии:
    2
    файл /etc/httpd/conf/httpd.conf
    в секции IfModule поставь ServerLimit 10
    причину не устранит, но оперативу надеюсь грузить перестанет
     
  10. donvictorio

    donvictorio

    Регистр.:
    28 янв 2010
    Сообщения:
    878
    Симпатии:
    803
    у тебя запускается 50 потоков со старта.

    maxThreads определяет максимальное количество потоков обрабатывающих запросы от клиентов
    minSpareThreads клличество потоков которые будут запущены при старте apache. apache будет стараться поддерживать количество неиспользуемых потоков на уровне minSpareThreads. Значение имеет смысле сделать достоачно быольшим, если сервер испытвает внезапные пиковые нагрузки.
    maxSpareThreads максимальное количество неиспользуемых потоков, которое может существовать в apache. Все неиспользуемые потоки свыше maxSpareThreads будут уничтожены.