Vladimir Rusinov | 1 Feb 09:17
Gravatar

Re: Re[3]: Падает апач, нужна помощь в отладке





2009/1/30 <manowar <at> gsc-game.kiev.ua>
> SII> Меня, собственно, больше интересует как заставить апач отвалить
> корку.
> это пробовали ?
> http://httpd.apache.org/dev/debugging.html#crashes

Так это и была отправная точка - не помогает. В логе пишет, что корка,
возможно, создана. Но её нет. Бред какой-то. Более того, если не
перебилдить апач с опцией CFLAGS+=-DBIG_SECURITY_HOLE, чтобы он от рута
работал, то даже не пытается корки делать.

Selinux включен?

--
Vladimir Rusinov
http://greenmice.info/
Arkadiy Kulev | 1 Feb 16:29

проблемы с post-запросами в error_page

Hello Nginx-ru,

У меня следующий проблема - все адреса на моем сайте обрабатываются
через error_page (ну чтобы в конфиге много rewrite не писать, я
обрабатываю их через php).

Сегодня я решил перейти на nginx и обнаружил следующую
странность -
POST запросы не передаются в скрипт, указанный в error_page.

Если же я обращаюсь к скрипту напрямую, то все
впорядке. Если же на
другой адрес (который впоследствии через error_page
выходит на
скрипт), то POST запрос пропадает.

nginx 0.6.35, конфиг внизу. В чем может быть проблема?

server {
        listen 888;
        server_name *.BBBBBB.ru;
        root /home/BBBBBB;

        error_page 404 = /404.php?$query_string;

        location / {
                index  index.php;
                autoindex off;
                rewrite ^/$ /404.php?$query_string;
        }

        location ~* ^.+\.(php)$ {
                include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
        }

}

Arkadiy Kulev                         mailto:eth@...
+7 495 5070602
Moscow, Russia

Artemiev Igor | 1 Feb 16:52
Picon

sendfile(2) patch и отдача больших файлов на 7-STABLE amd64


Попробовал использовать патч
(http://www.lexa.ru/nginx-ru/msg20575.html) к sendfile(2). Так вот, общее
впечатление, что становится только хуже. Первая
прокачка даёт 90MB/s, последующие - ~3MB/s, WCPU по данным top -
50-60%. При этом уже при 300 коннектах выбирается вся
пропускная полоса рейд контроллера (~200MB/s согласно
gstat -a при размере блока в 2M для sendfile), в то время как
суммарная отдача по сети - 3-4MB/s. Судя по всему,
проблема в том, что на amd64 sfbuf берётся напрямую из VM, а не
из преаллокированной очереди. СОбственно вопрос к
Игорю - возможно ли это как-то исправить, либо что-то
недонастроено в самой системе? Конфиг nginx`а штатный.
Изменение размера блока на ситуацию не влияет (пока
он не равен 64K). Пробовал с ufs (блок 16K), zfs (128K), результат одинаков.

Arkadiy Kulev | 1 Feb 17:44

странное поведение nginx (запросы путаются, возвращаются не те результаты).

Hello Nginx-ru,

  У меня стоит nginx с 1 worker-ом.
  Когда подаю на него большую нагрузку, замечаю, что на
мои запросы
  стали приходить неверные данные - например
запрашиваю страницу, а
  возвращаются изображения или другие данные. Глянул
в http
  analyzer - ужаснулся - картинки и другие данные приходят ДО
заголовка (header-ов)
  самой страницы. При этом браузер подвисает с
открытым соединением и
  f5 не помогает.

  Глянул в error_log сервера - еще одна непонятка -
запрашиваю файл с
  одного домена (gallery.ru), а в error_log отображается server
  www.postavka.ru (другой хостинг заведенный на этот сервер).

  2009/02/01 19:27:17 [error] 19101#0: *3995 open() "/usr/local/nginx/html/robots.txt" failed (2: No
such file or directory), client: 65.55.230.242, server: www.postavka.ru, request: "GET /robots.txt
HTTP/1.1", host: "fidelito.gallery.ru"

  То ли у nginx мозги съехали, то ли у меня.
  Сервер на freebsd 7.0, nginx 0.6.35.

  Конфиг:

  user web web;
timer_resolution  1000ms;

worker_processes 1;
#worker_rlimit_nofile 10240;
#worker_rlimit_sigpending 32768;

pid /var/run/nginx.pid;
error_log off;

events {
        worker_connections   10000;
}

http {

        log_format main      '$remote_addr - $remote_user [$time_local] '
        '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio" $document_root$fastcgi_script_name?$query_string';

        include       /usr/local/nginx/conf/mime.types;
#       default_type  application/octet-stream;

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

        client_header_buffer_size    4k;
        large_client_header_buffers  16 16k;

        client_max_body_size 220m;

        sendfile         on;
        tcp_nopush       on;
        tcp_nodelay      on;

        keepalive_timeout  360 360;

        
        gzip             on;
        gzip_comp_level 9;
        gzip_min_length 1000;
        gzip_types     text/plain text/css text/xml text/javascript text/css application/x-javascript;

        include /home/storage/node/conf/freebsd/nginx/gallery.conf;
        include /home/storage/node/conf/freebsd/nginx/postavka.conf;
        include /home/storage/node/conf/freebsd/nginx/smallersites.conf;

}

иклюды самих хостингов готов дать по запросу.

Arkadiy Kulev                         mailto:eth@...
+7 495 5070602
Moscow, Russia

akucher | 1 Feb 17:55
Favicon

Re: Исключения передачи запросов Apache

Нужно добавить исключение для странички
/templates/ru/bbcodes/color.html

создал location и перезагрузил:
  location /templates/ru/bbcodes/ {
       root /home/user/data/www/site.ru/templates/ru/bbcodes/;
  }

Но судя по Apache Status страница все равно передается апачу.



----- Original Message ----- 
From: "Dmitriy MiksIr" <miksir <at> maker.ru>
To: <nginx-ru <at> sysoev.ru>
Sent: Tuesday, January 27, 2009 7:31 PM
Subject: Re: Исключения передачи запросов Apache


> Да, можно. Определите для них location, проставьте нужный root.
>
> akucher <at> 4pda.info пишет:
>> Здравствуйте.
>> На сервере установлена связка Nginx+Apache. Все HTML файлы
передаются на 
>> обработку в Apache, можно ли добавить несколько
исключений (полностью 
>> статических страниц) что бы Nginx их не передавал и
отдавал сам? 

Denis Joloudov | 1 Feb 18:47
Picon

Проксирование запросов на backend без ожидания ответа

Здравствуй, сообщество.

Есть nginx в качестве frontend-proxy-cache.
Есть пул backend-серверов с apache + mod_php.
Есть тестовая машина для  
экспериментов.

На backend`ах крутится несколько проектов.  
Не тестовой машине планирую поднять  
альтернативную конфигурацию одного из  
проектов.
Хочется, чтобы nginx для выбраного  
проекта проксировал запрос на один из  
веб-серверов с apache и забирал от него  
ответ, и этот же запрос отправлял  
(дублировал) на тестовую машину, не  
дожидаясь от нее ответа, т.е. создавал  
нагрузку. Так же хочется  
контроллировать количество  
отправляемых запросов на тестовую  
машину.

Возможно ли такое и как это можно  
реализовать?
Спасибо!

Yours sincerely, Denis Joloudov.





Arkadiy Kulev | 1 Feb 20:06

Re: странное поведение nginx (запросы путаются, возвращают ся не те результаты).

Hello Nginx-ru,

  Как одна из догадок - может быть это как-то связано с keepalive?
  Мне удается это повторить, если очень часто нажимать
f5 - иногда
  вместо самой страницы браузер показывает только
какую-то картинку с этой
  страницы и держит соединение открытым.

Arkadiy Kulev                         mailto:eth@...
+7 495 5070602
Moscow, Russia

Igor Sysoev | 1 Feb 21:47
Picon

Re: проблемы с post-запросами в error_page

On Sun, Feb 01, 2009 at 06:29:18PM +0300, Arkadiy Kulev wrote:

> Hello Nginx-ru,
> 
> У меня следующий проблема - все адреса на моем сайте обрабатываются
> через error_page (ну чтобы в конфиге много rewrite не писать, я
> обрабатываю их через php).
> 
> Сегодня я решил перейти на nginx и обнаружил следующую
странность -
> POST запросы не передаются в скрипт, указанный в error_page.
> 
> Если же я обращаюсь к скрипту напрямую, то все
впорядке. Если же на
> другой адрес (который впоследствии через error_page
выходит на
> скрипт), то POST запрос пропадает.
> 
> nginx 0.6.35, конфиг внизу. В чем может быть проблема?
> 
> 
> server {
>         listen 888;
>         server_name *.BBBBBB.ru;
>         root /home/BBBBBB;
> 
>         error_page 404 = /404.php?$query_string;
> 
>         location / {
>                 index  index.php;
>                 autoindex off;
>                 rewrite ^/$ /404.php?$query_string;
>         }
> 
>         location ~* ^.+\.(php)$ {
>                 include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
>         }
> 
> }

error_page превращает GET в POST. Нужно что-то вроде этого (из
/home/storage/node/conf/freebsd/nginx/fastcgi.conf нужно убрать
SCRIPT_FILENAME):

    root /home/BBBBBB;

    location / {
        index  index.php;
        error_page  404 = @404;

        # default
        #autoindex off;
    }

    location ~* \.php$ {
        fastcgi_param  SCRIPT_FILENAME  $document_root$uri;
        include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
    }

    location = / {
        fastcgi_param  SCRIPT_FILENAME  $document_root/404.php;
        include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
    }

    location @404 {
        fastcgi_param  SCRIPT_FILENAME  $document_root/404.php;
        include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
    }

--

-- 
Игорь Сысоев
http://sysoev.ru

Igor Sysoev | 1 Feb 22:14
Picon

Re: sendfile(2) patch и отдача больших файлов на 7-STABLE amd64

On Sun, Feb 01, 2009 at 06:52:46PM +0300, Artemiev Igor wrote:

> Попробовал использовать патч
(http://www.lexa.ru/nginx-ru/msg20575.html) к sendfile(2). Так вот, общее
впечатление, что становится только хуже. Первая
прокачка даёт 90MB/s, последующие - ~3MB/s, WCPU по данным top -
50-60%. При этом уже при 300 коннектах выбирается вся
пропускная полоса рейд контроллера (~200MB/s согласно
gstat -a при размере блока в 2M для sendfile), в то время как
суммарная отдача по сети - 3-4MB/s. Судя по всему,
проблема в том, что на amd64 sfbuf берётся напрямую из VM, а не
из преаллокированной очереди. СОбственно вопрос к
Игорю - возможно ли это как-то исправить, либо что-то
недонастроено в самой системе? Конфиг nginx`а штатный.
Изменение размера блока на ситуацию не влияет (пока
он не равен 64K). Пробовал с ufs (блок 16K), zfs (128K), результат одинаков.

Патч использовался именно на amd64 и то, что sfbufs map'ятся через
direct map, это очень хорошо. Вопросы такие:

1) чему равен MAXPHYS ?
2) сколько физической памяти в машине ?
3) что из себя представляет рэйд ?

--

-- 
Игорь Сысоев
http://sysoev.ru

Igor Sysoev | 1 Feb 22:16
Picon

Re: Исключения передачи запросов Apache

On Sun, Feb 01, 2009 at 06:55:28PM +0200, akucher@... wrote:

> Нужно добавить исключение для странички
> /templates/ru/bbcodes/color.html
> 
> создал location и перезагрузил:
>  location /templates/ru/bbcodes/ {
>       root /home/user/data/www/site.ru/templates/ru/bbcodes/;
>  }
> 
> Но судя по Apache Status страница все равно передается апачу.

Скорее всего, где-то есть что-то вроде

  location ~ ...html... {

Если нужно именно /templates/ru/bbcodes/color.html, то так:

  location = /templates/ru/bbcodes/color.html {
       root /home/user/data/www/site.ru;
  }

> ----- Original Message ----- 
> From: "Dmitriy MiksIr" <miksir@...>
> To: <nginx-ru@...>
> Sent: Tuesday, January 27, 2009 7:31 PM
> Subject: Re: Исключения передачи запросов Apache
> 
> 
> >Да, можно. Определите для них location, проставьте
нужный root.
> >
> >akucher@... пишет:
> >>Здравствуйте.
> >>На сервере установлена связка Nginx+Apache. Все HTML файлы
передаются на 
> >>обработку в Apache, можно ли добавить несколько
исключений (полностью 
> >>статических страниц) что бы Nginx их не передавал и
отдавал сам? 
> 

--

-- 
Игорь Сысоев
http://sysoev.ru


Gmane