Apach + nginx проблемы, ошибка 504

H1
На сайте с 23.11.2008
Offline
15
6266

имею сервер Debian GNU/Linux 4.0

на нём стоит Apach + nginx сайт с посещяймостью в 70к движок DLE

переодически при заходе на сайт вижу страничку

504 Gateway Time-out

Nginx

немного конфигов

Timeout 100
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 25

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 25
MaxClients 256
MaxRequestsPerChild 25
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
user www-data;
worker_processes 15;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;

sendfile on;

keepalive_timeout 65;
tcp_nodelay on;

gzip on;

вопрос 1 как избавится от 504

F
На сайте с 16.06.2008
Offline
32
#1

server-status апачя можете показать?

H1
На сайте с 23.11.2008
Offline
15
#2

Server Version: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 mod_ssl/2.2.3 OpenSSL/0.9.8c

Server Built: Sep 6 2008 09:52:20

Current Time: Thursday, 19-Mar-2009 21:32:23 MSK

Restart Time: Wednesday, 18-Mar-2009 17:23:26 MSK

Parent Server Generation: 1

Server uptime: 1 day 4 hours 8 minutes 57 seconds

2 requests currently being processed, 3 idle workers

.CW..___........................................................

................................................................

................................................................

................................................................

Scoreboard Key:

"_" Waiting for Connection, "S" Starting up, "R" Reading Request,

"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,

"C" Closing connection, "L" Logging, "G" Gracefully finishing,

"I" Idle cleanup of worker, "." Open slot with no current process

PID Key:

6464 in state: C , 6467 in state: W , 6468 in state: _

6469 in state: _ , 6470 in state: _ ,

To obtain a full report with current status information you need to use the ExtendedStatus On directive.

F
На сайте с 16.06.2008
Offline
32
#3

скорее всего затык с базой. сделайте show processlist; в консоли mysql. когда будете наблюдать ответ сервера - 504

yesRuslik
На сайте с 08.02.2009
Offline
178
#4

Таймаут бекэнда(апача) бывает от перегрузки сервера, дисковой подсистемы в частности, либо баз. Когда не бек не успевает на фронт передать ответ или ответ слишком большой.

Найдите опытного админа, который глянет в момент 504 ошибки внутрью. Он должен сказать дальше, что делать. Или ловите сами через mod_status процесс, который затупливает.

Аренда выделенных серверов (http://yeshost.ru/) от 69 евро VDS сервер (http://yeshost.ru/vds) от 7.95евро Виртуальный хостинг (http://yeshost.ru/virtualhosting)от 0.95 евро Windows VDS хостинг скоро (http://yeshost.ru/vds)
RAS
На сайте с 27.11.2005
Offline
126
RAS
#5

надо анализировать загрузку впс, чтобы сделать вывод. И я думаю, что вам необходим аудит и оптимизация.

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
Andreyka
На сайте с 19.02.2005
Offline
822
#6

Ответ на вопрос лежит в логах nginx и apache

Не стоит плодить сущности без необходимости
Mr.Roman
На сайте с 15.09.2008
Offline
68
#7

Рекомендую вписать в конфиг апача

KeepAliveTimeout 4

и

<IfModule mpm_prefork_module>

StartServers 10

MinSpareServers 20

MaxSpareServers 40

MaxClients 150

MaxRequestsPerChild 50

</IfModule>

А в nginx

keepalive_timeout 50;

С уважением, к адекватным людям.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий