Проблемы с nginx

askarbin

Профессор
Регистрация
31 Мар 2009
Сообщения
292
Реакции
36
Недавно начались странные проблемы с сервером. Стоит nginx как фронтенд апача + zend optimizer + eaccelerator.
Время от времени nginx уходит в даун, я смотрю логи апача -> пусто, а в логах nginx ->
2010/08/11 14:52:14 [error] 15625#0: *6044 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite.com, request: "GET /xxx/xxxxx/ HTTP/1.1", upstream: $
2010/08/11 14:52:42 [error] 15625#0: *6068 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite.com, request: "GET /xxxx/xxxxxxxx.$
2010/08/11 14:52:48 [error] 15625#0: *5987 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite.com, request: "GET /xxxxx/xxxx/ HTTP/1.1", upstre$
2010/08/11 14:53:56 [error] 15625#0: *6083 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http$
2010/08/11 14:53:59 [error] 15625#0: *6102 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http$
2010/08/11 14:55:05 [error] 15625#0: *6107 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite.com, request: "GET / HTTP/1.0", upstream: "http://193.105.$
2010/08/11 14:55:10 [error] 15625#0: *6109 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite2.com, request: "GET /xxx/xxxxxxx$
2010/08/11 14:55:17 [error] 15625#0: *6111 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: mysite.com, request: "GET /xxxxxx/xxxxxxx$

Конфиг nginx:
Код:
user              nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}
http {
    include	  /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

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

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;

    #
    # The default server
    #
     	server {
                listen xxx.xxx.xxx.xxx:80;
                server_name mysite.com www.mysite.com;
                rewrite ^(/manager/.*)$ https://$host$1 permanent;
                location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
                       	proxy_pass http://xxx.xxx.xxx.xxx:8080;
                       	proxy_redirect http://mysite.com:8080/ /;
                        proxy_set_header Host $host;
                       	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Real-IP $remote_addr;
                }
               	location / {
                        proxy_pass http://xxx.xxx.xxx.xxx:8080;
                       	proxy_redirect http://mysite.com:8080/ /;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Real-IP $remote_addr;
                }
               	location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
                        root /var/www/admin/data/www/mysite.com;
                       	access_log /var/www/httpd-logs/mysite.com.access.log;
                        error_page 404 = @fallback;
                }
               	location @fallback {
                        proxy_pass http://xxx.xxx.xxx.xxx:8080;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header X-Real-IP $remote_addr;
                }
        }
        server {
        ... 
        }
        server {
        ... 
        }
}

Я погуглил, но особо ничего не нашел, что посоветуете делать и в какую сторону смотреть?
 
Недавно начались странные проблемы с сервером. Стоит nginx как фронтенд апача + zend optimizer + eaccelerator.
Я погуглил, но особо ничего не нашел, что посоветуете делать и в какую сторону смотреть?
Версии nginx не указано, посмотрите здесь, схожая проблема, читать дальше по переписке:
 
Видел этот материал, жесткая подача, толком ничего не понял. Сейчас мониторю mysql,php,apache и nginx. Возможно, если упадет еще раз из логов что-то можно будет сказать.
nginx version: nginx/0.7.65
 
Видел этот материал, жесткая подача, толком ничего не понял. Сейчас мониторю mysql,php,apache и nginx. Возможно, если упадет еще раз из логов что-то можно будет сказать.
Ну если кратко, то суть там шла о тормозах бэкенда. Возможно слишком много одновременных подключений.
 
Проблема не с nginx, а с апачем - он ничего не отдает nginx, отсюда и таймауты и ошибки!
 
ап
похожая ситуация, бывает выскакивает
...upstream timed out (110: Connection timed out) while reading response header from upstream, client...
нашли решение что подправить?
мож у апача клиентов увеличить или в php время подкрутить?
 
Да все очень просто и логично.

У вас upstream timed out - а значит есть апач+пхп, nginx что в данном случае ? правильно.. прокси сервер и не более, он жде, когда апач отработает и отдаст ему уже откомпиленные данные, а он подгрузит статику и т.д.

НА каком порту висит апач ? ПОрт открыт ? Попробуйте обратиться к скрипту на прямую через апач, минуя прокси, т.е.:

site.ru:8080/script.php

И посомтрите вывод, если он будет.

Если ошибки выскакивают крайне не постоянно, увеличиваем таймаут ожидания от апача:

client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;

proxy_connect_timeout 1m;
proxy_send_timeout 1m;
proxy_read_timeout 1m;

Вставлять в секцию http{

И крутим цыфры по вкусу.

Удачи.
 
Подниму тему т.к. не смог найти нормального и понятного решения... У меня ошибка возникает при попытке авторизации на сайте через вконтакте, началось после переезда на новый сервер.
Сама ошибка:
Код:
2014/12/12 13:41:25 [error] 6369#0: *2320697 upstream timed out (110: Connection timed out) while reading response header from upstream, client: x1.x.x.x, server: site.ru, request: "GET /file.php?mod=vk&action=token&location=aHR0cDovL29oZHYucnUveHBlaGIucGhwP21gfdfgdfgvZD12a3BhcnNlcg==&code=5acb1cb5fegfdfgdfgzfca87f944 HTTP/1.1", upstream: "http://x.x.x.x:81/file.php?mod=vk&action=token&location=aHR0cDovL29oZHYuhgdfghcnUveHBgdfshghlaGIugdfgcGhwP21vZD12a3BhcnNlcg==&code=5acb1cb5ffsfdsdeca87f944", host: "site.ru", referrer: "http://site.ru/file.php?mod=vk"
site.ru:88080/script.php
И посомтрите вывод, если он будет.
Пробовал и так открыть Для просмотра ссылки Войди или Зарегистрируйся но либо загружает страницу 1-3 минуты, либо сообщает что token не определен или пустой, либо также выдает 504 ошибку...
 
  • Заблокирован
  • #9
Подниму тему т.к. не смог найти нормального и понятного решения... У меня ошибка возникает при попытке авторизации на сайте через вконтакте, началось после переезда на новый сервер.
Сама ошибка:
Код:
2014/12/12 13:41:25 [error] 6369#0: *2320697 upstream timed out (110: Connection timed out) while reading response header from upstream, client: x1.x.x.x, server: site.ru, request: "GET /file.php?mod=vk&action=token&location=aHR0cDovL29oZHYucnUveHBlaGIucGhwP21gfdfgdfgvZD12a3BhcnNlcg==&code=5acb1cb5fegfdfgdfgzfca87f944 HTTP/1.1", upstream: "http://x.x.x.x:81/file.php?mod=vk&action=token&location=aHR0cDovL29oZHYuhgdfghcnUveHBgdfshghlaGIugdfgcGhwP21vZD12a3BhcnNlcg==&code=5acb1cb5ffsfdsdeca87f944", host: "site.ru", referrer: "http://site.ru/file.php?mod=vk"

Пробовал и так открыть Для просмотра ссылки Войди или Зарегистрируйся но либо загружает страницу 1-3 минуты, либо сообщает что token не определен или пустой, либо также выдает 504 ошибку...
у вас чет с проксированием, модуль rpaf или таймаутом как вышет писали нужно смотреть логи.
 
у вас чет с проксированием, модуль rpaf или таймаутом как вышет писали нужно смотреть логи.
на сервере два IP адреса, пробовал сделать то что описано Для просмотра ссылки Войди или Зарегистрируйся но ничего не помогло :( Вернул как и было на 127.0.0.1
Раньше была проблема с проксированием правда на другом сервере, но там ошибка была в том что у всех пользователей сервер отображал одинаковый IP, но уже не помню как ту проблему решил, но причина примерно в том же была, точнее в проксировании какой то косяк был.

Логи какие ещё смотреть? Выше я уже написал строку ошибки из лога, больше там ничего другого не было...
 
Назад
Сверху