проблема с Apache2

HEPB

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

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>
[/spoil]

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

DocumentRoot /home/site/www/my_site
ServerName 1xx.xx.1xx.xx
ServerAlias "mysite.dyndns.tv" "Для просмотра ссылки Войди или Зарегистрируйся" "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>[/spoil]
envvars
[spoil]# 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
это не полный конфиг, нужны настройки
mpm_prefork_module
mpm_worker_module

так же параметры
keepAlive
timeout
keepAlivetimeout
 
из 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 г., то есть настройки не менялись
 
ServerLimit какой стоит?
 
все таки хотелось бы понять это глюк самого апача или действия злоумышленников. В настройках апача вряд ли есть проблемы - настройки с марта не менялись. Кроме того есть подобный сайт с другим дизайном - настройки те же - проблем нет.
Я так понимаю, истинную причину узнать не удастся, в связи с этим вопрос такой:
Как мне переставить апач? просто поверх поставить или надо удалить этот как то?
Важно, чтобы все продолжало работать после этого, базы MySQL, phpmyadmin, cron.
в принципе все можно забекапить конечно, но хотелось бы все таки минимизировать работу по переустановке Апача.
 
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
у тебя запускается 50 потоков со старта.

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