From nginx-forum на nginx.us Fri Jul 1 09:53:29 2011 From: nginx-forum на nginx.us (SolarFly) Date: Fri, 01 Jul 2011 01:53:29 -0400 Subject: nginx crached Message-ID: <8201f3c83c2799d045477e990bf51b4a.NginxMailingListRussian@forum.nginx.org> Периодически nginx падает. # uname -a Linux 2.6.27-server-1mnb #1 SMP Fri Oct 10 14:55:52 EDT 2008 x86_64 Intel(R) Core(TM)2 CPU 6320 @ 1.86GHz GenuineIntel GNU/Linux # nginx -v nginx: nginx version: nginx/1.0.0 error_log с опцией debug: 2011/07/01 09:15:49 [debug] 27244#0: worker cycle 2011/07/01 09:15:49 [debug] 27244#0: accept mutex lock failed: 0 2011/07/01 09:15:49 [debug] 27244#0: epoll timer: 500 2011/07/01 09:15:49 [debug] 27244#0: timer delta: 500 2011/07/01 09:15:49 [debug] 27244#0: posted events 0000000000000000 2011/07/01 09:15:49 [debug] 27244#0: worker cycle 2011/07/01 09:15:49 [debug] 27244#0: accept mutex lock failed: 0 2011/07/01 09:15:49 [debug] 27244#0: epoll timer: 500 2011/07/01 09:15:50 [notice] 27243#0: signal 15 (SIGTERM) received, exiting 2011/07/01 09:15:50 [debug] 27243#0: wake up, sigio 0 2011/07/01 09:15:50 [debug] 27243#0: child: 0 27244 e:0 t:0 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27243#0: child: 1 27245 e:0 t:0 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27244#0: epoll: fd:10 ev:0001 d:0000000000BB55C0 2011/07/01 09:15:50 [debug] 27243#0: child: 2 27248 e:0 t:0 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27245#0: epoll: fd:12 ev:0001 d:0000000000BB55C0 2011/07/01 09:15:50 [debug] 27245#0: post event 0000000000BE5578 2011/07/01 09:15:50 [debug] 27245#0: timer delta: 112386 2011/07/01 09:15:50 [debug] 27245#0: posted events 0000000000BE5578 2011/07/01 09:15:50 [debug] 27245#0: posted event 0000000000BE5578 2011/07/01 09:15:50 [debug] 27245#0: delete posted event 0000000000BE5578 2011/07/01 09:15:50 [debug] 27245#0: channel handler 2011/07/01 09:15:50 [debug] 27244#0: channel handler 2011/07/01 09:15:50 [debug] 27244#0: channel: 32 2011/07/01 09:15:50 [debug] 27244#0: channel command: 4 2011/07/01 09:15:50 [debug] 27244#0: channel: -2 2011/07/01 09:15:50 [debug] 27244#0: timer delta: 436 2011/07/01 09:15:50 [debug] 27244#0: posted events 0000000000000000 2011/07/01 09:15:50 [notice] 27244#0: exiting 2011/07/01 09:15:50 [debug] 27245#0: channel: 32 2011/07/01 09:15:50 [debug] 27245#0: channel command: 4 2011/07/01 09:15:50 [debug] 27245#0: channel: -2 2011/07/01 09:15:50 [debug] 27245#0: posted event 0000000000000000 2011/07/01 09:15:50 [notice] 27245#0: exiting 2011/07/01 09:15:50 [debug] 27245#0: flush files 2011/07/01 09:15:50 [debug] 27245#0: run cleanup: 0000000000B88B40 2011/07/01 09:15:50 [debug] 27245#0: cleanup resolver 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B62390 2011/07/01 09:15:50 [debug] 27243#0: termination cycle: 50 2011/07/01 09:15:50 [debug] 27243#0: sigsuspend 2011/07/01 09:15:50 [debug] 27248#0: epoll: fd:14 ev:0001 d:0000000000BB55C0 2011/07/01 09:15:50 [notice] 27244#0: signal 15 (SIGTERM) received, exiting 2011/07/01 09:15:50 [debug] 27244#0: flush files 2011/07/01 09:15:50 [debug] 27244#0: run cleanup: 0000000000B88B40 2011/07/01 09:15:50 [debug] 27244#0: cleanup resolver 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B62390 2011/07/01 09:15:50 [notice] 27248#0: signal 15 (SIGTERM) received, exiting 2011/07/01 09:15:50 [debug] 27248#0: channel handler 2011/07/01 09:15:50 [debug] 27248#0: channel: 32 2011/07/01 09:15:50 [debug] 27248#0: channel command: 4 2011/07/01 09:15:50 [debug] 27248#0: channel: -2 2011/07/01 09:15:50 [debug] 27248#0: timer delta: 6376 2011/07/01 09:15:50 [debug] 27248#0: posted events 0000000000000000 2011/07/01 09:15:50 [notice] 27248#0: exiting 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B60370 2011/07/01 09:15:50 [notice] 27245#0: signal 15 (SIGTERM) received, exiting 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B60370 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B5B2A0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B5A1E0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B59120 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B4A2E0, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B5C360, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B643B0, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B693D0, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B6D3E0, unused: 1 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B713F0, unused: 2 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B75400, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B79410, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B7D420, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B81430, unused: 2 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B85440, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B89450, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B8D460, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B91470, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B95480, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B99490, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000B9D4A0, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000BA14B0, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000BA54C0, unused: 0 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000BAD4E0, unused: 1192 2011/07/01 09:15:50 [debug] 27244#0: free: 0000000000BB14F0, unused: 12640 2011/07/01 09:15:50 [notice] 27244#0: exit 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B5B2A0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B5A1E0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B59120 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B4A2E0, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B5C360, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B643B0, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B693D0, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B6D3E0, unused: 1 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B713F0, unused: 2 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B75400, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B79410, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B7D420, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B81430, unused: 2 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B85440, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B89450, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B8D460, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B91470, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B95480, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B99490, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000B9D4A0, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000BA14B0, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000BA54C0, unused: 0 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000BAD4E0, unused: 1192 2011/07/01 09:15:50 [debug] 27245#0: free: 0000000000BB14F0, unused: 12640 2011/07/01 09:15:50 [notice] 27245#0: exit 2011/07/01 09:15:50 [notice] 27243#0: signal 14 (SIGALRM) received 2011/07/01 09:15:50 [debug] 27243#0: wake up, sigio 4 2011/07/01 09:15:50 [debug] 27243#0: termination cycle: 100 2011/07/01 09:15:50 [debug] 27243#0: sigsuspend 2011/07/01 09:15:50 [notice] 27243#0: signal 17 (SIGCHLD) received 2011/07/01 09:15:50 [notice] 27243#0: cache manager process 27248 exited with code 0 2011/07/01 09:15:50 [debug] 27243#0: wake up, sigio 0 2011/07/01 09:15:50 [debug] 27243#0: reap children 2011/07/01 09:15:50 [debug] 27243#0: child: 0 27244 e:1 t:0 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27243#0: child: 1 27245 e:1 t:0 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27243#0: child: 2 27248 e:1 t:1 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27243#0: pass close channel s:2 pid:27248 to:27244 2011/07/01 09:15:50 [debug] 27243#0: pass close channel s:2 pid:27248 to:27245 2011/07/01 09:15:50 [debug] 27243#0: child: 0 27244 e:1 t:0 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27243#0: child: 1 27245 e:1 t:0 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27243#0: termination cycle: 100 2011/07/01 09:15:50 [debug] 27243#0: sigsuspend 2011/07/01 09:15:50 [notice] 27243#0: signal 29 (SIGIO) received 2011/07/01 09:15:50 [notice] 27243#0: signal 17 (SIGCHLD) received 2011/07/01 09:15:50 [notice] 27243#0: worker process 27244 exited with code 0 2011/07/01 09:15:50 [notice] 27243#0: worker process 27245 exited with code 0 2011/07/01 09:15:50 [debug] 27243#0: wake up, sigio 4 2011/07/01 09:15:50 [debug] 27243#0: reap children 2011/07/01 09:15:50 [debug] 27243#0: child: 0 27244 e:1 t:1 d:0 r:1 j:0 2011/07/01 09:15:50 [debug] 27243#0: child: 1 27245 e:1 t:1 d:0 r:1 j:0 2011/07/01 09:15:50 [notice] 27243#0: exit 2011/07/01 09:15:50 [debug] 27243#0: close listening 0.0.0.0:7082 #9 2011/07/01 09:15:50 [debug] 27243#0: run cleanup: 0000000000B88B40 2011/07/01 09:15:50 [debug] 27243#0: cleanup resolver 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B62390 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B60370 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B5B2A0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B5A1E0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B59120 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B4A2E0, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B5C360, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B643B0, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B693D0, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B6D3E0, unused: 1 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B713F0, unused: 2 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B75400, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B79410, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B7D420, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B81430, unused: 2 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B85440, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B89450, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B8D460, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B91470, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B95480, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B99490, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000B9D4A0, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000BA14B0, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000BA54C0, unused: 0 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000BAD4E0, unused: 1202 2011/07/01 09:15:50 [debug] 27243#0: free: 0000000000BB14F0, unused: 12640 Система относительно свежая, только ядро старое. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211469,211469#msg-211469 From mdounin на mdounin.ru Fri Jul 1 10:04:25 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 1 Jul 2011 10:04:25 +0400 Subject: nginx crached In-Reply-To: <8201f3c83c2799d045477e990bf51b4a.NginxMailingListRussian@forum.nginx.org> References: <8201f3c83c2799d045477e990bf51b4a.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110701060425.GG42265@mdounin.ru> Hello! On Fri, Jul 01, 2011 at 01:53:29AM -0400, SolarFly wrote: > Периодически nginx падает. > > # uname -a > Linux 2.6.27-server-1mnb #1 SMP Fri Oct 10 14:55:52 EDT 2008 x86_64 > Intel(R) Core(TM)2 CPU 6320 @ 1.86GHz GenuineIntel GNU/Linux > > # nginx -v > nginx: nginx version: nginx/1.0.0 > > error_log с опцией debug: > > 2011/07/01 09:15:49 [debug] 27244#0: worker cycle > 2011/07/01 09:15:49 [debug] 27244#0: accept mutex lock failed: 0 > 2011/07/01 09:15:49 [debug] 27244#0: epoll timer: 500 > 2011/07/01 09:15:49 [debug] 27244#0: timer delta: 500 > 2011/07/01 09:15:49 [debug] 27244#0: posted events 0000000000000000 > 2011/07/01 09:15:49 [debug] 27244#0: worker cycle > 2011/07/01 09:15:49 [debug] 27244#0: accept mutex lock failed: 0 > 2011/07/01 09:15:49 [debug] 27244#0: epoll timer: 500 > 2011/07/01 09:15:50 [notice] 27243#0: signal 15 (SIGTERM) received, > exiting Судя по логу - nginx'у прислали SIGTERM, он штатно вышел. Если вы не хотите, чтобы это происходило - ищите, кто прислал SIGTERM. Обычно подобные проблемы возникают из-за неправильных настроек/скриптов вращения логов, но могут быть и другие причины. Maxim Dounin From nginx-forum на nginx.us Fri Jul 1 12:04:23 2011 From: nginx-forum на nginx.us (SolarFly) Date: Fri, 01 Jul 2011 04:04:23 -0400 Subject: nginx crached In-Reply-To: <8201f3c83c2799d045477e990bf51b4a.NginxMailingListRussian@forum.nginx.org> References: <8201f3c83c2799d045477e990bf51b4a.NginxMailingListRussian@forum.nginx.org> Message-ID: <5ba63b6e61659bcb2c7432ef71e0e2b7.NginxMailingListRussian@forum.nginx.org> Спасибо за подсказку, Максим. Видел, что завершается не аварийно, но были сомнения, так как без моего участия это происходило. Буду искать, что его убивает. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211469,211491#msg-211491 From rusnginx на gmail.com Fri Jul 1 13:27:35 2011 From: rusnginx на gmail.com (Alex Aster) Date: Fri, 1 Jul 2011 11:27:35 +0200 Subject: =?UTF-8?B?0JrRgNGD0L/QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C4IG5naW54?= Message-ID: Возможно будет возможность убедить перейти с апача на nginx одну очень крупную западную корпорацию. Вы знаете как иногда устроено внутри таких бюрократических махин с "корпоративным подходом". Поэтому я качестве одних их аргументов я хотел привести примеры других компаний, кто использует nginx в продакшене. Можете накидать кто кого знает, кто уже использует. Но нужны только действительно очень крупные. Я бы накидал скрипт, парсящий заголовки со списка TOP-5000 от алексы, да времени скорее не будет. Спасибо! ------------- Alex Aster http://www.WIPmania.com - база IP геолокации для Nginx -------------- next part -------------- An HTML attachment was scrubbed... URL: From chipitsine на gmail.com Fri Jul 1 13:31:08 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Fri, 1 Jul 2011 15:31:08 +0600 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: хотят сидеть на апаче - пусть сидят, в чем нам то горе от этого :-) 1 июля 2011 г. 15:27 пользователь Alex Aster написал: > Возможно будет возможность убедить перейти с апача на nginx одну очень > крупную западную корпорацию. > Вы знаете как иногда устроено внутри таких бюрократических махин с > "корпоративным подходом". > Поэтому я качестве одних их аргументов я хотел привести примеры других > компаний, кто использует nginx в продакшене. > Можете накидать кто кого знает, кто уже использует. Но нужны только > действительно очень крупные. > Я бы накидал скрипт, парсящий заголовки со списка TOP-5000 от алексы, да > времени скорее не будет. > Спасибо! > > ------------- > Alex Aster > http://www.WIPmania.com - база IP геолокациидля Nginx > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From postmaster на softsearch.ru Fri Jul 1 14:29:07 2011 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Fri, 1 Jul 2011 14:29:07 +0400 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: <603409570.20110701142907@softsearch.ru> Здравствуйте, Alex. nginx - единственный веб-сервер, чья доля уверенно растёт http://news.netcraft.com/archives/2011/06/07/june-2011-web-server-survey.html Посему можно сделать вывод, что он чем-то и вправду хорош, раз народ переходи с апача и iis на него. -- С уважением, Михаил mailto:postmaster на softsearch.ru From temotor на gmail.com Fri Jul 1 14:42:31 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Fri, 1 Jul 2011 14:42:31 +0400 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: 2011/7/1 Alex Aster : > Возможно будет возможность убедить перейти с апача на nginx одну очень > крупную западную корпорацию. > Вы знаете как иногда устроено внутри таких бюрократических махин с > "корпоративным подходом". > Поэтому я качестве одних их аргументов я хотел привести примеры других > компаний, кто использует nginx в продакшене. > Можете накидать кто кого знает, кто уже использует. Но нужны только > действительно очень крупные. > Я бы накидал скрипт, парсящий заголовки со списка TOP-5000 от алексы, да > времени скорее не будет. > Спасибо! > Вообще-то перейти с апача на nginx можно только в том случае, если там апач использовался для раздачи статики и проксирования на бекенды. Это очень редкая ситуация, чаще всего в апачевых воркерах выполняются (весьма успешно) приложения Perl/PHP/etc. nginx этого делать не умеет, поэтому апач всё равно остаётся. "Добавить перед апачом фронтенд" - уже не такая страшная цель, как "перейти". Может быть и не понадобится никаких примеров, если вы просто соптимизируете раздачу статики? From temotor на gmail.com Fri Jul 1 14:42:31 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Fri, 1 Jul 2011 14:42:31 +0400 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: 2011/7/1 Alex Aster : > Возможно будет возможность убедить перейти с апача на nginx одну очень > крупную западную корпорацию. > Вы знаете как иногда устроено внутри таких бюрократических махин с > "корпоративным подходом". > Поэтому я качестве одних их аргументов я хотел привести примеры других > компаний, кто использует nginx в продакшене. > Можете накидать кто кого знает, кто уже использует. Но нужны только > действительно очень крупные. > Я бы накидал скрипт, парсящий заголовки со списка TOP-5000 от алексы, да > времени скорее не будет. > Спасибо! > Вообще-то перейти с апача на nginx можно только в том случае, если там апач использовался для раздачи статики и проксирования на бекенды. Это очень редкая ситуация, чаще всего в апачевых воркерах выполняются (весьма успешно) приложения Perl/PHP/etc. nginx этого делать не умеет, поэтому апач всё равно остаётся. "Добавить перед апачом фронтенд" - уже не такая страшная цель, как "перейти". Может быть и не понадобится никаких примеров, если вы просто соптимизируете раздачу статики? From rusnginx на gmail.com Fri Jul 1 14:56:03 2011 From: rusnginx на gmail.com (Alex Aster) Date: Fri, 1 Jul 2011 12:56:03 +0200 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: Хм...все несколько неправильно поняли вопроса. Я не работаю в этой корпорации - они наши клиенты по геобазе. А сам я с nginx на ты уже шесть лет, еще с версий 1.Х Я уже сам запустил парсер, через час-второй смогу выложить весь список из ТОП5000 -------------- next part -------------- An HTML attachment was scrubbed... URL: From chipitsine на gmail.com Fri Jul 1 15:05:24 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Fri, 1 Jul 2011 17:05:24 +0600 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: nginx - это очень плохой по фичам сервер по сравнению с апачем. зато быстрый как электровеник (за что его и любят). и памяти потребляет меньше (это киллер-фича на дешевых VPS с маленькой памятью) и доля рынка у nginx по сравнению с апачем, ну вы видели ссылку на netcraft. в разы меньше, сравнивать нечего. nginx (как и apache) - это open source. людьми движет в основном энтузиазм. с какой радости надо всё бросить и начать уламывать крупную западную компанию переходить на nginx - непонятно. нравится им сидеть на апаче - да бога ради. пусть хоть Tornado ставят. вы, возможно, добьетесь большего успеха, если переведете аргументацию на язык выгоды для второй стороны 1) чем для крупной западной компании nginx будет выгоднее апача (нарисуйте честный SWOT, посмотрите доступность на Западе специалистов по nginx и их стоимость в том числе) ? 2) чем для подписчиков данного списка выгодно убеждать эту крупную компанию переходить на nginx ? 1 июля 2011 г. 16:56 пользователь Alex Aster написал: > Хм...все несколько неправильно поняли вопроса. > Я не работаю в этой корпорации - они наши клиенты по геобазе. > А сам я с nginx на ты уже шесть лет, еще с версий 1.Х > Я уже сам запустил парсер, через час-второй смогу выложить весь список из > ТОП5000 > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From rusnginx на gmail.com Fri Jul 1 15:13:19 2011 From: rusnginx на gmail.com (Alex Aster) Date: Fri, 1 Jul 2011 13:13:19 +0200 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: Я и не просил подписчиков рассылки уламывать эту компанию, я всего лишь спросил список сайтов. Всё остальное это уже другие критерии - и конечно анализ необходимости, и выгоды, и SWOT, и фичи, и доступность и т.п. Может им и правда не подойдет, а может подойдет, но кусками, там сейчас зоопарк из win/lin, и что они переделывают я пока точно не знаю. 1 июля 2011 г. 13:05 пользователь Илья Шипицин написал: > > вы, возможно, добьетесь большего успеха, если переведете аргументацию на > язык выгоды для второй стороны > > 1) чем для крупной западной компании nginx будет выгоднее апача (нарисуйте > честный SWOT, посмотрите доступность на Западе специалистов по nginx и их > стоимость в том числе) ? > 2) чем для подписчиков данного списка выгодно убеждать эту крупную компанию > переходить на nginx ? > -- --------------- Alex Aster http://www.WIPmania.com - база IP геолокации -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmm на csdoc.com Fri Jul 1 15:33:35 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Fri, 01 Jul 2011 14:33:35 +0300 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: <4E0DB08F.4040003@csdoc.com> On 01.07.2011 14:13, Alex Aster wrote: > Я и не просил подписчиков рассылки уламывать эту компанию, > я всего лишь спросил список сайтов. вот что есть на официальной странице nginx: http://nginx.org/en/ It has been running for more than five years on many heavily loaded Russian sites including Rambler (RamblerMedia.com). According to Netcraft nginx served or proxied 4.70% busiest sites in April 2010. Here are some of success stories: FastMail.FM, Wordpress.com. http://news.netcraft.com/archives/2011/05/02/may-2011-web-server-survey.html Market Share for Top Servers Across the Million Busiest Sites September 2008 - May 2011 по состоянию на may 2011 - уже 6.79% (по сравнению с 4.70% в apr 2010) на сайте http://nginx.org/en/ пока что устареврая информация написана. > Всё остальное это уже другие критерии - и конечно анализ необходимости, > и выгоды, и SWOT, и фичи, и доступность и т.п. кроме того, у nginx есть killer feature: http://www.wipmania.com/en/blog/opera-proxy-in-nginx/ которой насколько я знаю нет у апача и других веб-серверов. хотя наверное нигде на английском языке толково не написано чем будет лучше ставить nginx в качестве frontend сервера вместо apache. и актуального списка крупных компаний и success stories, тоже наверное в интернете нет. -- Best regards, Gena From unlexx на gmail.com Fri Jul 1 19:15:56 2011 From: unlexx на gmail.com (Un Lexx) Date: Fri, 1 Jul 2011 21:15:56 +0600 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: <4E0DB08F.4040003@csdoc.com> References: <4E0DB08F.4040003@csdoc.com> Message-ID: вообще сабжевый вопрос напоминает запрос хакера который нашел нулевую уязвимость nginxa и хочет определить крупные компании по которым можно пройтись :-O. From postmaster на softsearch.ru Fri Jul 1 19:16:52 2011 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Fri, 1 Jul 2011 19:16:52 +0400 Subject: =?UTF-8?B?UmVbMl06INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBu?= =?UTF-8?B?Z2lueA==?= In-Reply-To: References: Message-ID: <58848257.20110701191652@softsearch.ru> Здравствуйте, Alex. > Может им и правда не подойдет, а может подойдет, но кусками, там > сейчас зоопарк из win/lin, и что они переделывают я пока точно не > знаю. Это Афиша+Рамблер что ли? :-) -- С уважением, Михаил mailto:postmaster на softsearch.ru From marck на rinet.ru Fri Jul 1 20:49:02 2011 From: marck на rinet.ru (Dmitry Morozovsky) Date: Fri, 1 Jul 2011 20:49:02 +0400 (MSD) Subject: =?UTF-8?B?UmVbMl06INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBu?= =?UTF-8?B?Z2lueA==?= In-Reply-To: <58848257.20110701191652@softsearch.ru> References: <58848257.20110701191652@softsearch.ru> Message-ID: On Fri, 1 Jul 2011, Михаил Монашёв wrote: > > Может им и правда не подойдет, а может подойдет, но кусками, там > > сейчас зоопарк из win/lin, и что они переделывают я пока точно не > > знаю. > > Это Афиша+Рамблер что ли? :-) Sorry, can't resist: ПЯТНИЦА detected! ;-P -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck на FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck на rinet.ru *** ------------------------------------------------------------------------ From sergey.kobzar на itcraft.org Fri Jul 1 23:30:18 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 01 Jul 2011 22:30:18 +0300 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: <4E0E204A.4020209@itcraft.org> On 07/01/11 13:56, Alex Aster wrote: > Хм...все несколько неправильно поняли вопроса. > Я не работаю в этой корпорации - они наши клиенты по геобазе. > А сам я с nginx на ты уже шесть лет, еще с версий 1.Х А мне казалось, что Nginx 1.x вышел только в этом году... http://sysoev.ru/nginx/changes.html 1.0.0 12.04.2011 > Я уже сам запустил парсер, через час-второй смогу выложить весь список > из ТОП5000 From a.vasilishin на kpi.ua Sat Jul 2 00:17:05 2011 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Fri, 01 Jul 2011 23:17:05 +0300 Subject: =?UTF-8?B?0JzQvtC00YPQu9GMIG1wNA==?= Message-ID: <4E0E2B41.9070208@kpi.ua> Всем привет! Помнится Игорь Sun, 24 May 2009 21:53:40 +0300 обещал что сделает модуль для стримминга MP4. Игорь, у Вас в планах еще есть такая задача или уже нет? :) -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From nginx-forum на nginx.us Sat Jul 2 05:30:51 2011 From: nginx-forum на nginx.us (temma) Date: Fri, 01 Jul 2011 21:30:51 -0400 Subject: =?UTF-8?B?0JPQtNC1INGF0YDQsNC90LjRgtGB0Y8gR2VvSVAg0LHQsNC30LA/?= Message-ID: <2677cd3347b0580f5eed42bd0c0884ab.NginxMailingListRussian@forum.nginx.org> У меня на сервере один master процесс и несколько worker'ов. База GeoIP City весит 30мб. Как именно с ней работают процессы ? Каждый делает себе копию ? Они используют shared memory ? Может общаются между процессами ? Смотрел исходники, база грузится просто в mmap. Не видел никакого взаимодействия. Помогите разобраться пожалуйста :( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211700,211700#msg-211700 From nginx-forum на nginx.us Sat Jul 2 06:54:39 2011 From: nginx-forum на nginx.us (xganet) Date: Fri, 01 Jul 2011 22:54:39 -0400 Subject: =?UTF-8?B?0KLRjtC90LjQvdCzIG5naW54?= Message-ID: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> Приветствую всех VPS падает даже при зажатом F5, установлена Ubuntu 8.10 И хотелось бы хоть немного защититься от школоддоса Помогите разобраться, Нашел статью Тюнинг nginx для защиты от ддос http://alug.org.ru/forum/viewtopic.php?id=283 1. в /etc/nginx/nginx.conf нужно полностью менять на предложенное? ведь у меня в nginx.conf что то про мои два домена написано: user www-data; worker_processes 1; error_log off; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log off; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; include /etc/nginx/sites-enabled/*; client_max_body_size 16m; log_format isp '$bytes_sent $request_length'; server { listen 77.77.77.77:80; server_name yousite.ru www.yousite.ru; rewrite ^(/manager/.*)$ https://$host$1 permanent; rewrite ^(/manager/.*)$ https://$host$1 permanent; error_page 404 = @fallback; location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) { proxy_pass http://77.77.77.77:8080; proxy_redirect http://yousite.ru: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://77.77.77.77:8080; proxy_redirect http://yousite.ru: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/p17267_you/data/www/yousite.ru; access_log /var/www/httpd-logs/yousite.ru.access.log ; access_log /var/www/nginx-logs/p17267_you isp; } location @fallback { proxy_pass http://77.77.77.77: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 { listen 77.77.77.77:80; server_name xenstyle.ru www.xensite.ru; rewrite ^(/manager/.*)$ https://$host$1 permanent; rewrite ^(/manager/.*)$ https://$host$1 permanent; error_page 404 = @fallback; location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) { proxy_pass http://77.77.77.77:8080; proxy_redirect http://xensite.ru: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://77.77.77.77:8080; proxy_redirect http://xensite.ru: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/p17267_you/data/www/xensite.ru; access_log /dev/null ; access_log /var/www/nginx-logs/p17267_you isp; } location @fallback { proxy_pass http://77.77.77.77: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; } } } 2. /etc/nginx/proxy - тут тоже непонятно что куда? 3. сам скрипт тоже куда его? и как назвать буду очень благодарен Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211710,211710#msg-211710 From vt на chgk.info Sat Jul 2 09:52:50 2011 From: vt на chgk.info (Vitaly Tskhovrebov) Date: Sat, 02 Jul 2011 09:52:50 +0400 Subject: rewrite http to https Message-ID: <4E0EB232.9090109@chgk.info> Привет. nginx version: nginx/0.8.54 Есть правило: location ^~ /a { rewrite ^(.*) https://host/$1; } Проблема: Иногда редиректит правильно, а иногда на http://host:443/. В таких случаях имеем 400. Закономерность отловить не удалось. Что за мистика? -- Regards, Vitaly Tskhovrebov Senior System Administrator U.S. +1 (206) 905-9939 Russia +7 911 094-2035 From vt на chgk.info Sat Jul 2 10:31:24 2011 From: vt на chgk.info (Vitaly Tskhovrebov) Date: Sat, 02 Jul 2011 10:31:24 +0400 Subject: rewrite http to https In-Reply-To: <4E0EB232.9090109@chgk.info> References: <4E0EB232.9090109@chgk.info> Message-ID: <4E0EBB3C.5090006@chgk.info> Воздержитесь от ресерча, есть мнение, что это бекенд неправильный. Я отпишусь о результатах его проверки -- Regards, Vitaly Tskhovrebov Senior System Administrator U.S. +1 (206) 905-9939 Russia +7 911 094-2035 From unlexx на gmail.com Sat Jul 2 11:34:01 2011 From: unlexx на gmail.com (Un Lexx) Date: Sat, 2 Jul 2011 13:34:01 +0600 Subject: =?UTF-8?B?UmU6INCi0Y7QvdC40L3QsyBuZ2lueA==?= In-Reply-To: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> Message-ID: по пунктам ваших вопросов обьяснять очень много проще за вас все сделать но попытаюсь карму себе почистить: 1. вам надо выделить там суть - например настройки по кол-ву заросов и логгированию в файл "плохих" запросов, а лудше по каждому пункту заглянуть в доки и решить надо ли вам оно. 2 этот файл содержит настройки для линка к апачу то есть положить его опять таки куда угодно но не забыить прилинковать к основным настройкам 3 сам скрипт можно куда угодно главное его переодически запускать Однако php скрипт который >Парсит лог файлы nginx`a, подсчитывает общее кол-во запросов к нему от разных IP, это не хороший путь лудше реализовать другими средствами например http://sysoev.ru/nginx/docs/http/ngx_http_limit_zone_module.html http://www.opennet.ru/tips/info/367.shtml Кроме того вызывает недоумение зачем вам на слабом впс еще и апач - одно дело у вас без него сервисы не работают другое просто незнаете что nginx и какой нить spawn-php(fcgi) позволяет сделать все то же самое с минмальными изменениями скриптов(или даже без изменений) еще совет внятно сформулируйте что хотите сделать и наймите админа он за час вам все настроит From mdounin на mdounin.ru Sat Jul 2 11:50:08 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sat, 2 Jul 2011 11:50:08 +0400 Subject: =?UTF-8?B?UmU6INCT0LTQtSDRhdGA0LDQvdC40YLRgdGPIEdlb0lQINCx0LDQt9CwPw==?= In-Reply-To: <2677cd3347b0580f5eed42bd0c0884ab.NginxMailingListRussian@forum.nginx.org> References: <2677cd3347b0580f5eed42bd0c0884ab.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110702075008.GL42265@mdounin.ru> Hello! On Fri, Jul 01, 2011 at 09:30:51PM -0400, temma wrote: > У меня на сервере один master процесс и > несколько worker'ов. База GeoIP City весит 30мб. > Как именно с ней работают процессы ? > Каждый делает себе копию ? Они > используют shared memory ? Может общаются > между процессами ? > > Смотрел исходники, база грузится > просто в mmap. Не видел никакого > взаимодействия. Помогите разобраться > пожалуйста :( Мастер при загрузке конфигурации делает GeoIP_open(GEOIP_MEMORY_CACHE), что свою очередь вызывает загрузку данных геобазы в память. Рабочие процессы эту память отнаследуют от master'а при fork'е, и дальше будут работать с ней. Поскольку работа в read-only - память будет общей для всех рабочих процессов и мастера, лишняя физическая память не расходуется. Maxim Dounin From nginx-forum на nginx.us Sat Jul 2 16:17:38 2011 From: nginx-forum на nginx.us (temma) Date: Sat, 02 Jul 2011 08:17:38 -0400 Subject: =?UTF-8?B?UmU6INCT0LTQtSDRhdGA0LDQvdC40YLRgdGPIEdlb0lQINCx0LDQt9CwPw==?= In-Reply-To: <2677cd3347b0580f5eed42bd0c0884ab.NginxMailingListRussian@forum.nginx.org> References: <2677cd3347b0580f5eed42bd0c0884ab.NginxMailingListRussian@forum.nginx.org> Message-ID: Спасибо огромное, Макс ! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211700,211778#msg-211778 From sergey.kobzar на itcraft.org Sat Jul 2 17:03:10 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Sat, 02 Jul 2011 16:03:10 +0300 Subject: =?UTF-8?B?UmU6INCi0Y7QvdC40L3QsyBuZ2lueA==?= In-Reply-To: References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E0F170E.4080208@itcraft.org> А посоветовать кто-ть realtime log analyzer для nginx с высокой нагрузкой может? Понятно, что много фитчей тут ожидать не приходится. On 07/02/11 10:34, Un Lexx wrote: > по пунктам ваших вопросов обьяснять очень много проще за вас все > сделать но попытаюсь карму себе почистить: > > 1. вам надо выделить там суть - например настройки по кол-ву заросов и > логгированию в файл "плохих" запросов, а лудше по каждому пункту > заглянуть в доки и решить надо ли вам оно. > 2 этот файл содержит настройки для линка к апачу то есть положить его > опять таки куда угодно но не забыить прилинковать к основным > настройкам > 3 сам скрипт можно куда угодно главное его переодически запускать > > Однако php скрипт который >> Парсит лог файлы nginx`a, подсчитывает общее кол-во запросов к нему от разных IP, > это не хороший путь > лудше реализовать другими средствами например > > http://sysoev.ru/nginx/docs/http/ngx_http_limit_zone_module.html > http://www.opennet.ru/tips/info/367.shtml > > Кроме того вызывает недоумение зачем вам на слабом впс еще и апач - > одно дело у вас без него сервисы не работают другое просто незнаете > что nginx и какой нить spawn-php(fcgi) позволяет сделать все то же > самое с минмальными изменениями скриптов(или даже без изменений) > > еще совет внятно сформулируйте что хотите сделать и наймите админа он > за час вам все настроит > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From sergey.kobzar на itcraft.org Sat Jul 2 19:19:47 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Sat, 02 Jul 2011 18:19:47 +0300 Subject: =?UTF-8?B?0JHQu9C+0LrQuNGA0L7QstCw0YLRjCDQt9Cw0L/RgNC+0YHRiyDRgSDQv9GD0YE=?= =?UTF-8?B?0YLRi9C8ICRodHRwX3VzZXJfYWdlbnQ=?= Message-ID: <4E0F3713.90601@itcraft.org> Не срабатывает конструкция if ($http_user_agent ~ (^$|libwww-perl|Seznam)) { return 403; } Т.е. такой запрос проходит "GET /es/ HTTP/1.1" 200 140381 "-" "-" "-" а такой блокируется "GET /Companies/pixel-informatique4/0080003775983 HTTP/1.1" 403 332 "-" "libwww-perl/5.837" "-" Можно ли в условие включить пустую строку или нужно дополнительное условие вида if ($http_user_agent = "") { return 403; } ? Спасибо. From rusnginx на gmail.com Sat Jul 2 23:08:14 2011 From: rusnginx на gmail.com (Alex Aster) Date: Sat, 2 Jul 2011 21:08:14 +0200 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: <4E0DB08F.4040003@csdoc.com> Message-ID: > > >вообще сабжевый вопрос напоминает запрос хакера который нашел нулевую > > уязвимость nginxa > > и хочет определить крупные компании по которым можно пройтись :-O. > Любой хакер напишет за пару минут скрипт, который пройдется по всем сайтам из первого миллиона и их их заголовкам, быстрей будет и спрашивать сообщество об этом не надо. >Это Афиша+Рамблер что ли? :-) Нет, это западная компания из global-500 >А мне казалось, что Nginx 1.x вышел только в этом году... конечно я имел ввиду 0.1.x А в общем я и сам прочекал, в топе5000 процентное соотношение выше, чем по первому миллиону: 17.24% против 6.79% Выложил список сюда: http://www.alrond.com/ru/2011/jul/02/using-nginx-in-top5000/ Из самых известных 1. Yandex, VKontakte, Rambler, Rutracker, RBC, Habrahabr, Webmoney, Auto.ru, RuTube, Gazeta 2. Zappos, Wordpress, YouPorn, Badoo, SourceForge, TechCrunch, Archive.org, Groupon, MoneyBookers, Hulu 3. YellowPages, Foursquare, WikiMapia, VIVAnews 4. Dropbox, Scribd, Slideshare, Depositfiles, twitpic, imageshack.us, bit.ly, tinypic 5. Freelancer, oDesk, WebHostingTalk, Linode, Dreamhost Хотя именно корпоративный не-IT рынок слабо представлен --------------- Alex Aster http://www.WIPmania.com - база IP геолокации -------------- next part -------------- An HTML attachment was scrubbed... URL: From vt на chgk.info Sun Jul 3 00:05:36 2011 From: vt на chgk.info (Vitaly Tskhovrebov) Date: Sun, 03 Jul 2011 00:05:36 +0400 Subject: rewrite http to https In-Reply-To: <4E0EBB3C.5090006@chgk.info> References: <4E0EB232.9090109@chgk.info> <4E0EBB3C.5090006@chgk.info> Message-ID: <4E0F7A10.80106@chgk.info> Ага, ага, ломался бекенд, автогенерация ссылки для редиректа. Нужно помнить, что некоторым веб-приложениям необходима переменная ENV[HTTPS], которую апач ставит сам для SSL, а nginx нет. Поэтому fastcgi_param HTTPS on; помог. В доках, кстати, нету. -- Regards, Vitaly Tskhovrebov Senior System Administrator U.S. +1 (206) 905-9939 Russia +7 911 094-2035 From nginx-forum на nginx.us Mon Jul 4 16:13:59 2011 From: nginx-forum на nginx.us (temma) Date: Mon, 04 Jul 2011 08:13:59 -0400 Subject: =?UTF-8?B?0JTQu9GPINGH0LXQs9C+INC90YPQttC10L0gTkdYIFBPT0wgQUxJR05NRU5UID8=?= Message-ID: Привет. nginx создаёт memory pool, вызывая ngx_memalign(NGX_POOL_ALIGNMENT, size, log), где NGX_POOL_ALIGNMENT = 16. Почему именно 16 ? Зачем выравнивать память по числу 16 ? malloc возвращает память выровненную по числу 8 на большинстве систем, достаточно чтобы хранить данные стандартных типов (ing, long, etc). Поясните пожалуйста почему 16 ? Вот дискусия на stackoverflow, там тоже не нашли ответа - http://stackoverflow.com/questions/6410609/when-do-we-need-to-use-posix-memalign-instead-of-malloc Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211932,211932#msg-211932 From nginx-forum на nginx.us Mon Jul 4 18:44:29 2011 From: nginx-forum на nginx.us (sautchenkov) Date: Mon, 04 Jul 2011 10:44:29 -0400 Subject: =?UTF-8?B?cHJveHkgY29ubmVjdCB0aW1lb3V0INCx0L7Qu9GM0YjQtSA3NSDRgdC10LrRg9C9?= =?UTF-8?B?0LQ=?= Message-ID: <44fb5f7ec621ced36fa8abe6be5a95c0.NginxMailingListRussian@forum.nginx.org> Nginx стоит перед apache, загружается большой файл который очень долго обрабатывается php в апаче 75 секунд ожидания proxy_connect_timeout не хватает. Что делать если proxy_connect_timeout нужен больше 75 секунд? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211936,211936#msg-211936 From mdounin на mdounin.ru Mon Jul 4 18:54:22 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 4 Jul 2011 18:54:22 +0400 Subject: =?UTF-8?B?UmU6IHByb3h5IGNvbm5lY3QgdGltZW91dCDQsdC+0LvRjNGI0LUgNzUg0YHQtdC6?= =?UTF-8?B?0YPQvdC0?= In-Reply-To: <44fb5f7ec621ced36fa8abe6be5a95c0.NginxMailingListRussian@forum.nginx.org> References: <44fb5f7ec621ced36fa8abe6be5a95c0.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110704145422.GW42265@mdounin.ru> Hello! On Mon, Jul 04, 2011 at 10:44:29AM -0400, sautchenkov wrote: > Nginx стоит перед apache, загружается > большой файл который очень долго > обрабатывается php в апаче 75 секунд > ожидания proxy_connect_timeout не хватает. > Что делать если proxy_connect_timeout нужен > больше 75 секунд? proxy_connect_timeout - это таймаут на установление соединения (tcp handshake), размер загружаемого файла значения не имеет. Больше 75 секунд его сделать можно (если поднастроить операционную систему, e.g. sysctl net.inet.tcp.keepinit на FreeBSD), но скорее всего не нужно. Если речь идёт о загрузке большого файла, который долго обрабатывается бекендом - то крутить надо proxy_read_timeout. Он может быть сколь угодно большим. Maxim Dounin From agsmorodin на gmail.com Mon Jul 4 18:55:08 2011 From: agsmorodin на gmail.com (Alex Smorodin) Date: Mon, 4 Jul 2011 17:55:08 +0300 Subject: =?UTF-8?B?UmU6IHByb3h5IGNvbm5lY3QgdGltZW91dCDQsdC+0LvRjNGI0LUgNzUg0YHQtdC6?= =?UTF-8?B?0YPQvdC0?= In-Reply-To: <44fb5f7ec621ced36fa8abe6be5a95c0.NginxMailingListRussian@forum.nginx.org> References: <44fb5f7ec621ced36fa8abe6be5a95c0.NginxMailingListRussian@forum.nginx.org> Message-ID: Скажите, а это у вас аплоад или даунлоад? Посмотрите параметры proxy_read_timeout и proxy_send_timeout. Вероятно, либо один, либо другой должны помочь. 2011/7/4 sautchenkov > Nginx стоит перед apache, загружается > большой файл который очень долго > обрабатывается php в апаче 75 секунд > ожидания proxy_connect_timeout не хватает. > Что делать если proxy_connect_timeout нужен > больше 75 секунд? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,211936,211936#msg-211936 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > -- С уважением, Смородин Александр mailto: agsmorodin на gmail.com ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Mon Jul 4 19:48:53 2011 From: nginx-forum на nginx.us (sergeyarl) Date: Mon, 04 Jul 2011 11:48:53 -0400 Subject: Nginx + proxy_cache + ssi Message-ID: Всем привет! Вопрос возможно глупый, и я не совсем понимаю что делаю, но тем не менее прошу помощи комьюнити. В данный момент пытаюсь разобраться с кешированием динамического контента в бекенде при помощи nginx. Т.е. proxy_cache и все что с этим связанно. Цель в принципе тривиальная - всем пользователям отдавать кешированную страницу, а тем, у кого установлена специальная кука отдавать уже контент напрямую с бекенда (в моем случае apache + php). Но есть одно но - куку нужно устанавливать с той же страницы, которую собираюсь кешировать. Т.е. нужно кешировать все, кроме блока на странице, который управляет установкой куки. Поискал на просторах интернета и нашел, что подобное можно сделать при помощи ssi в nginx. Т.е. блок, который мне не нужно кешировать предлагают вывести в отдельный инклуд, а в основном файле сделать на него ссылку вида: Собственно это я и пытаюсь сделать у себя на тестовом стенде. Разбил страницу на два файла - один - index.php - страница которую нужно кешировать, второй - cookie.php - шапка страницы, содержащая интерфейс установки куки (TestCookie ). Пока в nginx не включено кеширование инклуд работает, отправляет запросы в бекенд и я вижу контент в браузере. Как только включаю кеширование в nginx - то в браузере получаю пустую страницу, а в логе nginx следующее: 2011/07/03 04:22:48 [alert] 2420#0: *3 http request count is zero, client: 192.168.1.2, server: , request: "GET / HTTP/1.1", subrequest: "/cookie.php", host: "192.168.1.4", referrer: "http://192.168.1.4/" В чем дело, не понимаю. Привожу собственно содержимое конфига nginx и самих кскриптов. nginx.conf: user www-data www-data; worker_processes 2; worker_rlimit_nofile 100000; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; use epoll; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 1k; large_client_header_buffers 4 4k; gzip on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; output_buffers 1 32k; postpone_output 1460; sendfile on; tcp_nopush on; tcp_nodelay on; server_names_hash_bucket_size 64; proxy_cache_path /var/lib/nginx/cache levels= keys_zone=proxycache:32m max_size=200m inactive=1d; server { listen 80; ssi on; location / { proxy_pass http://127.0.0.1:8080; proxy_cache proxycache; proxy_hide_header "Set-Cookie"; proxy_pass_header "Cookie"; proxy_ignore_headers "Cache-Control" "Expires"; proxy_cache_valid 200 301 302 304 5m; proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri"; include /etc/nginx/proxy.nginx.conf; if ( $http_cookie ~* TestCookie ) { return 412; } error_page 412 = @backend; } location @backend { proxy_pass http://127.0.0.1:8080; include /etc/nginx/proxy.nginx.conf; } } } index.php:
Place cookie
Delete cookie


"; ?> cookie.php: Так же вот содержимое кеш-файла, который появляется в /var/lig/nginx/cache ??N??????Nq??82? KEY: GET|||192.168.1.4|/ HTTP/1.1 200 OK Date: Sun, 03 Jul 2011 04:22:47 GMT Server: Apache/2.2.16 X-Powered-By: PHP/5.3.3-7+squeeze1 Content-Length: 330 Connection: close Content-Type: text/html; charset=UTF-8
Place cookie
Delete cookie


?sr?mj0?66c
Буду очень признателен за любую помощь. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211937,211937#msg-211937 From nginx-forum на nginx.us Mon Jul 4 20:04:37 2011 From: nginx-forum на nginx.us (kotz) Date: Mon, 04 Jul 2011 12:04:37 -0400 Subject: =?UTF-8?B?0J3QtSDRgNCw0LHQvtGC0LDRjtGCINC/0LDRgNCw0LzQtdGC0YDRiyDQsiBuZ3gg?= =?UTF-8?B?aHR0cCB4c2x0IG1vZHVsZQ==?= Message-ID: nginx version: nginx/0.8.53 location / { root /vhosts/htdocs; xslt_stylesheet /vhosts/xml/files.xsl uuids='test'; } При запросе вылитает 500-я, в error логе: XPath error : Unfinished literal runtime error Evaluating user parameter uuids failed 2011/07/04 17:37:59 [error] 26531#0: *1 xsltSaveResultToString() returned zero-length result while sending response to client, client: 195.*, server: dev, request: "GET /result.xml HTTP/1.1", host: "dev" 2011/07/04 17:39:40 [error] 26531#0: *2 invalid libxslt parameter "uuids" while sending response to client, client: 195.*, server: dev, request: "GET /result.xml HTTP/1.1", host: "dev" Если параметр не используется преобразование работает... Спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211940,211940#msg-211940 From nginx-forum на nginx.us Tue Jul 5 09:50:53 2011 From: nginx-forum на nginx.us (malphunction) Date: Tue, 05 Jul 2011 01:50:53 -0400 Subject: =?UTF-8?B?0J3QsNGB0YLRgNC+0LnQutCwIG5naW54ICsgcGFzc2VuZ2VyINGBINGA0LDQt9C9?= =?UTF-8?B?0YvQvNC4IHByb2R1Y3Rpb24gZW52aXJvbm1lbnRz?= Message-ID: У меня несколько проектов на базе redmine (около десятка), использую следующий конфиг: location / { passenger_enabled on ; passenger_base_uri /aaa ; passenger_base_uri /bbb ; passenger_base_uri /ccc ; if ($uri ~* "^/aaa/") { rails_env "aaa" ; } if ($uri ~* "^/bbb/") { rails_env "bbb" ; } if ($uri ~* "^/ccc/") { rails_env "ccc" ; } } Как видите, для десяти таких конфигов будет очень много дублирования. В связи с чем несколько вопросов: 1. Как можно сделать установку RAILS_ENV в зависимости от пути (sub-uri)? 2. Пытаюсь написать так: if ($uri ~* "^/(aaa|bbb|ccc)/") { rails_env "$1" ; # или $1 или '$1' } все эти варианты не проходят :( Почему-то вместо $1 не подставляется совпадение и $1 так и остается $1; из-за чего passenger ищет environments/$1.rb. Как правильно задать подстановку? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211947,211947#msg-211947 From a4irkin на gmail.com Tue Jul 5 10:53:12 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Tue, 5 Jul 2011 10:53:12 +0400 Subject: ngx_http_addition_module + X-Accel-Redirect Message-ID: Здравствуйте! При использовании X-Accel-Redirect заголовка (из php), директивы модуля ngx_http_addition_module игнорируются. Посоветуйте, как быть? С уважением, Алексей. From mdounin на mdounin.ru Tue Jul 5 13:49:56 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 5 Jul 2011 13:49:56 +0400 Subject: ngx_http_addition_module + X-Accel-Redirect In-Reply-To: References: Message-ID: <20110705094956.GA42265@mdounin.ru> Hello! On Tue, Jul 05, 2011 at 10:53:12AM +0400, Aleksey Chirkin wrote: > Здравствуйте! > > При использовании X-Accel-Redirect заголовка (из php), директивы > модуля ngx_http_addition_module игнорируются. > > Посоветуйте, как быть? 1. Директивы модуля ngx_http_addition_module должны быть указаны там, куда делается X-Accel-Redirect. 2. Content-Type ответа должен быть указан в addition_types[1]. При этом следует иметь ввиду, что если скрипт, делающий X-Accel-Redirect, возвращает заголовок Content-Type, именно этот заголовок будет использован для ответа после X-Accel-Redirect (и соответственно именно он должен быть в addition_types). [1] http://sysoev.ru/nginx/docs/http/ngx_http_addition_module.html#addition_types Maxim Dounin From nginx-forum на nginx.us Tue Jul 5 14:33:47 2011 From: nginx-forum на nginx.us (gordeev.mv) Date: Tue, 05 Jul 2011 06:33:47 -0400 Subject: ngx_http_access_module Message-ID: <881c8e44cc22771060bc188c8b0a7739.NginxMailingListRussian@forum.nginx.org> Добрый день! Некий хостер скрывает свои vps'ки за проксиком. Получается что nginx всегда скрыт за прокси-сервером и избавиться от хостерского прокси не представляется возможным. $remote_addr - всегда определяется как адрес провайдерского прокси-сервера. $http_x_forwarded_for - правильно определяет адрес клиента. Из-за этой проблемы никак не получается настроить доступы в определенные location. ngx_http_access_module - думает что обращения идут с прокси-сервера. Подскажите пожалуйста как передать адрес клиента из $http_x_forwarded_for в модуль ngx_http_access_module? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211959,211959#msg-211959 From voron на amhost.net Tue Jul 5 14:47:18 2011 From: voron на amhost.net (Alex Vorona) Date: Tue, 05 Jul 2011 13:47:18 +0300 Subject: ngx_http_access_module In-Reply-To: <881c8e44cc22771060bc188c8b0a7739.NginxMailingListRussian@forum.nginx.org> References: <881c8e44cc22771060bc188c8b0a7739.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E12EBB6.3010706@amhost.net> 05.07.2011 13:33, gordeev.mv wrote: [...] > Подскажите пожалуйста как передать > адрес клиента из $http_x_forwarded_for в модуль > ngx_http_access_module? http://sysoev.ru/nginx/docs/http/ngx_http_realip_module.html#real_ip_header real_ip_header X-Forwarded-For From mdounin на mdounin.ru Tue Jul 5 15:06:41 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 5 Jul 2011 15:06:41 +0400 Subject: Nginx + proxy_cache + ssi In-Reply-To: References: Message-ID: <20110705110641.GC42265@mdounin.ru> Hello! On Mon, Jul 04, 2011 at 11:48:53AM -0400, sergeyarl wrote: > Всем привет! > Вопрос возможно глупый, и я не совсем > понимаю что делаю, но тем не менее прошу > помощи комьюнити. > В данный момент пытаюсь разобраться с > кешированием динамического контента в > бекенде при помощи nginx. Т.е. proxy_cache и все > что с этим связанно. > Цель в принципе тривиальная - всем > пользователям отдавать кешированную > страницу, а тем, у кого установлена > специальная кука отдавать уже контент > напрямую с бекенда (в моем случае apache + > php). > Но есть одно но - куку нужно > устанавливать с той же страницы, > которую собираюсь кешировать. Т.е. > нужно кешировать все, кроме блока на > странице, который управляет установкой > куки. Поискал на просторах интернета и > нашел, что подобное можно сделать при > помощи ssi в nginx. Т.е. блок, который мне не > нужно кешировать предлагают вывести в > отдельный инклуд, а в основном файле > сделать на него ссылку вида: > > > Собственно это я и пытаюсь сделать у > себя на тестовом стенде. Разбил > страницу на два файла - один - index.php - > страница которую нужно кешировать, > второй - cookie.php - шапка страницы, > содержащая интерфейс установки куки > (TestCookie ). Так работать не будет: загловок Set-Cookie из include пользователю не уйдёт, к моменту обработки include'ов заголовки уже отправлены пользователю. Можно попробовать сделать наоборот: основной запрос не кешировать и возвращать в нём куку + include на тело, которое кешировать. > Пока в nginx не включено кеширование > инклуд работает, отправляет запросы в > бекенд и я вижу контент в браузере. Как > только включаю кеширование в nginx - то в > браузере получаю пустую страницу, а в > логе nginx следующее: > 2011/07/03 04:22:48 [alert] 2420#0: *3 http request count is zero, > client: 192.168.1.2, server: , request: "GET / HTTP/1.1", subrequest: > "/cookie.php", host: "192.168.1.4", referrer: "http://192.168.1.4/" [...] > proxy_cache_key > "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri"; У вас в proxy_cache_key стоит $request_uri, т.е. URI исходного запроса. Соответственно кеш будет отдавать тот же ответ и для подзапроса /cookie.php, и таким образом имеем бесконечный цикл. Вот тут есть патч, который делает более внятную защиту от подобных циклов: http://nginx.org/pipermail/nginx-devel/2011-June/001001.html Но картина будет отличаться только тем, насколько корректно nginx расскажет вам об этой ошибке. Maxim Dounin From nginx-forum на nginx.us Tue Jul 5 15:33:49 2011 From: nginx-forum на nginx.us (Yaroslav_S) Date: Tue, 05 Jul 2011 07:33:49 -0400 Subject: =?UTF-8?B?UmU6INCk0YDQvtC90YLRjdC90LQg0Log0JDQv9Cw0YfRgyDQuCDQstC40YDRgtGD?= =?UTF-8?B?0LDQu9GM0L3Ri9C1INGF0L7RgdGC0YsgLSDQv9GA0L7QsdC70LXQvNCw?= In-Reply-To: <2c3ccaf49bc9ad397c68587aeba95399.NginxMailingListRussian@forum.nginx.org> References: <2c3ccaf49bc9ad397c68587aeba95399.NginxMailingListRussian@forum.nginx.org> Message-ID: <30ec32c1e4295a5ebb31041d401e5ac0.NginxMailingListRussian@forum.nginx.org> Отвечу сам себе. помогло -A PREROUTING -d 192.168.1.2 -i eth1 -p tcp -m tcp --dport 80 -m state --state NEW -j DNAT --to-destination 192.168.1.2:808 вместо -A PREROUTING -d 192.168.1.2 -i eth1 -p tcp -m tcp --dport 80 -m state --state NEW -j REDIRECT --to-ports 808 Иначе nginx полагает, что запрос пришел на 192.168.0.1 и ведет себя соответственно. Осталось только выяснить, почему с -j REDIRECT поведение на разных ip разное... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211281,211962#msg-211962 From nginx-forum на nginx.us Tue Jul 5 16:04:19 2011 From: nginx-forum на nginx.us (showmelove) Date: Tue, 05 Jul 2011 08:04:19 -0400 Subject: fastcgi_cache Message-ID: <4b4bd06dcad16000f4ff6f0fd26506ef.NginxMailingListRussian@forum.nginx.org> Здравствуйте, у меня одна проблема с fastcgi_cache ... location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; include fastcgi_params; fastcgi_pass_header Set-Cookie; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; fastcgi_cache_key "$server_addr:$server_port$request_uri|$cookie_phpsessid"; fastcgi_cache fastcgi_cache; fastcgi_temp_path /tmp/widework/temp 1 2; fastcgi_cache_use_stale updating error timeout invalid_header http_500; fastcgi_cache_valid 10s; fastcgi_cache_bypass $cookie_nocache; fastcgi_no_cache $cookie_nocache; } В данном случае, если у человека есть кука nocashe он не должен не отдавать кеш, не сохранять кеш, но все равно это делает, подскажите пожалуйста почему ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211964,211964#msg-211964 From mdounin на mdounin.ru Tue Jul 5 16:29:52 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 5 Jul 2011 16:29:52 +0400 Subject: fastcgi_cache In-Reply-To: <4b4bd06dcad16000f4ff6f0fd26506ef.NginxMailingListRussian@forum.nginx.org> References: <4b4bd06dcad16000f4ff6f0fd26506ef.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110705122952.GF42265@mdounin.ru> Hello! On Tue, Jul 05, 2011 at 08:04:19AM -0400, showmelove wrote: > Здравствуйте, у меня одна проблема с > fastcgi_cache ... > > location ~ \.php$ { > root /var/www/html; > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.php; > fastcgi_param SCRIPT_FILENAME > /var/www/html$fastcgi_script_name; > include fastcgi_params; > > fastcgi_pass_header Set-Cookie; > fastcgi_ignore_headers Cache-Control Expires > Set-Cookie; > fastcgi_cache_key > "$server_addr:$server_port$request_uri|$cookie_phpsessid"; > fastcgi_cache fastcgi_cache; > fastcgi_temp_path /tmp/widework/temp 1 2; > fastcgi_cache_use_stale updating error timeout > invalid_header http_500; > fastcgi_cache_valid 10s; > fastcgi_cache_bypass $cookie_nocache; > fastcgi_no_cache $cookie_nocache; > > } > > > В данном случае, если у человека есть > кука nocashe он не должен не отдавать кеш, > не сохранять кеш, но все равно это > делает, подскажите пожалуйста почему ? Скорее всего у вас где-то ошибка, e.g. такая же, как в этом письме: проверяете куку "nocache", а пишите про "nocashe". К сожалению, nginx пока не умеет исправлять опечатки. ;) Покажите debug log, поизучаем. Подробности можно найти тут: http://wiki.nginx.org/Debugging Maxim Dounin From nginx-forum на nginx.us Tue Jul 5 17:10:50 2011 From: nginx-forum на nginx.us (showmelove) Date: Tue, 05 Jul 2011 09:10:50 -0400 Subject: fastcgi_cache In-Reply-To: <4b4bd06dcad16000f4ff6f0fd26506ef.NginxMailingListRussian@forum.nginx.org> References: <4b4bd06dcad16000f4ff6f0fd26506ef.NginxMailingListRussian@forum.nginx.org> Message-ID: <647a586b75788ea6d359938e498193c0.NginxMailingListRussian@forum.nginx.org> Проблема решена, невнимательность, у меня в куках было написано nocaShe а не nocache ... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211964,211969#msg-211969 From nginx-forum на nginx.us Tue Jul 5 18:08:12 2011 From: nginx-forum на nginx.us (temma) Date: Tue, 05 Jul 2011 10:08:12 -0400 Subject: =?UTF-8?B?0J7RgdCy0L7QsdC+0LbQtNC10L3QuNC1INC/0LDQvNGP0YLQuCDQuNC3INC/0YM=?= =?UTF-8?B?0LvQsA==?= Message-ID: Я в своем модуле выделяю память из пула (ngx_palloc/ngx_pcalloc). Неужели ничего не нужно "освобождать" после использования ? Я понимаю что память остается в пуле, но неужели не нужно никак пометить что память больше не нужна ? Чтобы пул мог предоставить её другой запрашиваемой память функции. Как пул знает, что память мне больше не нужна ? Нигде не нашел функции освобождения, только уничтожение всего пула. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211970,211970#msg-211970 From nginx-forum на nginx.us Tue Jul 5 18:08:39 2011 From: nginx-forum на nginx.us (temma) Date: Tue, 05 Jul 2011 10:08:39 -0400 Subject: =?UTF-8?B?UmU6INCU0LvRjyDRh9C10LPQviDQvdGD0LbQtdC9IE5HWCBQT09MIEFMSUdOTUVO?= =?UTF-8?B?VCA/?= In-Reply-To: References: Message-ID: <42959d3ef4fe38992fabe4b41e08a8ad.NginxMailingListRussian@forum.nginx.org> Это нужно чтобы пул был на границе страниц ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211932,211971#msg-211971 From valery+nginxru на grid.net.ru Tue Jul 5 18:10:58 2011 From: valery+nginxru на grid.net.ru (Valery Kholodkov) Date: Tue, 05 Jul 2011 16:10:58 +0200 Subject: =?UTF-8?B?UmU6INCe0YHQstC+0LHQvtC20LTQtdC90LjQtSDQv9Cw0LzRj9GC0Lgg0LjQtyA=?= =?UTF-8?B?0L/Rg9C70LA=?= In-Reply-To: References: Message-ID: <4E131B72.7090503@grid.net.ru> temma пишет: > Я в своем модуле выделяю память из пула > (ngx_palloc/ngx_pcalloc). Неужели ничего не нужно > "освобождать" после использования ? Я > понимаю что память остается в пуле, но > неужели не нужно никак пометить что > память больше не нужна ? Чтобы пул мог > предоставить её другой запрашиваемой > память функции. > > Как пул знает, что память мне больше не > нужна ? Нигде не нашел функции > освобождения, только уничтожение всего > пула. Пул привязан к объекту, который определяет время жизни всех объектов, выделенных в пуле. Таким объектом может быть, например, запрос, соединение, конфигурация или цикл обработки событий. -- Best regards, Valery Kholodkov From mdounin на mdounin.ru Tue Jul 5 18:59:18 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 5 Jul 2011 18:59:18 +0400 Subject: =?UTF-8?B?UmU6INCU0LvRjyDRh9C10LPQviDQvdGD0LbQtdC9IE5HWCBQT09MIEFMSUdOTUVO?= =?UTF-8?B?VCA/?= In-Reply-To: <42959d3ef4fe38992fabe4b41e08a8ad.NginxMailingListRussian@forum.nginx.org> References: <42959d3ef4fe38992fabe4b41e08a8ad.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110705145918.GI42265@mdounin.ru> Hello! On Tue, Jul 05, 2011 at 10:08:39AM -0400, temma wrote: > Это нужно чтобы пул был на границе > страниц ? Нет, для выравнивания по границе страниц нужно ровнять на размер страницы (так, кстати, было до 0.8.31 для пулов размеров в страницу и больше). Выравнивание данных на 16 байт - нужно, чтобы работали быстро всякие SSE команды современных процессоров. Впрочем, современный malloc() там где я смотрел и так возвращает память выровненную на 16 байт, зачем Игорь этого явно требует от системы - не знаю. Возможно имеет смысл на каких-то отдельных OS. Я бы тут скорее ровнял на cacheline size, результат может быть заметно интереснее. Но нужно сначала потестировать. Maxim Dounin From a4irkin на gmail.com Tue Jul 5 19:47:57 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Tue, 5 Jul 2011 19:47:57 +0400 Subject: ngx_http_addition_module + X-Accel-Redirect In-Reply-To: <20110705094956.GA42265@mdounin.ru> References: <20110705094956.GA42265@mdounin.ru> Message-ID: Огромное спасибо, Максим! Я действительно забыл про Content-Type из скрипта. С уважением, Алексей. 5 июля 2011 г. 13:49 пользователь Maxim Dounin написал: > Hello! > > On Tue, Jul 05, 2011 at 10:53:12AM +0400, Aleksey Chirkin wrote: > >> Здравствуйте! >> >> При использовании X-Accel-Redirect заголовка (из php), директивы >> модуля ngx_http_addition_module игнорируются. >> >> Посоветуйте, как быть? > > 1. Директивы модуля ngx_http_addition_module должны быть указаны > там, куда делается X-Accel-Redirect. > > 2. Content-Type ответа должен быть указан в addition_types[1]. > При этом следует иметь ввиду, что если скрипт, делающий > X-Accel-Redirect, возвращает заголовок Content-Type, именно этот > заголовок будет использован для ответа после X-Accel-Redirect (и > соответственно именно он должен быть в addition_types). > > [1] http://sysoev.ru/nginx/docs/http/ngx_http_addition_module.html#addition_types > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > From viktorovsky на gmail.com Tue Jul 5 21:54:19 2011 From: viktorovsky на gmail.com (Valery Viktorovsky) Date: Tue, 5 Jul 2011 20:54:19 +0300 Subject: =?UTF-8?B?0J3QtdCy0L7Qt9C80L7QttC90L4g0YHQutC+0LzQv9C40LvQuNGA0L7QstCw0YI=?= =?UTF-8?B?0YwgbmdpbnggMS4wLjQg0L3QsCBPU1ggbGlvbg==?= Message-ID: <3869B378-E1D9-4B26-BC3B-9E033EBEB501@gmail.com> Привет, обновил OSX до Lion, пытаюсь скомпилить nginx v1.0.4, но безуспешно. получаю: gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ -o objs/src/core/ngx_crypt.o \ src/core/ngx_crypt.c cc1: warnings being treated as errors src/core/ngx_crypt.c: In function ?ngx_crypt_apr1?: src/core/ngx_crypt.c:76: warning: ?MD5_Init? is deprecated (declared at /usr/include/openssl/md5.h:113) src/core/ngx_crypt.c:77: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:78: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:79: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:81: warning: ?MD5_Init? is deprecated (declared at /usr/include/openssl/md5.h:113) src/core/ngx_crypt.c:82: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:83: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:84: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:85: warning: ?MD5_Final? is deprecated (declared at /usr/include/openssl/md5.h:115) src/core/ngx_crypt.c:88: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:95: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:98: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:102: warning: ?MD5_Final? is deprecated (declared at /usr/include/openssl/md5.h:115) src/core/ngx_crypt.c:105: warning: ?MD5_Init? is deprecated (declared at /usr/include/openssl/md5.h:113) src/core/ngx_crypt.c:108: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:111: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:115: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:119: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:123: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:126: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/core/ngx_crypt.c:129: warning: ?MD5_Final? is deprecated (declared at /usr/include/openssl/md5.h:115) src/core/ngx_crypt.c: In function ?ngx_crypt_ssha?: src/core/ngx_crypt.c:215: warning: ?SHA1_Init? is deprecated (declared at /usr/include/openssl/sha.h:121) src/core/ngx_crypt.c:216: warning: ?SHA1_Update? is deprecated (declared at /usr/include/openssl/sha.h:122) src/core/ngx_crypt.c:217: warning: ?SHA1_Update? is deprecated (declared at /usr/include/openssl/sha.h:122) src/core/ngx_crypt.c:218: warning: ?SHA1_Final? is deprecated (declared at /usr/include/openssl/sha.h:123) make[1]: *** [objs/src/core/ngx_crypt.o] Error 1 make: *** [build] Error 2 при попытке компилить с опцией --without-http_auth_basic_module получаю ошибку gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules \ -o objs/src/http/ngx_http_file_cache.o \ src/http/ngx_http_file_cache.c cc1: warnings being treated as errors src/http/ngx_http_file_cache.c: In function ?ngx_http_file_cache_create_key?: src/http/ngx_http_file_cache.c:214: warning: ?MD5_Init? is deprecated (declared at /usr/include/openssl/md5.h:113) src/http/ngx_http_file_cache.c:224: warning: ?MD5_Update? is deprecated (declared at /usr/include/openssl/md5.h:114) src/http/ngx_http_file_cache.c:231: warning: ?MD5_Final? is deprecated (declared at /usr/include/openssl/md5.h:115) make[1]: *** [objs/src/http/ngx_http_file_cache.o] Error 1 make: *** [build] Error 2 система OSX Lion 10.7 с Xcode 4.1 developer preview 7 uname -a Darwin book 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64 openssl version OpenSSL 0.9.8r 8 Feb 2011 И еще заметил, в OS X не существует файла crypt.h, все функции из него содержаться в unistd.h, поэтому может быть стоит удалить проверку в configure, чтобы лишний раз не светилось checking for crypt.h ... not found С уважением, Валерий From a4irkin на gmail.com Wed Jul 6 00:24:49 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Wed, 6 Jul 2011 00:24:49 +0400 Subject: ngx_http_addition_module + X-Accel-Redirect In-Reply-To: References: <20110705094956.GA42265@mdounin.ru> Message-ID: И еще маленький вопрос по теме. На сколько я понял использование модуля ngx_http_addition_module делает невозможным передачу размера файла? Я добавляю блок фиксированного размера, нет ли возможности сохранить передачу размера файла? С уважением, Алексей 5 июля 2011 г. 19:47 пользователь Aleksey Chirkin написал: > Огромное спасибо, Максим! > > Я действительно забыл про Content-Type из скрипта. > > С уважением, > Алексей. > > 5 июля 2011 г. 13:49 пользователь Maxim Dounin написал: >> Hello! >> >> On Tue, Jul 05, 2011 at 10:53:12AM +0400, Aleksey Chirkin wrote: >> >>> Здравствуйте! >>> >>> При использовании X-Accel-Redirect заголовка (из php), директивы >>> модуля ngx_http_addition_module игнорируются. >>> >>> Посоветуйте, как быть? >> >> 1. Директивы модуля ngx_http_addition_module должны быть указаны >> там, куда делается X-Accel-Redirect. >> >> 2. Content-Type ответа должен быть указан в addition_types[1]. >> При этом следует иметь ввиду, что если скрипт, делающий >> X-Accel-Redirect, возвращает заголовок Content-Type, именно этот >> заголовок будет использован для ответа после X-Accel-Redirect (и >> соответственно именно он должен быть в addition_types). >> >> [1] http://sysoev.ru/nginx/docs/http/ngx_http_addition_module.html#addition_types >> >> Maxim Dounin >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru >> > From mdounin на mdounin.ru Wed Jul 6 02:00:13 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 6 Jul 2011 02:00:13 +0400 Subject: =?UTF-8?B?UmU6INCd0LXQstC+0LfQvNC+0LbQvdC+INGB0LrQvtC80L/QuNC70LjRgNC+0LI=?= =?UTF-8?B?0LDRgtGMIG5naW54IDEuMC40INC90LAgT1NYIGxpb24=?= In-Reply-To: <3869B378-E1D9-4B26-BC3B-9E033EBEB501@gmail.com> References: <3869B378-E1D9-4B26-BC3B-9E033EBEB501@gmail.com> Message-ID: <20110705220013.GK42265@mdounin.ru> Hello! On Tue, Jul 05, 2011 at 08:54:19PM +0300, Valery Viktorovsky wrote: > Привет, > > обновил OSX до Lion, пытаюсь скомпилить nginx v1.0.4, но безуспешно. > > получаю: > gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ > -o objs/src/core/ngx_crypt.o \ > src/core/ngx_crypt.c > cc1: warnings being treated as errors > src/core/ngx_crypt.c: In function ?ngx_crypt_apr1?: > src/core/ngx_crypt.c:76: warning: ?MD5_Init? is deprecated (declared at /usr/include/openssl/md5.h:113) ./configure --with-cc-opt="-Wno-deprecated-declarations" [...] > система OSX Lion 10.7 с Xcode 4.1 developer preview 7 > uname -a > Darwin book 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64 > > openssl version > OpenSSL 0.9.8r 8 Feb 2011 В OpenSSL такой глупости нет, это ребята из Купертино развлекаются. > И еще заметил, в OS X не существует файла crypt.h, все функции > из него содержаться в unistd.h, поэтому может быть стоит удалить > проверку в configure, чтобы лишний раз не светилось > checking for crypt.h ... not found На свете существует больше одной операционной системы. Задача configure состоит именно в том, чтобы определить с чем мы имеем дело и как это готовить. Maxim Dounin From viktorovsky на gmail.com Wed Jul 6 02:03:27 2011 From: viktorovsky на gmail.com (Valery Viktorovsky) Date: Wed, 6 Jul 2011 01:03:27 +0300 Subject: =?UTF-8?B?UmU6INCd0LXQstC+0LfQvNC+0LbQvdC+INGB0LrQvtC80L/QuNC70LjRgNC+0LI=?= =?UTF-8?B?0LDRgtGMIG5naW54IDEuMC40INC90LAgT1NYIGxpb24=?= In-Reply-To: <20110705220013.GK42265@mdounin.ru> References: <3869B378-E1D9-4B26-BC3B-9E033EBEB501@gmail.com> <20110705220013.GK42265@mdounin.ru> Message-ID: Получилось скомпилить с CFLAGS="-O3 -w -pipe". > Hello! > > On Tue, Jul 05, 2011 at 08:54:19PM +0300, Valery Viktorovsky wrote: > >> Привет, >> >> обновил OSX до Lion, пытаюсь скомпилить nginx v1.0.4, но безуспешно. >> >> получаю: >> gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs \ >> -o objs/src/core/ngx_crypt.o \ >> src/core/ngx_crypt.c >> cc1: warnings being treated as errors >> src/core/ngx_crypt.c: In function ?ngx_crypt_apr1?: >> src/core/ngx_crypt.c:76: warning: ?MD5_Init? is deprecated (declared at /usr/include/openssl/md5.h:113) > > ./configure --with-cc-opt="-Wno-deprecated-declarations" > > [...] > >> система OSX Lion 10.7 с Xcode 4.1 developer preview 7 >> uname -a >> Darwin book 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64 >> >> openssl version >> OpenSSL 0.9.8r 8 Feb 2011 > > В OpenSSL такой глупости нет, это ребята из Купертино > развлекаются. > >> И еще заметил, в OS X не существует файла crypt.h, все функции >> из него содержаться в unistd.h, поэтому может быть стоит удалить >> проверку в configure, чтобы лишний раз не светилось >> checking for crypt.h ... not found > > На свете существует больше одной операционной системы. Задача > configure состоит именно в том, чтобы определить с чем мы имеем > дело и как это готовить. > Это понятно, имел ввиду убрать эту проверку для osx систем, добавив if. > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Wed Jul 6 09:53:44 2011 From: nginx-forum на nginx.us (achekalin) Date: Wed, 06 Jul 2011 01:53:44 -0400 Subject: =?UTF-8?B?0JrQtdGI0LjRgNC+0LLQsNC90LjQtSDRh9C10YDQtdC3INGB0L7Qt9C00LDQvdC4?= =?UTF-8?B?0LUg0YHRgtCw0YLQuNGH0LXRgdC60LjRhSDRhNCw0LnQu9C+0LI=?= Message-ID: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> Добрый день! Пытаюсь реализовать такую логику работы сайта, страницы на котором меняются достаточно редко: - приходит запрос на страницу - если страницы в виде статической версии (.html) нет, то вызываем php-скрипт генерации страниц, и этот скрипт отдает страницу и подкладывает ее в каталог со статическими страницами. Сайт становится быстрее: кроме того, что скрипт генерации не вызывается на каждый хит, еще и last-modified отдается честный, т.е. браузер и nginx прекрасно договорятся безо всяких expire. Проблема: в Apache я такое делал через указание обработчиком 404 ошибки как раз скрипта генерации страниц, который, срабатывая, отдавал код http 200 (вместо 404) и контент страницы. В nginx как ни пытался (через обработчик 404, через try_files) - не получается. Уверен, что проблема простая. Может, кто-то решал подобное, потому что, в отличии от Apache, я в nginx запутался банально с тем, что скрипт генерации страниц - это .php файл, т.е. его как-то надо отдельно обрабатывать (у меня php работает в Apache, на который проксируются запросы через nginx). Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211980,211980#msg-211980 From nginx-forum на nginx.us Wed Jul 6 10:12:35 2011 From: nginx-forum на nginx.us (Sib) Date: Wed, 06 Jul 2011 02:12:35 -0400 Subject: Nginx rewrite Message-ID: <48203674ec54460a8e5c3b06f527f2e6.NginxMailingListRussian@forum.nginx.org> Здраствуйте. Каке правило rewirite для nginx Order allow,deny Deny from all Для правила Order Deny,Allow Deny from all Я правильно задаю location / { deny all } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211981,211981#msg-211981 From scukonick на gmail.com Wed Jul 6 11:07:31 2011 From: scukonick на gmail.com (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0JzQsNC70L7Qsg==?=) Date: Wed, 6 Jul 2011 11:07:31 +0400 Subject: =?UTF-8?B?UmU6INCa0LXRiNC40YDQvtCy0LDQvdC40LUg0YfQtdGA0LXQtyDRgdC+0LfQtNCw?= =?UTF-8?B?0L3QuNC1INGB0YLQsNGC0LjRh9C10YHQutC40YUg0YTQsNC50LvQvtCy?= In-Reply-To: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> References: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> Message-ID: 6 июля 2011 г. 9:53 пользователь achekalin написал: > Добрый день! > > Пытаюсь реализовать такую логику > работы сайта, страницы на котором > меняются достаточно редко: > > - приходит запрос на страницу > - если страницы в виде статической > версии (.html) нет, то вызываем php-скрипт > генерации страниц, и этот скрипт отдает > страницу и подкладывает ее в каталог со > статическими страницами. > > Сайт становится быстрее: кроме того, > что скрипт генерации не вызывается на > каждый хит, еще и last-modified отдается > честный, т.е. браузер и nginx прекрасно > договорятся безо всяких expire. > > Проблема: в Apache я такое делал через > указание обработчиком 404 ошибки как раз > скрипта генерации страниц, который, > срабатывая, отдавал код http 200 (вместо 404) > и контент страницы. В nginx как ни пытался > (через обработчик 404, через try_files) - не > получается. > > Уверен, что проблема простая. Может, > кто-то решал подобное, потому что, в > отличии от Apache, я в nginx запутался > банально с тем, что скрипт генерации > страниц - это .php файл, т.е. его как-то > надо отдельно обрабатывать (у меня php > работает в Apache, на который проксируются > запросы через nginx). > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211980,211980#msg-211980 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > Здравствуйте! Покажите, пожалуйста, ваш конфиг nginx. А то время летнее, телепаты вы знаете где:) -- Alexey Malov From scukonick на gmail.com Wed Jul 6 11:10:40 2011 From: scukonick на gmail.com (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0JzQsNC70L7Qsg==?=) Date: Wed, 6 Jul 2011 11:10:40 +0400 Subject: =?UTF-8?B?UmU6INCk0YDQvtC90YLRjdC90LQg0Log0JDQv9Cw0YfRgyDQuCDQstC40YDRgtGD?= =?UTF-8?B?0LDQu9GM0L3Ri9C1INGF0L7RgdGC0YsgLSDQv9GA0L7QsdC70LXQvNCw?= In-Reply-To: <30ec32c1e4295a5ebb31041d401e5ac0.NginxMailingListRussian@forum.nginx.org> References: <2c3ccaf49bc9ad397c68587aeba95399.NginxMailingListRussian@forum.nginx.org> <30ec32c1e4295a5ebb31041d401e5ac0.NginxMailingListRussian@forum.nginx.org> Message-ID: 5 июля 2011 г. 15:33 пользователь Yaroslav_S написал: > Отвечу сам себе. > помогло -A PREROUTING -d 192.168.1.2 -i eth1 -p tcp -m tcp > --dport 80 -m state --state NEW -j DNAT --to-destination 192.168.1.2:808 > > вместо -A PREROUTING -d 192.168.1.2 -i eth1 -p tcp -m tcp --dport > 80 -m state --state NEW -j REDIRECT --to-ports 808 > Иначе nginx полагает, что запрос пришел на > 192.168.0.1 и ведет себя соответственно. > Осталось только выяснить, почему с -j > REDIRECT поведение на разных ip разное... > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211281,211962#msg-211962 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > Здесь непонятно, зачем Вам вообще заморочки с iptables, почему нельзя nginx напрямую повесить на нужные адреса и 80-е порты. -- Alexey Malov From voron на amhost.net Wed Jul 6 11:39:52 2011 From: voron на amhost.net (Alex Vorona) Date: Wed, 06 Jul 2011 10:39:52 +0300 Subject: =?UTF-8?B?UmU6INCk0YDQvtC90YLRjdC90LQg0Log0JDQv9Cw0YfRgyDQuCDQstC40YDRgtGD?= =?UTF-8?B?0LDQu9GM0L3Ri9C1INGF0L7RgdGC0YsgLSDQv9GA0L7QsdC70LXQvNCw?= In-Reply-To: References: <2c3ccaf49bc9ad397c68587aeba95399.NginxMailingListRussian@forum.nginx.org> <30ec32c1e4295a5ebb31041d401e5ac0.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E141148.4090909@amhost.net> 06.07.2011 10:10, Алексей Малов wrote: > Здесь непонятно, зачем Вам вообще заморочки с iptables, почему нельзя > nginx напрямую повесить на нужные адреса и 80-е порты. Например иметь apache строго на 80-м порту и иметь разные открывающиеся по IP сайты, конфигурируемые через apache. Этого можно добиться и конфигурацией nginx + apache на 127.0.0.1:80, однако в этом случае генерировать конфигурацию nginx на базе только конфиг-файлов apache не получится, так как в ней не будет информации о дефолтных сайтах на (несуществующих в apache) IP. From temotor на gmail.com Wed Jul 6 12:20:45 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Wed, 6 Jul 2011 12:20:45 +0400 Subject: =?UTF-8?B?UmU6INCa0LXRiNC40YDQvtCy0LDQvdC40LUg0YfQtdGA0LXQtyDRgdC+0LfQtNCw?= =?UTF-8?B?0L3QuNC1INGB0YLQsNGC0LjRh9C10YHQutC40YUg0YTQsNC50LvQvtCy?= In-Reply-To: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> References: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> Message-ID: > Сайт становится быстрее: кроме того, > что скрипт генерации не вызывается на > каждый хит, еще и last-modified отдается > честный, т.е. браузер и nginx прекрасно > договорятся безо всяких expire. > Last-modified нужен чтобы браузер мог сообщить серверу какая версия страницы имеется в кеше браузера, так что сервер сможет послать более короткий ответ 304, вместо полного содержимого. Expires нужен чтобы браузер был уверен, что у него в кеше самая последняя версия страницы и не делал запрос к серверу вообще. Как видите, совершенно разные функции, не взаимозаменяемые. From nefer05 на gmail.com Wed Jul 6 12:30:14 2011 From: nefer05 на gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Wed, 6 Jul 2011 12:30:14 +0400 Subject: =?UTF-8?B?UmU6INCd0LDRgdGC0YDQvtC50LrQsCBuZ2lueCArIHBhc3NlbmdlciDRgSDRgNCw?= =?UTF-8?B?0LfQvdGL0LzQuCBwcm9kdWN0aW9uIGVudmlyb25tZW50cw==?= In-Reply-To: References: Message-ID: use "include", Luke!!! Как раз одно из предназначений - убивать дубли! 2011/7/5 malphunction : > У меня несколько проектов на базе redmine > (около десятка), использую следующий > конфиг: > > Как видите, для десяти таких конфигов > будет очень много дублирования. > > В связи с чем несколько вопросов: > 1. Как можно сделать установку RAILS_ENV в > зависимости от пути (sub-uri)? From nginx-forum на nginx.us Wed Jul 6 13:51:34 2011 From: nginx-forum на nginx.us (kin) Date: Wed, 06 Jul 2011 05:51:34 -0400 Subject: =?UTF-8?B?0J/QtdGA0LXQtNCw0YfQsCDQsdC+0LvRjNGI0LjRhSDRhNCw0LnQu9C+0LIg0L4=?= =?UTF-8?B?0YIgbmdpbngg0LogYXBhY2hl?= Message-ID: Установлен nginx фронтендом для apache. При загрузке на сайт файла большого размера, nginx не отдаёт полностью файл апачу. загрузка обрывается через 5 минут, после начала принятия файла апачем. Похоже, что соединение закрывает nginx, т.к. на прямую в апач можно закачивать и дольше. Как мне узнать, что за таймаут такой - 5 минут? Вроде все уже таймауты, которые описаны, покрутил - изменений нет. В данном случае есть такая особенность: nginx забирает файл из инета быстрее в несколько раз, чем идёт передача файла через локальный интерфейс в апач. Может быть с этим связано... Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211986,211986#msg-211986 From gmm на csdoc.com Wed Jul 6 13:56:39 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 06 Jul 2011 12:56:39 +0300 Subject: use In-Reply-To: References: Message-ID: <4E143157.2090001@csdoc.com> предложение по дальнейшему развитию/улучшению nginx. Игорь, хотелось бы узнать Ваше мнение по этому вопросу. On 06.07.2011 11:30, Роман Москвитин wrote: > use "include", Luke!!! > Как раз одно из предназначений - убивать дубли! include хороший вариант, но далеко не идеальный. причин несколько: 1. для того, чтобы видеть полный конфиг - надо будет постоянно переключаться между несколькими конфигурационными файлами, например, при просмотре через F3 в mc - это надо часто открывать/закрывать несколько файлов, чтобы понять логику работы nginx. или использовать screen с той же целью. таким образом директива include ухудшает читаемость конфига и легкость восприятия. 2. если есть несколько сотен сайтов, то вполне логичным будет делать 1 сайт == 1 конфигурационный файл. использование include увеличивает количество конфигурационных файлов в несколько раз. что также затрудняет легкость понимания конфигурации nginx. а ведь легкость чтения и понимания конфигурации nginx - это насколько я понимаю, один из основных принципов, который положен в основу дизайна синтаксиса конфига nginx, чтобы избежать тех проблем, которые были в конфиге httpd. возможных способов решения этих проблем тоже два: 1. писать свой собственный генератор raw-конфига nginx, при этом можно использовать как угодно компактный DSL (domain-specific language) так что будет соблюдаться принцип "1 сайт == 1 конфиг" и не будет нарушаться принцип DRY (Don't Repeat Yourself). 2. расширить конфиг nginx встроенным средством для подстановки блоков, например: block rails_params { ... } и дальше в конфиге nginx: location / { ... use rails_params; ... } это будет примерно то же самое, что и директива include, только без необходимости выносить блок в отдельный файл. т.е. вместо "include filename;" будет "use blockname;". причем, понять что именно означает use blockname; можно будет гораздо проще, просто задав поиск по конфигу имени этого блока - так можно будет легко увидеть что именно из себя представляет этот блок и где именно он используется. кроме того, блок дает очень важное свойство - инкапсуляции фрагментов конфига внутри одного конфигурационного файла. фрагменты конфига включаемые через include - это примено то же самое, что и глобальные переменные в программе, нельзя понять где именно используется этот файл не просмотрев полностью весь конфиг nginx. следовательно - нельзя будет понять, изменения в этом файле затронут только один/несколько сайтов, или изменения в этом файле (например, fastcgi_params) затронут многие сайты. block - по определению имеет локальную область действия, только в пределах того файла, где он описан, таким образом можно будет легко и спокойно менять содержимое этого блока, точно зная, какие именно части конфига он затронет и каким образом повлияет на поведение nginx. P.S. вместо block и use можно использовать практически любые ключевые слова, например, fragment вместо block. лучших вариантов чем use я пока что придумать не могу. еще один пример: все необходимые варианты настройки fastcgi можно будет описать в одном глобальном файле fastcgi.conf: ------------- block fastcgi_params { ... } block fastcgi_conf { use fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } и тогда конфиг nginx для сайта example.com будет гораздо легче читать: example.com.conf: ----------------- include fastcgi.conf; server { server_name example.com; location / { fastcgi_pass unix:/tmp/fastcgi.socket; use fastcgi_conf; } } т.е. таким образом конфиг nginx будучи C-like по своей сути станет еще больше C-like, значительно увеличится читаемость конфига и легкость сопровождения, потому что таким образом: - можно будет избежать многократных дублей фрагментов конфигурации через copy-paste и необходимости править конфиг во многих местах для внесения одного изменения. - также можно будет избежать фрагментирования конфига не несколько десятков мелких файлов, которые будут включаться через include, если поставить себе цель полностью избавиться от дублей. вместо непростого выбора между этими двумя альтернативами, есть третий путь, который сочетает в себе преимущества обеих вариантов: - как и в первом варианте весь конфиг файла будет в одном файле, а не в детсятке мелких файлов, что улучшает читаемость. - как и во втором варианте - в конфиге не будет избыточности и дублирования фрагментов через copy-paste и при этом будет гораздо проще и легче править конфиг - потому что все будет в одном файле. -- Best regards, Gena From nefer05 на gmail.com Wed Jul 6 14:31:23 2011 From: nefer05 на gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Wed, 6 Jul 2011 14:31:23 +0400 Subject: use In-Reply-To: <4E143157.2090001@csdoc.com> References: <4E143157.2090001@csdoc.com> Message-ID: > include хороший вариант, но далеко не идеальный. > > причин несколько: > > 1. для того, чтобы видеть полный конфиг - надо будет постоянно > переключаться между несколькими конфигурационными файлами, > например, при просмотре через F3 в mc - это надо часто > открывать/закрывать несколько файлов, чтобы понять > логику работы nginx. или использовать screen > с той же целью. таким образом директива include > ухудшает читаемость конфига и легкость восприятия. Ммм... У вас на сервере ограничение на число входов в шелл? К тому же с инклуды (в данном контексте) выносятся базовые, общие для всех директивы. На понимание конфига это никак не влияет. Хотя испортить можно и Машу каслом. > 2. если есть несколько сотен сайтов, то вполне логичным будет > делать 1 сайт == 1 конфигурационный файл. использование include > увеличивает количество конфигурационных файлов в несколько раз. > что также затрудняет легкость понимания конфигурации nginx. На один файл. Хотя наизвращаться можно. > возможных способов решения этих проблем тоже два: > > 1. писать свой собственный генератор raw-конфига nginx, > при этом можно использовать как угодно компактный DSL > (domain-specific language) так что будет соблюдаться > принцип "1 сайт == 1 конфиг" и не будет нарушаться > принцип DRY (Don't Repeat Yourself). > > 2. расширить конфиг nginx встроенным средством > для подстановки блоков, например: Окей! Файл на сто хостов. С выкрутасами. Строк 500 будет? Запросто! И где мы этот блок прописывать будем? С Вашей же логикой - чтим, видим блок, пытаемся вспомнить что там, не получается, скроллим вверх-вниз-вбок, радостно понимаем что тут все хорошо и... Судорожно ищем где же мы были до этого. Либо те же самые screen/второй шелл/whatever... Я не против блока, но данная аргументация слаба и совершенно не решает озвученной проблемы. А с кучей инклудов все еще хуже. В каком файле искать? Или блок виден только из этого же файла? А смысл тогда? Профит есть, но маловат, ИМХО. > location / { >   ... >   use rails_params; >   ... > } > > это будет примерно то же самое, что и директива include, > только без необходимости выносить блок в отдельный файл. > т.е. вместо "include filename;" будет "use blockname;". > > причем, понять что именно означает use blockname; > можно будет гораздо проще, просто задав поиск по конфигу > имени этого блока - так можно будет легко увидеть > что именно из себя представляет этот блок > и где именно он используется. F9-C-F и вы так же сможете увидить где используется инклуд. А проблема скролла в одном шелле добавит гораздо БОЛЬШЕ гемора, нежели инклуд. Особенно в современных редакторах с запоминанием позиции. > кроме того, блок дает очень важное свойство - инкапсуляции > фрагментов конфига внутри одного конфигурационного файла. Инкапсуляция - штука хорошая, нужная и важная. Но смысл именно такого варианта теряется. Для работы с конфигами еще не внедрили массово редакторов с возможностью свертки кода. > фрагменты конфига включаемые через include - это примено > то же самое, что и глобальные переменные в программе, > нельзя понять где именно используется этот файл > не просмотрев полностью весь конфиг nginx. А чем в этом блок отличается? То же самое - только просмотрев ВЕСЬ конфиг мы можем знать где он используется. Ограничение видимости рубит профит в использовании инициализатора того же fcgi - пишем в каждый хост одно и то же. А еще найдется толпа сами знаете кого, которые будут вписывать инклуды в блоки. Вам то пофиг, а Игоря тут закидают вопросами. В общем много чего хорошо расписано, но решения Вами же озвученных проблем, ИМХО, не описано. А некие удобства слишком малы что бы вводить новую сущность. А то так и до указателей, виртуальных вункций и стека вызовов дойдем. C-like во всю глотку. :) From ilya.pirogov на devels.info Wed Jul 6 14:50:46 2011 From: ilya.pirogov на devels.info (=?UTF-8?B?0JjQu9GM0Y8g0J/QuNGA0L7Qs9C+0LI=?=) Date: Wed, 6 Jul 2011 14:50:46 +0400 Subject: use In-Reply-To: <4E143157.2090001@csdoc.com> References: <4E143157.2090001@csdoc.com> Message-ID: 6 июля 2011 г. 13:56 пользователь Gena Makhomed написал: > 2. расширить конфиг nginx встроенным средством > для подстановки блоков, например: > > block rails_params { > ... > } > > и дальше в конфиге nginx: > > location / { > ... > use rails_params; > ... > } > По-моему, отличная идея. Для примера, сейчас мне приходится генерировать по 3-4 файла на каждый домен. По мимо захламления конфигами и ухудшения читаемости, это приводит к еще одной проблеме: приходится указывать для include абсолютный путь, что делает конфиги не переносимыми. Это, конечно, мелочь, но не приятно. А данные блоки бы полностью решили бы эту проблему. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vladimir на greenmice.info Wed Jul 6 18:05:28 2011 From: vladimir на greenmice.info (Vladimir Rusinov) Date: Wed, 6 Jul 2011 18:05:28 +0400 Subject: =?UTF-8?B?UmU6INCa0LXRiNC40YDQvtCy0LDQvdC40LUg0YfQtdGA0LXQtyDRgdC+0LfQtNCw?= =?UTF-8?B?0L3QuNC1INGB0YLQsNGC0LjRh9C10YHQutC40YUg0YTQsNC50LvQvtCy?= In-Reply-To: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> References: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> Message-ID: 2011/7/6 achekalin > Добрый день! > > Пытаюсь реализовать такую логику > работы сайта, страницы на котором > меняются достаточно редко: > > - приходит запрос на страницу > - если страницы в виде статической > версии (.html) нет, то вызываем php-скрипт > генерации страниц, и этот скрипт отдает > страницу и подкладывает ее в каталог со > статическими страницами. > location /pages/ { try_files /path/to/cache/ @backend; } location @backend { proxy_pass/fastcgi_pass/etc. } > Сайт становится быстрее: кроме того, > что скрипт генерации не вызывается на > каждый хит, еще и last-modified отдается > честный, т.е. браузер и nginx прекрасно > договорятся безо всяких expire. > > Проблема: в Apache я такое делал через > указание обработчиком 404 ошибки как раз > скрипта генерации страниц, который, > срабатывая, отдавал код http 200 (вместо 404) > и контент страницы. В nginx как ни пытался > (через обработчик 404, через try_files) - не > получается. > Как пытались? По-моему решение вполне очевидно. Какие проблемы возникли? > я в nginx запутался > банально с тем, что скрипт генерации > страниц - это .php файл, т.е. его как-то > надо отдельно обрабатывать (у меня php > работает в Apache, на который проксируются > запросы через nginx). > можно сделать что-то типа location @gencache { proxy_pass http://apache/gencache.php?page=$uri; } Не уверен что это будет работать, но попробовать можно. -- Vladimir Rusinov http://greenmice.info/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From agsmorodin на gmail.com Wed Jul 6 18:13:11 2011 From: agsmorodin на gmail.com (Alex Smorodin) Date: Wed, 6 Jul 2011 17:13:11 +0300 Subject: =?UTF-8?B?0L/RgNC+0LHQu9C10LzQsCDRgSDRgNC10LvQvtCw0LTQvtC8IG5naW54INC/0L4=?= =?UTF-8?B?0LQgd2lu?= Message-ID: Всем добрый день. Столкнулся с такой проблемой. Есть несколько машин win2003 с nginx на борту. Когда делаю релоад nginx-у мастер процесс падает с ошибкой в eventlog-e "faulting application nginx.exe version 0.0.0.0,faulting module ntdll.dll ...". После чего естественно второй раз уже релоад сделать нельзя. Ситуация проявляется только на одной из машин. пробовал обновлятся до 1.0.4 - результат такой же. Спасибо. -- С уважением, Смородин Александр mailto: agsmorodin на gmail.com ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Wed Jul 6 18:41:56 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 6 Jul 2011 18:41:56 +0400 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LvQtdC80LAg0YEg0YDQtdC70L7QsNC00L7QvCBuZ2lueCA=?= =?UTF-8?B?0L/QvtC0IHdpbg==?= In-Reply-To: References: Message-ID: <20110706144156.GT42265@mdounin.ru> Hello! On Wed, Jul 06, 2011 at 05:13:11PM +0300, Alex Smorodin wrote: > Всем добрый день. Столкнулся с такой проблемой. Есть несколько машин > win2003 с nginx на борту. Когда делаю релоад nginx-у мастер процесс падает > с ошибкой в eventlog-e "faulting application nginx.exe version > 0.0.0.0,faulting module ntdll.dll ...". После чего естественно второй раз > уже релоад сделать нельзя. Ситуация проявляется только на одной из машин. > пробовал обновлятся до 1.0.4 - результат такой же. Можно попробовать сделать debug log[1]. И желательно попытаться понять, чем отличается та машина, на которой проявляется, от всех остальных (e.g. конфиги nginx'а, характер нагрузки, версии системы/библиотек). [1] http://wiki.nginx.org/Debugging Maxim Dounin From unlexx на gmail.com Wed Jul 6 19:58:11 2011 From: unlexx на gmail.com (Un Lexx) Date: Wed, 6 Jul 2011 21:58:11 +0600 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> Message-ID: >Ммм... У вас на сервере ограничение на число входов в шелл? >К тому же с инклуды (в данном контексте) выносятся базовые, общие для >всех директивы. >На понимание конфига это никак не влияет. Хотя испортить можно и Машу каслом. поддерживаю тем более что мешает составлять читаемые названия инклуд файлов? в стиле include all_ip_allowed_view_stat_nginx.ini From roman.vasilyev на yousendit.com Wed Jul 6 19:58:31 2011 From: roman.vasilyev на yousendit.com (Roman Vasilyev) Date: Wed, 6 Jul 2011 08:58:31 -0700 Subject: nginx upload module + subrequest Message-ID: <4E148627.6040306@yousendit.com> Доброго времени суток, В продолжении темы upload module. Столкнулся со следующей проблемой: работаю с модулем подзапроса который мне выдает некую переменную. Которая в дальнейшем используется при разборе файла. кусок моего конфиг файла: location ~ /uwsgi/(.*).py { root /usr/share/nginx/www/uwsgi; set $app $1; uwsgi_pass 127.0.0.1:9001; include uwsgi_params; uwsgi_pass_request_headers off; uwsgi_param SCRIPT_NAME $app; uwsgi_param UWSGI_MODULE $app; uwsgi_param UWSGI_CALLABLE "${app}_handler"; uwsgi_param UWSGI_PYHOME $document_root; uwsgi_param UWSGI_CHDIR $document_root; uwsgi_modifier1 30; } location /test { default_type text/plain; proxy_pass http://127.0.0.1/uwsgi/auth.py?$args; proxy_buffering off; proxy_method GET; proxy_pass_request_headers off; proxy_pass_request_body off; } location /upload { subrequest_set $file_limit /test?$args; upload_pass /uwsgi/upload.py; upload_store /silo/0374-e5500/uploads; upload_state_store /silo/0374-e5500/uploads/states; upload_set_form_field $upload_field_name.name $upload_file_name; upload_set_form_field $upload_field_name.content_type $upload_content_type; upload_set_form_field $upload_field_name.path $upload_tmp_path; upload_aggregate_form_field $upload_field_name.size $upload_file_size; upload_set_form_field USNI $file_limit; } Через curl все работает нормально с файлами любого размера. Если слать файл через браузер, то маленькие файлы(меньше килобайта) проходят, чуть больше - cервер просто не отвечает. Прилагаю два лога, один успешной заливки маленького файла, другой 10 килобайт, который так и не привел к успешному завершению. P.S.: если отключить модуль подзапроса все работает, отключить upload module тоже все работает. Попробовал подменять свой subrequest на eval - тот же резутьтат. ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: error.log.bad.bz2 Type: application/octet-stream Size: 6593 bytes Desc: отсутствует URL: ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: error.log.good.bz2 Type: application/octet-stream Size: 8643 bytes Desc: отсутствует URL: From valery+nginxru на grid.net.ru Wed Jul 6 20:07:19 2011 From: valery+nginxru на grid.net.ru (Valery Kholodkov) Date: Wed, 06 Jul 2011 18:07:19 +0200 Subject: nginx upload module + subrequest In-Reply-To: <4E148627.6040306@yousendit.com> References: <4E148627.6040306@yousendit.com> Message-ID: <4E148837.6060305@grid.net.ru> Roman Vasilyev пишет: > Если слать файл через браузер, то маленькие файлы(меньше килобайта) > проходят, чуть больше - cервер просто не отвечает. Могу предположить, что не обновляется счетчик ссылок r->count. > Прилагаю два лога, один успешной заливки маленького файла, другой 10 > килобайт, который так и не привел к успешному завершению. > > P.S.: если отключить модуль подзапроса все работает, отключить upload > module тоже все работает. Попробовал подменять свой subrequest на eval - > тот же резутьтат. -- Best regards, Valery Kholodkov From roman.vasilyev на yousendit.com Wed Jul 6 20:22:13 2011 From: roman.vasilyev на yousendit.com (Roman Vasilyev) Date: Wed, 6 Jul 2011 09:22:13 -0700 Subject: nginx upload module + subrequest In-Reply-To: <4E148837.6060305@grid.net.ru> References: <4E148627.6040306@yousendit.com> <4E148837.6060305@grid.net.ru> Message-ID: <4E148BB5.6040006@yousendit.com> On 07/06/2011 09:07 AM, Valery Kholodkov wrote: > Roman Vasilyev пишет: >> Если слать файл через браузер, то маленькие файлы(меньше килобайта) >> проходят, чуть больше - cервер просто не отвечает. > > Могу предположить, что не обновляется счетчик ссылок r->count. У меня есть такой код: #if 0 ngx_http_request_t *pr; pr = r->parent; pr->main->count--; #endif если его включаю в ngx_postrequest_handler то вообще все вешается. > >> Прилагаю два лога, один успешной заливки маленького файла, другой 10 >> килобайт, который так и не привел к успешному завершению. >> >> P.S.: если отключить модуль подзапроса все работает, отключить upload >> module тоже все работает. Попробовал подменять свой subrequest на >> eval - тот же резутьтат. > From roman.vasilyev на yousendit.com Wed Jul 6 20:25:34 2011 From: roman.vasilyev на yousendit.com (Roman Vasilyev) Date: Wed, 6 Jul 2011 09:25:34 -0700 Subject: nginx upload module + subrequest In-Reply-To: <4E148BB5.6040006@yousendit.com> References: <4E148627.6040306@yousendit.com> <4E148837.6060305@grid.net.ru> <4E148BB5.6040006@yousendit.com> Message-ID: <4E148C7E.6010802@yousendit.com> И в догонку, основная разница между curl и Chromium по моему мнению во включенном keepalive. On 07/06/2011 09:22 AM, Roman Vasilyev wrote: > On 07/06/2011 09:07 AM, Valery Kholodkov wrote: >> Roman Vasilyev пишет: >>> Если слать файл через браузер, то маленькие файлы(меньше килобайта) >>> проходят, чуть больше - cервер просто не отвечает. >> >> Могу предположить, что не обновляется счетчик ссылок r->count. > У меня есть такой код: > #if 0 > ngx_http_request_t *pr; > > pr = r->parent; > pr->main->count--; > #endif > > если его включаю в ngx_postrequest_handler то вообще все вешается. >> >>> Прилагаю два лога, один успешной заливки маленького файла, другой 10 >>> килобайт, который так и не привел к успешному завершению. >>> >>> P.S.: если отключить модуль подзапроса все работает, отключить >>> upload module тоже все работает. Попробовал подменять свой >>> subrequest на eval - тот же резутьтат. >> > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From gmm на csdoc.com Wed Jul 6 20:50:37 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 06 Jul 2011 19:50:37 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> Message-ID: <4E14925D.3040708@csdoc.com> On 06.07.2011 13:31, Роман Москвитин wrote: >> для того, чтобы видеть полный конфиг - надо будет постоянно >> переключаться между несколькими конфигурационными файлами, >> например, при просмотре через F3 в mc - это надо часто >> открывать/закрывать несколько файлов, чтобы понять >> логику работы nginx. или использовать screen >> с той же целью. таким образом директива include >> ухудшает читаемость конфига и легкость восприятия. > Ммм... У вас на сервере ограничение на число входов в шелл? У меня несколько иного плана проблема - в сутках всего 24 часа. Поэтому совсем не хочется тратить много времени неэффективно. >> расширить конфиг nginx встроенным >> средством для подстановки блоков > Окей! Файл на сто хостов. С выкрутасами. Строк 500 будет? Запросто! > И где мы этот блок прописывать будем? С Вашей же логикой - чтим, видим блок, > пытаемся вспомнить что там, не получается, скроллим вверх-вниз-вбок, радостно > понимаем что тут все хорошо и... Судорожно ищем где же мы были до этого. > Либо те же самые screen/второй шелл/whatever... Средствами vim в одном файле навигация будет происходить гораздо быстрее см. документацию по текстовому редактору http://vimdoc.sourceforge.net/ >> фрагменты конфига включаемые через include - это примено >> то же самое, что и глобальные переменные в программе, >> нельзя понять где именно используется этот файл >> не просмотрев полностью весь конфиг nginx. > А чем в этом блок отличается? областью видимости. у включаемого через include файла - глобальная область видимости, как у глобальной переменной, у фрагмента конфига, заданного в block - локальная область видимости, только от точки объявления и до конца файла если в nginx.conf будет директива include /etc/nginx/conf/virtual/*.conf; и дальше в каталоге /etc/nginx/conf/virtual/ будет по одному конфигурационному файлу на каждый сайт, например, example.com.conf example.net.conf example.org.conf то любой блок, который определен внутри этого локального конфигурационного файла будет иметь область видимости только до конца файла. > Ограничение видимости рубит профит > в использовании инициализатора того же fcgi - пишем в каждый хост одно и то же. смысл этого фрагмента текста я не смог понять. > А еще найдется толпа сами знаете кого, которые будут вписывать инклуды в блоки. если это создает какие-то проблемы, - можно на уровне парсера конфига запретить указывать директиву include внутри фрагмента block { ... }. -- Best regards, Gena From gmm на csdoc.com Wed Jul 6 20:56:20 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 06 Jul 2011 19:56:20 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> Message-ID: <4E1493B4.7060808@csdoc.com> On 06.07.2011 18:58, Un Lexx wrote: >> Ммм... У вас на сервере ограничение на число входов в шелл? >> К тому же с инклуды (в данном контексте) выносятся базовые, общие для >> всех директивы. >> На понимание конфига это никак не влияет. Хотя испортить можно и Машу каслом. > поддерживаю Вы может быть еще голосование устройте на тему того, сколько шеллов мне следует открывать на каждый сервер. > тем более что мешает составлять читаемые названия инклуд файлов? > в стиле > include all_ip_allowed_view_stat_nginx.ini Их количество. Какие это вызывает проблемы - я подробно объяснил в своем исходном сообщении, как и предлагаемые способы их решения. Нередко проще будет продублировать фрагмент конфига через copy/paste, чем выносить повторяющийся блок в отдельный файл и делать его include. Даже Игорь в своем выступлении рекомендует использовать такой способ и редактирование с помощью поиска/замены вместо десятков include-файлов. -- Best regards, Gena From unlexx на gmail.com Wed Jul 6 21:08:56 2011 From: unlexx на gmail.com (Un Lexx) Date: Wed, 6 Jul 2011 23:08:56 +0600 Subject: use In-Reply-To: <4E1493B4.7060808@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> Message-ID: моя хата с краю конечно но >я подробно объяснил в своем исходном сообщении действительно проблемы вы расписали : > для того, чтобы видеть полный конфиг - надо будет постоянно >переключаться между несколькими конфигурационными файлами, т.е. в инклудах вас не устраивает то что вы не знаете что написано внутри этого инклуда >увеличивает количество конфигурационных файлов в несколько раз. >что также затрудняет легкость понимания конфигурации nginx. и то что требуется делать организацию файлов(инклудов) по файловой системе на мой взгляд первую проблему решает внятное именование инклудов вторая проблема действительно требует трудовой и проф дисциплины и ее упрощение или окончательное решение было бы отлично. From gmm на csdoc.com Wed Jul 6 21:41:24 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 06 Jul 2011 20:41:24 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> Message-ID: <4E149E44.6050206@csdoc.com> On 06.07.2011 20:08, Un Lexx wrote: >> для того, чтобы видеть полный конфиг - надо будет постоянно >> переключаться между несколькими конфигурационными файлами, > т.е. в инклудах вас не устраивает то > что вы не знаете что написано внутри этого инклуда нет. больше всего в инклудах не устраивает две вещи: 1. сравнительно большие затраты времени и сил на то, чтобы узнать, что именно написано внутри какого-то файла, включаемого в конфиг сайта. 2. еще большие затраты времени и сил, чтобы понять какие сайты может затронуть модификация инклуда, поскольку все они имеют глобальную область видимости и в общем случае могут быть включены в какой угодно сайт. особенно это актуально, если конфиги nginx на сервере правит не один человек, а несколько админов. Для языков программирования решение уже найдено - локальный контекст и область видимости переменных, для конфига nginx - пока что все фрагменты конфига могут иметь только глобальный контекст и область видимости - как и глобальные переменные в С. чтобы было понятно о чем я говорю - см. например, http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#try_files "Пример использования вместе с Drupal/FastCGI" и "Пример использования вместе с Wordpress и Joomla" в каждом из этих примеров блок с fastcgi_param встречается несколько раз в конфиге одного и того же сайта, но для каждого из сайтов он будет уникальный. так что вынесение общего блока в отдельный файл будет только засорением глобальной области видимости и дробление конфигурации на много мелких файлов, что в результате будет только значительно затруднять и замедлять чтение/понимание такого разделенного конфига. а поскольку конфиг читается намного чаще, чем пишется, то и получается, что проще и надежнее воспользоваться старым индусским методом - через copy / paste, забыв про принцип DRY. В результате - для внесения всего одного изменения в конфигурацию nginx - надо будет править один и тот же конфигурационный файл в нескольких разных местах. т.е. значительно облегчающий жизнь принцип DRY нарушается только для того, чтобы не получить еще более неприятных проблем. выход из состояния такого deadlock`а и тупика - я и предлагаю, с помощью новых директив block blockname { ... } и use blockname; директиву block можно рассматривать как виртуальный файл, который не занимает места в файловой системе, а директива use - это практически то же самое, что и директива include, только вместо имени файла задается имя "виртуального" файла. И в этом случае - не будет проблем из-за большого количества мелких файлов, потому что все будет внутри одного конфига сайта, и не будет проблем из-за повторения фрагментов через copy/paste при внесении изменений в такой конфиг. потому что теперь будет одно логическое изменение конфига == одно физическое изменение. -- Best regards, Gena From roman.vasilyev на yousendit.com Wed Jul 6 22:22:37 2011 From: roman.vasilyev на yousendit.com (Roman Vasilyev) Date: Wed, 6 Jul 2011 11:22:37 -0700 Subject: nginx upload module + subrequest In-Reply-To: <4E148837.6060305@grid.net.ru> References: <4E148627.6040306@yousendit.com> <4E148837.6060305@grid.net.ru> Message-ID: <4E14A7ED.9060209@yousendit.com> Может быть по логу видно какоенибудь странное поведение модуля? Не могли бы мне подсказать в каком направлении двигаться, у меня эта задача приоритетная. On 07/06/2011 09:07 AM, Valery Kholodkov wrote: > Roman Vasilyev пишет: >> Если слать файл через браузер, то маленькие файлы(меньше килобайта) >> проходят, чуть больше - cервер просто не отвечает. > > Могу предположить, что не обновляется счетчик ссылок r->count. > >> Прилагаю два лога, один успешной заливки маленького файла, другой 10 >> килобайт, который так и не привел к успешному завершению. >> >> P.S.: если отключить модуль подзапроса все работает, отключить upload >> module тоже все работает. Попробовал подменять свой subrequest на >> eval - тот же резутьтат. > From devil_inside на gas.starlink.ru Tue Jul 5 23:34:30 2011 From: devil_inside на gas.starlink.ru (Evgeniy M. Solodookhin) Date: Tue, 5 Jul 2011 23:34:30 +0400 Subject: =?UTF-8?B?UmU6INCk0YDQvtC90YLRjdC90LQg0Log0JDQv9Cw0YfRgyDQuCDQstC40YDRgtGD?= =?UTF-8?B?0LDQu9GM0L3Ri9C1INGF0L7RgdGC0YsgLSDQv9GA0L7QsdC70LXQvNCw?= In-Reply-To: <30ec32c1e4295a5ebb31041d401e5ac0.NginxMailingListRussian@forum.nginx.org> References: <2c3ccaf49bc9ad397c68587aeba95399.NginxMailingListRussian@forum.nginx.org> <30ec32c1e4295a5ebb31041d401e5ac0.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110705193430.GA7467@gas.starlink.ru> подозреваю, потому что редирект работает только при завороте пакетов на тот же интерфейс, на который они поступают. ) поетому и сработал днат - как бы проброс меж интерфейсами. если не ошибаюсь, во всех линуксах алайасы сетевух висят в ифконфиге отдельными интерфейсами. ) а ваши несколько предвышепоказанные правила целились на пакеты, летающие через eth1 ) :wq ,-------------[Tue, Jul 05, 2011 at 07:33 -0400, Yaroslav_S:] |Отвечу сам себе. |помогло -A PREROUTING -d 192.168.1.2 -i eth1 -p tcp -m tcp |--dport 80 -m state --state NEW -j DNAT --to-destination 192.168.1.2:808 | |вместо -A PREROUTING -d 192.168.1.2 -i eth1 -p tcp -m tcp --dport |80 -m state --state NEW -j REDIRECT --to-ports 808 |Иначе nginx полагает, что запрос пришел на |192.168.0.1 и ведет себя соответственно. |Осталось только выяснить, почему с -j |REDIRECT поведение на разных ip разное... | |Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211281,211962#msg-211962 | | |_______________________________________________ |nginx-ru mailing list |nginx-ru на nginx.org |http://nginx.org/mailman/listinfo/nginx-ru -- __________ mpd status: [playing] di_music/music/lossy/Tributes/VA_-_A_Metal_Tribute_To_Led_Zeppelin/04 - Doro - Babe Im Gonna Leave You.mp3 ************************************** * jabber: devil_inside на jabber.ru * * Registered linux user #450844 * ************************************** From zzz на zzz.org.ua Wed Jul 6 23:07:13 2011 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Wed, 6 Jul 2011 22:07:13 +0300 Subject: use In-Reply-To: <4E149E44.6050206@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> Message-ID: On 7/6/11, Gena Makhomed wrote: > а поскольку конфиг читается намного чаще, чем пишется, > то и получается, что проще и надежнее воспользоваться > старым индусским методом - через copy / paste, забыв > про принцип DRY. В результате - для внесения всего одного > изменения в конфигурацию nginx - надо будет править один > и тот же конфигурационный файл в нескольких разных местах. А в чем проблема? Читается же намного чаще, чем пишется, можно и потерпеть. К тому же, если у вас будут блоки, то каждый раз придется искать, где же этот блок объявлен. А если он в каком-то инклуде объявлен, что тогда делать? Искать еще и по всем инклудам? From gmm на csdoc.com Wed Jul 6 23:52:40 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 06 Jul 2011 22:52:40 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> Message-ID: <4E14BD08.5090202@csdoc.com> On 06.07.2011 22:07, Alexandr Gomoliako wrote: >> а поскольку конфиг читается намного чаще, чем пишется, >> то и получается, что проще и надежнее воспользоваться >> старым индусским методом - через copy / paste, забыв >> про принцип DRY. В результате - для внесения всего одного >> изменения в конфигурацию nginx - надо будет править один >> и тот же конфигурационный файл в нескольких разных местах. > А в чем проблема? см. последнее предложение процитированного Вами фрагмента текста. > Читается же намного чаще, чем пишется, можно и потерпеть. ну да. только если бы все так думали у нас никогда бы не было Perl. см. http://en.wikipedia.org/wiki/Larry_Wall#Virtues_of_a_programmer > К тому же, если у вас будут блоки, то каждый раз придется искать, > где же этот блок объявлен. вполне очевидно, что блок будет объявлен перед тем как будет впервые использован. в самом начале "локального" конфига virtual host`а, скорее всего. > А если он в каком-то инклуде объявлен, что тогда делать? > Искать еще и по всем инклудам? если с помощью include в конфиг будут включаться только "глобальные" фрагменты конфигов сайтов, которые одинаковые для всех - проблем нет. а "локальные" блоки, область видимости которых ограничивается одной "единицей компиляции" искать нигде не надо. они именно в этом же локальном конфигурационном файле и будут в начале. -- Best regards, Gena From zzz на zzz.org.ua Thu Jul 7 00:14:20 2011 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Wed, 6 Jul 2011 23:14:20 +0300 Subject: use In-Reply-To: <4E14BD08.5090202@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> Message-ID: On 7/6/11, Gena Makhomed wrote: > ну да. только если бы все так думали у нас никогда бы не было Perl. Кстати, у нас же есть перл. Если хочется программирования в кофиге, то можно его и использовать. Всего-то строчку perl nginx.conf.PL > nginx.conf в rc скрипт добавить перед стартом и релоадом и можно генерировать чудеса. From gmm на csdoc.com Thu Jul 7 00:42:32 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 06 Jul 2011 23:42:32 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> Message-ID: <4E14C8B8.5080109@csdoc.com> On 06.07.2011 23:14, Alexandr Gomoliako wrote: > Кстати, у нас же есть перл. Если хочется программирования в кофиге, то > можно его и использовать. Всего-то строчку perl nginx.conf.PL> > nginx.conf в rc скрипт добавить перед стартом и релоадом и можно > генерировать чудеса. я так и делаю, - генерирую чудеса из DSL при релоаде, только на python. но разговор был совсем о другом. -- Best regards, Gena From temotor на gmail.com Thu Jul 7 00:50:24 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Thu, 7 Jul 2011 00:50:24 +0400 Subject: use In-Reply-To: <4E14C8B8.5080109@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E14C8B8.5080109@csdoc.com> Message-ID: >> Кстати, у нас же есть перл. Если хочется программирования в кофиге, то >> можно его и использовать. Всего-то строчку perl nginx.conf.PL> >> nginx.conf в rc скрипт добавить перед стартом и релоадом и можно >> генерировать чудеса. > > я так и делаю, - генерирую чудеса из DSL при релоаде, только на python. > > но разговор был совсем о другом. > Ссылка на гитхаб? From roman.vasilyev на yousendit.com Thu Jul 7 02:18:01 2011 From: roman.vasilyev на yousendit.com (Roman Vasilyev) Date: Wed, 6 Jul 2011 15:18:01 -0700 Subject: nginx upload module + subrequest In-Reply-To: <4E148837.6060305@grid.net.ru> References: <4E148627.6040306@yousendit.com> <4E148837.6060305@grid.net.ru> Message-ID: <4E14DF19.8020404@yousendit.com> Наконец то починилось, у меня этому было причиной sr->discard_body = 1; в подзапросе незнаю насколько это верно, если есть какие то комментирии или замечания пожалуйста поделитесь. On 07/06/2011 09:07 AM, Valery Kholodkov wrote: > Roman Vasilyev пишет: >> Если слать файл через браузер, то маленькие файлы(меньше килобайта) >> проходят, чуть больше - cервер просто не отвечает. > > Могу предположить, что не обновляется счетчик ссылок r->count. > >> Прилагаю два лога, один успешной заливки маленького файла, другой 10 >> килобайт, который так и не привел к успешному завершению. >> >> P.S.: если отключить модуль подзапроса все работает, отключить upload >> module тоже все работает. Попробовал подменять свой subrequest на >> eval - тот же резутьтат. > From ash2kk на gmail.com Thu Jul 7 11:02:16 2011 From: ash2kk на gmail.com (Mikhail Mazursky) Date: Thu, 7 Jul 2011 13:02:16 +0600 Subject: =?UTF-8?B?UmU6INCa0LXRiNC40YDQvtCy0LDQvdC40LUg0YfQtdGA0LXQtyDRgdC+0LfQtNCw?= =?UTF-8?B?0L3QuNC1INGB0YLQsNGC0LjRh9C10YHQutC40YUg0YTQsNC50LvQvtCy?= In-Reply-To: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> References: <72f82c8766e506ac5d6727d499a667f8.NginxMailingListRussian@forum.nginx.org> Message-ID: 6 июля 2011 г. 11:53 пользователь achekalin написал: > Добрый день! > > Пытаюсь реализовать такую логику > работы сайта, страницы на котором > меняются достаточно редко: > > - приходит запрос на страницу > - если страницы в виде статической > версии (.html) нет, то вызываем php-скрипт > генерации страниц, и этот скрипт отдает > страницу и подкладывает ее в каталог со > статическими страницами. Вместо реализации велосипеда возможно вам подойдет proxy_cache? From ash2kk на gmail.com Thu Jul 7 11:07:01 2011 From: ash2kk на gmail.com (Mikhail Mazursky) Date: Thu, 7 Jul 2011 13:07:01 +0600 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LTQsNGH0LAg0LHQvtC70YzRiNC40YUg0YTQsNC50LvQvtCy?= =?UTF-8?B?INC+0YIgbmdpbngg0LogYXBhY2hl?= In-Reply-To: References: Message-ID: 6 июля 2011 г. 15:51 пользователь kin написал: > Установлен nginx фронтендом для apache. > При загрузке на сайт файла большого > размера, nginx не отдаёт полностью файл > апачу. загрузка обрывается через 5 > минут, после начала принятия файла > апачем. > Похоже, что соединение закрывает nginx, > т.к. на прямую в апач можно закачивать и > дольше. > > Как мне узнать, что за таймаут такой - 5 > минут? Вроде все уже таймауты, которые > описаны, покрутил - изменений нет. > > В данном случае есть такая особенность: >  nginx забирает файл из инета быстрее в > несколько раз, чем идёт передача файла > через локальный интерфейс в апач. Может > быть с этим связано... Возможно это клиент (браузер) закрывает соединение с nginx, а nginx, в свою очередь, закрывает соединение с бекэндом. Попробуйте proxy_ignore_client_abort. http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_ignore_client_abort From gmm на csdoc.com Thu Jul 7 12:57:02 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 07 Jul 2011 11:57:02 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E14C8B8.5080109@csdoc.com> Message-ID: <4E1574DE.1060300@csdoc.com> On 06.07.2011 23:50, Sergey Shepelev wrote: >>> Всего-то строчку perl nginx.conf.PL> nginx.conf в rc скрипт >>> добавить перед стартом и релоадом и можно генерировать чудеса. >> я так и делаю, - генерирую чудеса из DSL при релоаде, только на python. > Ссылка на гитхаб? это достаточно специфичный DSL, при обычном использовании nginx для сервера в интернете тот скрипт ничем не поможет. ~35 строк кода на питоне - это не есть проект для гитхаба. =================================== синтаксис DSL: short_name full_url description of this resource например: h http://habrahabr.ru$request_uri? Хабрахабр tr http://rutracker.org/ --- torrents.ru rt http://rutracker.org/ --- torrents.ru sane http://www.sane-project.org/ --- sane wine http://www.winehq.org/ --- wine дальше скрипт на основании этого конфига генерирует фрагмент конфига для nginx и статический html-файл с описаниями, вот для примера фрагменты для хабра: server { server_name h; server_name h.privat.lutsk.ua; rewrite ^ http://habrahabr.ru$request_uri? redirect; } h Хабрахабр дальше, набрав в командной строке браузера h и нажав enter можно сразу попасть на главную страницу хабра, без необходимости вручную набирать полное имя сайта или использовать закладки браузера. =================================== -- Best regards, Gena From agsmorodin на gmail.com Thu Jul 7 13:55:03 2011 From: agsmorodin на gmail.com (Alex Smorodin) Date: Thu, 7 Jul 2011 12:55:03 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LvQtdC80LAg0YEg0YDQtdC70L7QsNC00L7QvCBuZ2lueCA=?= =?UTF-8?B?0L/QvtC0IHdpbg==?= In-Reply-To: <20110706144156.GT42265@mdounin.ru> References: <20110706144156.GT42265@mdounin.ru> Message-ID: Дебаг ничего не дал. Методом проб и ошибок помог ребут сервака. Спасибо. 2011/7/6 Maxim Dounin > Hello! > > On Wed, Jul 06, 2011 at 05:13:11PM +0300, Alex Smorodin wrote: > > > Всем добрый день. Столкнулся с такой проблемой. Есть несколько > машин > > win2003 с nginx на борту. Когда делаю релоад nginx-у мастер процесс > падает > > с ошибкой в eventlog-e "faulting application nginx.exe version > > 0.0.0.0,faulting module ntdll.dll ...". После чего естественно второй > раз > > уже релоад сделать нельзя. Ситуация проявляется только на одной из > машин. > > пробовал обновлятся до 1.0.4 - результат такой же. > > Можно попробовать сделать debug log[1]. И желательно попытаться > понять, чем отличается та машина, на которой проявляется, от всех > остальных (e.g. конфиги nginx'а, характер нагрузки, версии > системы/библиотек). > > [1] http://wiki.nginx.org/Debugging > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > -- С уважением, Смородин Александр mailto: agsmorodin на gmail.com ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Thu Jul 7 14:28:53 2011 From: nginx-forum на nginx.us (Sib) Date: Thu, 07 Jul 2011 06:28:53 -0400 Subject: Nginx rewrite In-Reply-To: <48203674ec54460a8e5c3b06f527f2e6.NginxMailingListRussian@forum.nginx.org> References: <48203674ec54460a8e5c3b06f527f2e6.NginxMailingListRussian@forum.nginx.org> Message-ID: <24d22cfdeba5f9fa6190554ac0e1500a.NginxMailingListRussian@forum.nginx.org> Как запретить выполнение скриптов в определенной директории при использовании php-fpm? location ~ \.php$ Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211981,211999#msg-211999 From nginx-forum на nginx.us Thu Jul 7 17:14:20 2011 From: nginx-forum на nginx.us (chubakarell) Date: Thu, 07 Jul 2011 09:14:20 -0400 Subject: =?UTF-8?B?0J/RgNC+0LrRgdC40YDQvtCy0LDQvdC40LUg0LzQvdC+0LbQtdGB0YLQstCwINC/?= =?UTF-8?B?0L7RgNGC0L7Qsi4=?= Message-ID: <429e996a75af273a9faa6853cdf1f3f2.NginxMailingListRussian@forum.nginx.org> Добрый день. Возникла такая задача : поставить nginx прокси сервером перед двумя нодами. НО надо проксировать 5ть разных портов. То есть в конфигах получаем следующее : upstraem stream_1 { server http://server1:port1; server http://server2:port1; } server { listen port1; proxy_pass http://stream_1; } и повторы для оставшихся четырех портов..... Можно как то применить некую,не известную мне, переменную : $SERVER_PORT и передать ее в upstream? С уважением Дмитрий. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212001,212001#msg-212001 From mdounin на mdounin.ru Thu Jul 7 17:44:25 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Thu, 7 Jul 2011 17:44:25 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INC80L3QvtC20LXRgdGC0LI=?= =?UTF-8?B?0LAg0L/QvtGA0YLQvtCyLg==?= In-Reply-To: <429e996a75af273a9faa6853cdf1f3f2.NginxMailingListRussian@forum.nginx.org> References: <429e996a75af273a9faa6853cdf1f3f2.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110707134425.GA42265@mdounin.ru> Hello! On Thu, Jul 07, 2011 at 09:14:20AM -0400, chubakarell wrote: > Добрый день. > > Возникла такая задача : поставить nginx > прокси сервером перед двумя нодами. НО > надо проксировать 5ть разных портов. То > есть в конфигах получаем следующее : > > upstraem stream_1 { > server http://server1:port1; > server http://server2:port1; > } > > server { > listen port1; > proxy_pass http://stream_1; > } > > и повторы для оставшихся четырех > портов..... И это правильно. > Можно как то применить > некую,не известную мне, переменную : > $SERVER_PORT и передать ее в upstream? Переменная есть[1], но как минимум придётся заводить соответствующее число блоков upstream{} с разными портами в server'ах. Проще и правильнее оставить так, как у вас уже сделано: в независимых блоках server{}. [1] http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#variables Maxim Dounin From nginx-forum на nginx.us Thu Jul 7 22:11:52 2011 From: nginx-forum на nginx.us (locojohn) Date: Thu, 07 Jul 2011 14:11:52 -0400 Subject: =?UTF-8?B?0J/QtdGA0LXQvNC10L3QvdGL0LUg0L7QutGA0YPQttC10L3QuNGPINGB0LXRgNCy?= =?UTF-8?B?0LXRgNCwINCyIHVybC1kZWNvZGVkINGE0L7RgNC80LDRgtC1?= Message-ID: <64699a9c2e13709620ee8318637fb69d.NginxMailingListRussian@forum.nginx.org> Дорогие форумчане! Одна из проблем, с которой я столкнулся при переводе всех наших сайтов с Apache под nginx - это установка правильных путей в PATH_INFO. Дело в том, что согласно спецификации CGI 1.1, PATH_INFO должен содержать url-decoded строку. Это означает, что при запросе: /index.php/folder/My%20Other%20Folder PATH_INFO должен содержать: "/folder/My%20Other%20Folder", а не "/folder/My%24%2420Other%24%2420Folder", как это происходит сейчас! В результате, на PHP стороне приходится делать: $_SERVER['PATH_INFO'] = urldecode(urldecode(urldecode($_SERVER['PATH_INFO']))); Вопрос: возможна ли установка переменных окружения с уже декодированными URL в самом nginx? Иначе скрипты, имеющие в пути пробелы, просто не запускаются. Буду благодарен за любую помощь! Андрей nginx 1.0.4 / php 5.3.6 / php-fpm Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212010,212010#msg-212010 From nginx-forum на nginx.us Fri Jul 8 02:24:11 2011 From: nginx-forum на nginx.us (locojohn) Date: Thu, 07 Jul 2011 18:24:11 -0400 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: Sergey Shepelev Wrote: > Вообще-то перейти с апача > на nginx можно только в том > случае, если там > апач использовался для > раздачи статики и > проксирования на бекенды. > Это > очень редкая ситуация, чаще > всего в апачевых воркерах > выполняются > (весьма успешно) приложения > Perl/PHP/etc. nginx этого делать не > умеет, ????? Ещё как умеет. Летает всё. nginx/fastcgi + php-fpm + php + apc. Andrejs Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211498,212011#msg-212011 From nginx-forum на nginx.us Fri Jul 8 02:51:10 2011 From: nginx-forum на nginx.us (Softer) Date: Thu, 07 Jul 2011 18:51:10 -0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <64699a9c2e13709620ee8318637fb69d.NginxMailingListRussian@forum.nginx.org> References: <64699a9c2e13709620ee8318637fb69d.NginxMailingListRussian@forum.nginx.org> Message-ID: <4bb664694cede2328e6e76db2f61cfc0.NginxMailingListRussian@forum.nginx.org> В php.ini "cgi.fix_pathinfo = 1" оно? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212010,212012#msg-212012 From nginx-forum на nginx.us Fri Jul 8 06:41:59 2011 From: nginx-forum на nginx.us (xganet) Date: Thu, 07 Jul 2011 22:41:59 -0400 Subject: =?UTF-8?B?UmU6INCi0Y7QvdC40L3QsyBuZ2lueA==?= In-Reply-To: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> Message-ID: <7fa8895c919b0d54146ae01a58045cef.NginxMailingListRussian@forum.nginx.org> Un Lexx подскажите пожалуйста как можно узнать установлен у меня модуль ngx_http_limit_req_module или нет, и как его установить? nginx -V nginx version: nginx/0.8.54 built by gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4) TLS SNI support enabled configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211710,212014#msg-212014 From chipitsine на gmail.com Fri Jul 8 08:08:08 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Fri, 8 Jul 2011 10:08:08 +0600 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: 8 июля 2011 г. 4:24 пользователь locojohn написал: > Sergey Shepelev Wrote: > > > Вообще-то перейти с апача > > на nginx можно только в том > > случае, если там > > апач использовался для > > раздачи статики и > > проксирования на бекенды. > > Это > > очень редкая ситуация, чаще > > всего в апачевых воркерах > > выполняются > > (весьма успешно) приложения > > Perl/PHP/etc. nginx этого делать не > > умеет, > > ????? > > Ещё как умеет. Летает всё. nginx/fastcgi + php-fpm > + php + apc. > дьявол кроется в деталях. php-fast-cgi иногда отличается от mod_php, например, я налетал на то, что 6-й друпал под fastcgi подглючивает (и дело было именно в тонких отличиях mod_php от fastcgi). хотя, в целом - да, обычно php "переезжает" под nginx без проблем. > > Andrejs > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,211498,212011#msg-212011 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From temotor на gmail.com Fri Jul 8 10:17:19 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Fri, 8 Jul 2011 10:17:19 +0400 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: 2011/7/8 locojohn : > Sergey Shepelev Wrote: > >> Вообще-то перейти с апача >> на nginx можно только в том >> случае, если там >> апач использовался для >> раздачи статики и >> проксирования на бекенды. >> Это >> очень редкая ситуация, чаще >> всего в апачевых воркерах >> выполняются >> (весьма успешно) приложения >> Perl/PHP/etc. nginx этого делать не >> умеет, > > ????? > > Ещё как умеет.  Летает всё.  nginx/fastcgi + php-fpm > + php + apc. > В данном случае PHP приложения запускает php-fpm. А nginx только проксирует на него запросы по протоколу FastCGI. From nginx-forum на nginx.us Fri Jul 8 10:32:59 2011 From: nginx-forum на nginx.us (xganet) Date: Fri, 08 Jul 2011 02:32:59 -0400 Subject: =?UTF-8?B?UmU6INCi0Y7QvdC40L3QsyBuZ2lueA==?= In-Reply-To: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> Message-ID: <3f057cc3a6cdf444b50645306134e57f.NginxMailingListRussian@forum.nginx.org> Или подскажите пожалуйста как правильно его обновить до новой версии 1.0.4, чтобы в нем был подключен модуль limit_req_zone. Пока забанил диапазон атакующего, до 2000 запросов с него поступало. Ubuntu 8.10, ISP manager Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211710,212016#msg-212016 From mdounin на mdounin.ru Fri Jul 8 10:52:55 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 8 Jul 2011 10:52:55 +0400 Subject: =?UTF-8?B?UmU6INCi0Y7QvdC40L3QsyBuZ2lueA==?= In-Reply-To: <7fa8895c919b0d54146ae01a58045cef.NginxMailingListRussian@forum.nginx.org> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> <7fa8895c919b0d54146ae01a58045cef.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110708065255.GC42265@mdounin.ru> Hello! On Thu, Jul 07, 2011 at 10:41:59PM -0400, xganet wrote: > Un Lexx подскажите пожалуйста как можно > узнать установлен у меня модуль > ngx_http_limit_req_module или нет, и как его > установить? > > > nginx -V > nginx version: nginx/0.8.54 > built by gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4) > TLS SNI support enabled > configure arguments: --prefix=/usr/share/nginx > --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf > --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid > --lock-path=/var/lock/nginx.lock > --http-log-path=/var/log/nginx/access.log > --http-client-body-temp-path=/var/lib/nginx/body > --http-proxy-temp-path=/var/lib/nginx/proxy > --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug > --with-http_stub_status_module --with-http_flv_module > --with-http_ssl_module --with-http_dav_module --with-http_ssl_module > --with-http_realip_module --with-http_addition_module > --with-http_sub_module --with-http_dav_module --with-http_flv_module > --with-http_gzip_static_module --with-http_stub_status_module Модуль limit_req собирается по умолчанию, если его сборку явно не запретить с помощью --without-http_limit_req_module. Т.е. у вас он есть. Maxim Dounin From nginx-forum на nginx.us Fri Jul 8 14:30:02 2011 From: nginx-forum на nginx.us (locojohn) Date: Fri, 08 Jul 2011 06:30:02 -0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <4bb664694cede2328e6e76db2f61cfc0.NginxMailingListRussian@forum.nginx.org> References: <64699a9c2e13709620ee8318637fb69d.NginxMailingListRussian@forum.nginx.org> <4bb664694cede2328e6e76db2f61cfc0.NginxMailingListRussian@forum.nginx.org> Message-ID: <3d569cccf3f4d52a925d13da65d2ae73.NginxMailingListRussian@forum.nginx.org> Увы, cgi.fix_pathinfo=1 уже стоит в php.ini. И это не меняет дело. Дело в том, что, похоже, директива fastcgi_param автоматически url-енкодирует передаваемые строки в окружение. Например: set $test $uri; fastcgi_param TEST $test; если оригинальный $request_uri содержит пробелы, то они снова енкодируются и становятся уже не %20 а %24%24%20, в результате чего TEST не будет содержать правильный путь. Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212010,212023#msg-212023 From igor на sysoev.ru Fri Jul 8 14:43:52 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 8 Jul 2011 14:43:52 +0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <3d569cccf3f4d52a925d13da65d2ae73.NginxMailingListRussian@forum.nginx.org> References: <64699a9c2e13709620ee8318637fb69d.NginxMailingListRussian@forum.nginx.org> <4bb664694cede2328e6e76db2f61cfc0.NginxMailingListRussian@forum.nginx.org> <3d569cccf3f4d52a925d13da65d2ae73.NginxMailingListRussian@forum.nginx.org> Message-ID: <2049DFEC-67B9-4C50-BD13-6F0A5F8EDFCD@sysoev.ru> On Jul 8, 2011, at 14:30 , locojohn wrote: > Увы, cgi.fix_pathinfo=1 уже стоит в php.ini. И это не > меняет дело. Дело в том, что, похоже, > директива fastcgi_param автоматически > url-енкодирует передаваемые строки в > окружение. Например: > > set $test $uri; > fastcgi_param TEST $test; > > если оригинальный $request_uri содержит > пробелы, то они снова енкодируются и > становятся уже не %20 а %24%24%20, в > результате чего TEST не будет содержать > правильный путь. Как именно получается PATH_INFO ? Если rewrite/set, то кодируется. Нужно так: location ~ \.php(/.+)$ { ... fastcgi_param PATH_INFO $path_info; } -- Igor Sysoev http://sysoev.ru/en/ From latypoff на yandex.ru Fri Jul 8 15:30:44 2011 From: latypoff на yandex.ru (Denis F. Latypoff) Date: Fri, 08 Jul 2011 18:30:44 +0700 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <2049DFEC-67B9-4C50-BD13-6F0A5F8EDFCD@sysoev.ru> References: <64699a9c2e13709620ee8318637fb69d.NginxMailingListRussian@forum.nginx.org> <4bb664694cede2328e6e76db2f61cfc0.NginxMailingListRussian@forum.nginx.org> <3d569cccf3f4d52a925d13da65d2ae73.NginxMailingListRussian@forum.nginx.org> <2049DFEC-67B9-4C50-BD13-6F0A5F8EDFCD@sysoev.ru> Message-ID: <353361310124645@web49.yandex.ru> 08.07.2011, 17:44, "Igor Sysoev" : > On Jul 8, 2011, at 14:30 , locojohn wrote: > >>  Увы, cgi.fix_pathinfo=1 уже стоит в php.ini.  И это не >>  меняет дело.  Дело в том, что, похоже, >>  директива fastcgi_param автоматически >>  url-енкодирует передаваемые строки в >>  окружение.   Например: >> >>  set $test $uri; >>  fastcgi_param TEST $test; >> >>  если оригинальный $request_uri содержит >>  пробелы, то они снова енкодируются и >>  становятся уже не %20 а %24%24%20, в >>  результате чего TEST не будет содержать >>  правильный путь. > > Как именно получается PATH_INFO ? Если rewrite/set, > то кодируется. Нужно так: > - location ~ \.php(/.+)$ { + location ~ \.php(?/.+)$ { >       ... -       fastcgi_param  PATH_INFO  $path_info; +       fastcgi_param  PATH_INFO  $PATH_INFO; > } > > -- > Igor Sysoev > http://sysoev.ru/en/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru -- br, Denis F. Latypoff. From nginx-forum на nginx.us Fri Jul 8 17:24:26 2011 From: nginx-forum на nginx.us (Userolog) Date: Fri, 08 Jul 2011 09:24:26 -0400 Subject: =?UTF-8?B?0JfQsNC00LDRh9C60LAg0L/QviBuZ2lueA==?= Message-ID: Программисты тут задачку задали. Есть движок, шаблоны html лежат в /var/www/system/data/www/system.com/templates/ и их несколько и с разными именами, типа /templates/odin/ /templates/dva/ и так далее. И у всех этих шаблонов есть шапка - header.jpg, которая отдаётся из папок /var/www/system/data/www/system.com/templates/имяшаблона/header.jpg Движок позволяет редактировать шапку сайта, но загружает в каталог /var/www/cache/data/www/имясайта/templates/имяшаблона/ Где имя сайта - любой домен (мультисайтовый движок). Таким образом, нужно организовать отдачу nginx так, чтобы если шапка существует в /var/www/cache/data/www/имясайта/templates/имяшаблона/, то берётся оттуда. Если нет, то ищется в /var/www/system/data/www/system.com/templates/. Вопрос: как реализовать? Конфиг nginx server { listen 127.0.0.1:80; server_name system.com www.system.com; rewrite ^(/manager/.*)$ https://$host$1 permanent; error_page 404 = @fallback; #files cache location / { root /var/www/cache/data/www/$host_without_www; try_files $uri @backend; } #end for cache folder location /templates/ { root /var/www/; try_files /cache/data/www/$host/templates$uri /system/data/www/$host/templates$uri @dummy; } location @dummy { return 444; } location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) { proxy_pass http://127.0.0.1:8080; proxy_redirect http://system.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; } set $host_without_www $host; if ($host ~* www\.(.*)) { set $host_without_www $1; } location ~ ^/$ { rewrite .* /index.html; } location @backend { proxy_pass http://127.0.0.1:8080; proxy_redirect http://system.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/system/data/www/system.com; access_log /var/www/httpd-logs/system.com.access.log; location ~ /files { root /var/www/cache/data/www/$host_without_www; } } location @fallback { proxy_pass http://127.0.0.1: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; } } Версия 0.7.67 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212026,212026#msg-212026 From stitrace на gmail.com Fri Jul 8 17:30:26 2011 From: stitrace на gmail.com (Chubarov Andrey) Date: Fri, 8 Jul 2011 17:30:26 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: References: Message-ID: Если я правильно понял задачу, то так? location / { root /var/www/cache/data/www/имясайта/templates/имяшаблона/; error_page 404 =200 /var/www/system/data/www/system.com/templates/; } 8 июля 2011 г. 17:24 пользователь Userolog написал: > Программисты тут задачку задали. Есть > движок, шаблоны html лежат в > /var/www/system/data/www/system.com/templates/ > > и их несколько и с разными именами, > типа > > /templates/odin/ > /templates/dva/ > > и так далее. > > И у всех этих шаблонов есть шапка - > header.jpg, которая отдаётся из папок > /var/www/system/data/www/system.com/templates/имяшаблона/header.jpg > > Движок позволяет редактировать шапку > сайта, но загружает в каталог > /var/www/cache/data/www/имясайта/templates/имяшаблона/ > > Где имя сайта - любой домен > (мультисайтовый движок). > > Таким образом, нужно организовать > отдачу nginx так, чтобы если шапка > существует в > /var/www/cache/data/www/имясайта/templates/имяшаблона/, > то берётся оттуда. Если нет, то ищется в > /var/www/system/data/www/system.com/templates/. > > Вопрос: как реализовать? > > Конфиг nginx > > server { > listen 127.0.0.1:80; > server_name system.com www.system.com; > rewrite ^(/manager/.*)$ https://$host$1 permanent; > error_page 404 = @fallback; > > #files cache > location / { > root /var/www/cache/data/www/$host_without_www; > try_files $uri @backend; > } > #end for cache folder > location /templates/ > { > root /var/www/; > try_files /cache/data/www/$host/templates$uri > /system/data/www/$host/templates$uri @dummy; > } > location @dummy { return 444; } > > location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) { > proxy_pass http://127.0.0.1:8080; > proxy_redirect http://system.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; > } > set $host_without_www $host; > if ($host ~* www\.(.*)) { > set $host_without_www $1; > } > location ~ ^/$ { > rewrite .* /index.html; > } > > location @backend { > proxy_pass http://127.0.0.1:8080; > proxy_redirect http://system.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/system/data/www/system.com; > access_log /var/www/httpd-logs/system.com.access.log; > > location ~ /files { > root /var/www/cache/data/www/$host_without_www; > } > > } > > location @fallback { > proxy_pass http://127.0.0.1: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; > } > } > > > Версия 0.7.67 > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212026,212026#msg-212026 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Fri Jul 8 17:31:24 2011 From: nginx-forum на nginx.us (stitrace) Date: Fri, 08 Jul 2011 09:31:24 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: References: Message-ID: Если я правильно понял задачу, то так? location / { root /var/www/cache/data/www/имясайта/templates/имяшаблона/; error_page 404 =200 /var/www/system/data/www/system.com/templates/; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212026,212027#msg-212027 From nginx-forum на nginx.us Fri Jul 8 17:53:41 2011 From: nginx-forum на nginx.us (Userolog) Date: Fri, 08 Jul 2011 09:53:41 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: References: Message-ID: <52df5b9fb4000d5d8abf69fe372f953b.NginxMailingListRussian@forum.nginx.org> Нужно, чтобы nginx сначала искал шапку в папке /var/www/cache/data/www/имясайта/templates/имяшаблона/, если там нет, тогда в папке /var/www/system/data/www/system.com/templates/имяшаблона/. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212026,212029#msg-212029 From igor.vavrjin на gmail.com Fri Jul 8 18:03:32 2011 From: igor.vavrjin на gmail.com (=?KOI8-R?Q?=E9=C7=CF=D2=D8_=F7=C1=D7=D2=D6=C9=CE?=) Date: Fri, 08 Jul 2011 21:03:32 +0700 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: <52df5b9fb4000d5d8abf69fe372f953b.NginxMailingListRussian@forum.nginx.org> References: <52df5b9fb4000d5d8abf69fe372f953b.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E170E34.9070708@gmail.com> 08.07.2011 20:53, Userolog пишет: > Нужно, чтобы nginx сначала искал шапку в > папке > /var/www/cache/data/www/имясайта/templates/имяшаблона/, > если там нет, тогда в папке > /var/www/system/data/www/system.com/templates/имяшаблона/. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212026,212029#msg-212029 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru А чем не устраивает try_files ? там перечислить все папки в которых искать надо. From nginx-forum на nginx.us Fri Jul 8 18:17:07 2011 From: nginx-forum на nginx.us (stitrace) Date: Fri, 08 Jul 2011 10:17:07 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: References: Message-ID: <7443d213a1ab01f9cc26a6011a98a36b.NginxMailingListRussian@forum.nginx.org> Мммм...так я, вроде бы это и предлагаю, нет? (просто поленился регекспы расставить) location (^ /var/www/cache/data/www/(.*)/templates/(.*)/(.*)\.jpg) { root /var/www/cache/data/www/$1/templates/$2/; #root директория, по умолчанию error_page 404 =200 /var/www/system/data/www/system.com/templates/$2; #если в root файл не находится, берём его из этой папки и возвращаем с кодом 200 OK } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212026,212031#msg-212031 From temotor на gmail.com Fri Jul 8 18:21:14 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Fri, 8 Jul 2011 18:21:14 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: <7443d213a1ab01f9cc26a6011a98a36b.NginxMailingListRussian@forum.nginx.org> References: <7443d213a1ab01f9cc26a6011a98a36b.NginxMailingListRussian@forum.nginx.org> Message-ID: 2011/7/8 stitrace : > Мммм...так я, вроде бы это и предлагаю, > нет? (просто поленился регекспы > расставить) > > location (^ /var/www/cache/data/www/(.*)/templates/(.*)/(.*)\.jpg) { > root /var/www/cache/data/www/$1/templates/$2/; #root > директория, по умолчанию > error_page 404 =200 /var/www/system/data/www/system.com/templates/$2; > #если в root файл не находится, берём его > из этой папки и возвращаем с кодом 200 OK > } > error_page != try_files. location и error_page работает не с файлами, а с урлами. У вас правда такие урлы http://domain/var/www/cache/data/www/... ? From nginx-forum на nginx.us Fri Jul 8 18:33:17 2011 From: nginx-forum на nginx.us (stitrace) Date: Fri, 08 Jul 2011 10:33:17 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: <7443d213a1ab01f9cc26a6011a98a36b.NginxMailingListRussian@forum.nginx.org> References: <7443d213a1ab01f9cc26a6011a98a36b.NginxMailingListRussian@forum.nginx.org> Message-ID: <8b2dea40295c70763fe0a3ab850422fc.NginxMailingListRussian@forum.nginx.org> Да перепутал, это же не урлы. Тогда как сказал предыдущий собеседник, try_files на несколько path. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212026,212032#msg-212032 From nginx-forum на nginx.us Fri Jul 8 18:40:46 2011 From: nginx-forum на nginx.us (Userolog) Date: Fri, 08 Jul 2011 10:40:46 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: <8b2dea40295c70763fe0a3ab850422fc.NginxMailingListRussian@forum.nginx.org> References: <7443d213a1ab01f9cc26a6011a98a36b.NginxMailingListRussian@forum.nginx.org> <8b2dea40295c70763fe0a3ab850422fc.NginxMailingListRussian@forum.nginx.org> Message-ID: То есть получается, что вот это правильно? location /templates/ { root /var/www/; try_files /cache/data/www/$host/templates$uri /system/data/www/$host/templates$uri @dummy; } location @dummy { return 444; } Хотя оно не работает. Вообще запутался... :( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212026,212033#msg-212033 From temotor на gmail.com Fri Jul 8 18:44:02 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Fri, 8 Jul 2011 18:44:02 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: References: <7443d213a1ab01f9cc26a6011a98a36b.NginxMailingListRussian@forum.nginx.org> <8b2dea40295c70763fe0a3ab850422fc.NginxMailingListRussian@forum.nginx.org> Message-ID: 2011/7/8 Userolog : > То есть получается, что вот это > правильно? > > location /templates/ > { > root /var/www/; > try_files /cache/data/www/$host/templates$uri > /system/data/www/$host/templates$uri @dummy; > } > location @dummy { return 444; } > > Хотя оно не работает. Вообще > запутался... :( > В debug логе написано что происходит. "Не работает" - ни о чём не говорит. From nginx-forum на nginx.us Fri Jul 8 20:28:22 2011 From: nginx-forum на nginx.us (burguyd) Date: Fri, 08 Jul 2011 12:28:22 -0400 Subject: =?UTF-8?B?0J/RgNC+0LHQu9C10LzQsCDQutC10YjQuNGA0L7QstCw0L3QuNGPINC80LXQtNC7?= =?UTF-8?B?0LXQvdC90L7Qs9C+INGD0LTQsNC70LXQvdC90L7Qs9C+INGE0YDQvtC90YI=?= =?UTF-8?B?0Y3QvdC00LA=?= Message-ID: <33130d4fdbd60792758b74d3e2abe6e3.NginxMailingListRussian@forum.nginx.org> Приветствую всех. Кротко опишу проблему. В ВУЗе, где я работаю, есть сайт. Расположен он на сервере в DMZ локальной сети. Исходящий канал в интернет всего 0,5 Мбит/с (да такой ужас). Веб сервер смотрит в интернет одним интерфейсом и в локальную сеть другим. Конфигурация сервера: FreeBSD 8.2, Apache 2.2, php 5.2, mysql 5.1. Сам сайт писан на drupal. У сайта есть несколько особенностей: Первая собенность в том, что его очень интенсивно используют юзеры локальной сети. Постоянно добавляют и редактируют контент. Но т.к. в локальной сети коннект 100 Мбит/с, чувствуют они себ достаточно комфортно. Вторая особенность в том, что во время вступительной кампании внешний траффик на сайт резко возрастает. Связано это с тем что в это время абитуриенты ломятся познакомится с ВУЗом и мониторят проходной бал на свои специальности, который меняется в реальном времени на сайте. Из-за значительной нагрузки и узкого канала в интернет у внешних пользователей сайт практически не грузится. Возможности расширить канал пока нет. Мы придумали решение - арендоваnm VPS и повесить на него фронтэндом nginx. Идея состояла в том, чтобы nginx сделал себе полный кеш сайта, и отдавал его, не напрягая фронтэнд. Так и сделали. Однако ощутимого прироста быстродействия не ощутили (проверяли с помощью loadimpact). В связи с этим у меня несколько вопросов. 1. Правильной ли дорогой идем, товарищи? Или есть более изыщное решение. 2. Как заблаговременно сделать локальный кеш на сервере фронтэнде и синхнонизировать его скажем раз в пол-часа? 3. Каз сделать локальный .gz кеш на сервере фронтэнде, чтобы всю статику пусть и зазипованную не нянуть с удаленного сервера, а складировать у nginx'a локально и оттуда отдавать. Спасибо всем кто дочитал. Надеюсь на вашу помощь и снисходительность. Конфиг nginx : user _nginx; worker_processes 1; error_log /var/log/nginx/error.log notice; events { worker_connections 1024; use kqueue; } http { include mime.types; proxy_pass_header Cookie; proxy_cache_path /var/nginx/cache levels=1:2 keys_zone=my_cache:1024m max_size=3092m inactive=1d; proxy_cache my_cache; proxy_cache_valid 200 3h; # раз в три часа будем позволять себе обновлять кеш :) proxy_cache_valid any 0; # не кешируем 500 и 400 ошибки proxy_cache_use_stale updating error timeout invalid_header http_500 http_502 http_503 http_504 http_404; # если ваш скрипт отдал одну из описанных ошибок, ис пользовать вариант из кеша, если он есть, даже если он уже заэкспайрился proxy_cache_key "$scheme$proxy_host$uri$is_args$args$cookie_sid"; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 1500; proxy_send_timeout 1500; proxy_read_timeout 1500; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_temp_path /var/nginx/proxy_temp; default_type application/octet-stream; reset_timedout_connection on; sendfileon; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; gzip on; gzip_static on; gzip_http_version 1.1; gzip_proxiedexpired no-cache no-store private auth; gzip_disable"MSIE [1-6]\."; gzip_vary on; gzip_comp_level 3; gzip_proxied any; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; upstream backend { server 75.205.198.2:80; } listen 80 default; server_name localhost; deny all; } server { listen 80; server_name www.site.ru site.ru; location / { proxy_pass http://backend; access_log off; } location ~ /\.ht { deny all; } } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212034,212034#msg-212034 From kaa на zvuki.ru Fri Jul 8 20:57:17 2011 From: kaa на zvuki.ru (Andrey Kopeyko) Date: Fri, 08 Jul 2011 20:57:17 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: <33130d4fdbd60792758b74d3e2abe6e3.NginxMailingListRussian@forum.nginx.org> References: <33130d4fdbd60792758b74d3e2abe6e3.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E1736ED.4020803@zvuki.ru> 08.07.2011 20:28, burguyd пишет: > Мы придумали решение - арендоваnm VPS и > повесить на него фронтэндом nginx. Идея > состояла в том, чтобы nginx сделал себе > полный кеш сайта, и отдавал его, не > напрягая фронтэнд. > Так и сделали. Однако ощутимого > прироста быстродействия не ощутили > (проверяли с помощью loadimpact). ИМХО, вы недоконфигурили - кеширование и не включилось. > location / { > proxy_pass http://backend; + proxy_cache my_cache; + proxy_cache_valid 200 5m; + proxy_ignore_headers "Cache-Control"; > access_log off; > } Давние мои эксперименты показали, что директивы proxy_cache и proxy_cache_valid надо включать на уровне location. -- Best regards, Andrey Kopeyko From igor.vavrjin на gmail.com Fri Jul 8 23:41:40 2011 From: igor.vavrjin на gmail.com (=?KOI8-R?Q?=E9=C7=CF=D2=D8_=F7=C1=D7=D2=D6=C9=CE?=) Date: Sat, 09 Jul 2011 02:41:40 +0700 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: <33130d4fdbd60792758b74d3e2abe6e3.NginxMailingListRussian@forum.nginx.org> References: <33130d4fdbd60792758b74d3e2abe6e3.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E175D74.3010705@gmail.com> 08.07.2011 23:28, burguyd пишет: > Приветствую всех. > Кротко опишу проблему. > В ВУЗе, где я работаю, есть сайт. ... > Конфиг nginx : ... > proxy_cache_key "$scheme$proxy_host$uri$is_args$args$cookie_sid"; Если у вас для каждого пользователя стартует сессия - то при такой конфигурации ключа кэша - кэши будут практически всегда бесполезны (спасет только от многократного f5) From ne на vbart.ru Sat Jul 9 01:05:22 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sat, 9 Jul 2011 01:05:22 +0400 Subject: =?UTF-8?B?UmU6INCX0LDQtNCw0YfQutCwINC/0L4gbmdpbng=?= In-Reply-To: References: <8b2dea40295c70763fe0a3ab850422fc.NginxMailingListRussian@forum.nginx.org> Message-ID: <201107090105.22599.ne@vbart.ru> On Friday 08 July 2011 18:40:46 Userolog wrote: > location /templates/ > { > root /var/www/; > try_files /cache/data/www/$host/templates$uri > /system/data/www/$host/templates$uri @dummy; > } location ничего не откусывает от $uri, вероятно ваш вариант: location /templates/ { root /var/www/; try_files /cache/data/www/$host$uri /system/data/www/$host$uri @dummy; } -- Валентин Бартенев http://vbart.ru/ From nginx-forum на nginx.us Sat Jul 9 17:59:28 2011 From: nginx-forum на nginx.us (vagner) Date: Sat, 09 Jul 2011 09:59:28 -0400 Subject: =?UTF-8?Q?log_format_=D0=B8_nginx_reload?= Message-ID: День добрый! Спасибо за первосходный web сервер! Подскажите пожалуйста, внеся изменения в директиву конфига log_format и выполнив nginx reload формат отображения логов не изменился. При изменении формата логов необходимо делать restart? И подскажите пожалуйста, в каких случаях необходимо делать рестарт (нашел только что в случае изменения сокета) Спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212043,212043#msg-212043 From nginx-forum на nginx.us Sat Jul 9 18:17:48 2011 From: nginx-forum на nginx.us (vagner) Date: Sat, 09 Jul 2011 10:17:48 -0400 Subject: =?UTF-8?Q?Re=3A_log_format_=D0=B8_nginx_reload?= In-Reply-To: References: Message-ID: Извините, разобрался - проблема была в следующем: log_format '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent $request_time [$upstream_response_time]' '"$http_referer" "$http_user_agent" "$gzip_ratio" ' '"$upstream_addr"'; access_log /var/log/nginx/access.log; а необходимо было так: log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent $request_time [$upstream_response_time]' '"$http_referer" "$http_user_agent" "$gzip_ratio" ' '"$upstream_addr"'; access_log /var/log/nginx/access.log main; Соответственно reload можно делать во всех случаях, кроме изменения параметров сокета. Спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212043,212044#msg-212044 From igor на sysoev.ru Sat Jul 9 19:06:53 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Sat, 9 Jul 2011 19:06:53 +0400 Subject: =?UTF-8?Q?Re=3A_log_format_=D0=B8_nginx_reload?= In-Reply-To: References: Message-ID: On Jul 9, 2011, at 18:17 , vagner wrote: > Извините, разобрался - проблема была в > следующем: > log_format '$remote_addr - $remote_user [$time_local] ' > '"$request" $status $bytes_sent > $request_time [$upstream_response_time]' > '"$http_referer" "$http_user_agent" > "$gzip_ratio" ' > '"$upstream_addr"'; > > access_log /var/log/nginx/access.log; > > а необходимо было так: > log_format main '$remote_addr - $remote_user > [$time_local] ' > '"$request" $status $bytes_sent > $request_time [$upstream_response_time]' > '"$http_referer" "$http_user_agent" > "$gzip_ratio" ' > '"$upstream_addr"'; > > access_log /var/log/nginx/access.log main; > > Соответственно reload можно делать во > всех случаях, кроме изменения > параметров сокета. Спасибо Большинство параметров сокета меняется reload'ом. -- Igor Sysoev http://sysoev.ru/en/ From gmm на csdoc.com Sat Jul 9 19:20:00 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sat, 09 Jul 2011 18:20:00 +0300 Subject: nginx reload vs nginx restart In-Reply-To: References: Message-ID: <4E1871A0.6000802@csdoc.com> On 09.07.2011 16:59, vagner wrote: > подскажите пожалуйста, в каких случаях > необходимо делать рестарт (нашел > только что в случае изменения сокета) возможно я ошибаюсь, но по моему мнению лучше service nginx restart вообще никогда не делать. потому что в этом случае происходит прерывание сервиса, и клиенты увидят в браузере сообщение про ошибку подключения. почему такая функция есть в инит-скрипте? для совместимости с LSB. если будет не достаточно service nginx reload тогда в nginx есть функция service nginx force-reload которая применяется в том числе и для обновления бинарника "на лету", при установке более новой версии nginx через команду yum update nginx есть только один нюанс - команды service nginx reload и service nginx force-reload нельзя выполнять очень часто, особенно если есть запросы от клиентов которые долго обслуживаются. например, отдача статического файла размером несколько гигабайт и т.п. потому что обе эти функции, reload и force-reload запускают новые worker-процессы с новой конфигурацией, а старые - "плавно" завершаются. и при слишком большой частоте reload / force-reload - в системе будет появляться большое количество worker-процессов и может закончиться RAM. документация nginx на эту тему: http://sysoev.ru/nginx/docs/control.html каким образом может быть реализована функция force-reload: ============================================================ instance=nginx upgrade() { configtest_q || return 6 echo -n $"Upgrading $instance: " kill -USR2 `cat /var/run/$instance.pid` sleep 1 if test -f /var/run/$instance.pid.oldbin then kill -QUIT `cat /var/run/$instance.pid.oldbin` success $"$instance online upgrade" echo else failure $"$instance online upgrade" echo exit 1 fi } ============================================================ -- Best regards, Gena From nginx-forum на nginx.us Sun Jul 10 16:42:31 2011 From: nginx-forum на nginx.us (andrey311) Date: Sun, 10 Jul 2011 08:42:31 -0400 Subject: =?UTF-8?B?0J/QvtGH0LXQvNGDINC80L7Qs9GD0YIg0L3QtSDRgNCw0LHQvtGC0LDRgtGMINCy?= =?UTF-8?B?0LvQvtC20LXQvdC90YvQtSBsb2NhdGlvbg==?= Message-ID: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> Не работает location "/i". 404 ошибка. Перерыл всё, что можно, но ни у кого таких проблем какбуд-то нет. Должно быть проблема на поверхности, но не пойму где. nginx версия 1.0.0. Помогите пожалуйста. Привожу точный конфиг: server { listen 80; server_name s2.myninja.ru www.s2.myninja.ru; access_log /home/user/engine-env/logs/access.log; location / { root /home/user/engine-env/projects/s2.myninja.ru; index index.php; if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } } location /i { root /home/user/engine-env/engine/i; } location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml|html|htm|swf)$ { access_log off; expires 30d; add_header Cache-Control public; root /home/user/engine-env/projects/s2.myninja.ru; } location ~ \.mp4$ { root /home/user/engine-env/projects/s2.myninja.ru; mp4; } location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/user/engine-env/projects/s2.myninja.ru$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 2 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location ~ /\.ht { deny all; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212050,212050#msg-212050 From ne на vbart.ru Sun Jul 10 16:53:29 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sun, 10 Jul 2011 16:53:29 +0400 Subject: =?UTF-8?B?UmU6ICDQn9C+0YfQtdC80YMg0LzQvtCz0YPRgiDQvdC1INGA0LDQsdC+0YLQsNGC?= =?UTF-8?B?0Ywg0LLQu9C+0LbQtdC90L3Ri9C1IGxvY2F0aW9u?= In-Reply-To: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> References: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> Message-ID: <201107101653.29485.ne@vbart.ru> On Sunday 10 July 2011 16:42:31 andrey311 wrote: > Не работает location "/i". 404 ошибка. Перерыл > всё, что можно, но ни у кого таких > проблем какбуд-то нет. Должно быть > проблема на поверхности, но не пойму > где. Во-первых, не вижу ни одного вложенного location, а в заголовке "Почему могут не работать вложенные location". Во-вторых, а вы лог смотрели? Там, скорее всего, и содержится ответ на ваш вопрос. -- Валентин Бартенев http://vbart.ru/ From mdounin на mdounin.ru Sun Jul 10 19:16:30 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 10 Jul 2011 19:16:30 +0400 Subject: =?UTF-8?B?UmU6INCf0L7Rh9C10LzRgyDQvNC+0LPRg9GCINC90LUg0YDQsNCx0L7RgtCw0YI=?= =?UTF-8?B?0Ywg0LLQu9C+0LbQtdC90L3Ri9C1IGxvY2F0aW9u?= In-Reply-To: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> References: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110710151630.GL42265@mdounin.ru> Hello! On Sun, Jul 10, 2011 at 08:42:31AM -0400, andrey311 wrote: > Не работает location "/i". 404 ошибка. Перерыл > всё, что можно, но ни у кого таких > проблем какбуд-то нет. Должно быть > проблема на поверхности, но не пойму > где. nginx версия 1.0.0. Помогите > пожалуйста. > > Привожу точный конфиг: > > server { > > listen 80; > server_name s2.myninja.ru www.s2.myninja.ru; > access_log /home/user/engine-env/logs/access.log; > > location / { > root /home/user/engine-env/projects/s2.myninja.ru; > index index.php; > if (!-e $request_filename) { > rewrite ^(.+)$ /index.php?q=$1 last; > } > } > > location /i { > root /home/user/engine-env/engine/i; А у вас точно файлы лежат в .../i/i/? Подозреваю, что правильное решение root /home/user/engine-env/engine; Подробнее можно прочитать тут: http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#root И как уже верно заметил Валентин - смотреть в error_log обычно очень полезно. Maxim Dounin From nginx-forum на nginx.us Mon Jul 11 02:24:35 2011 From: nginx-forum на nginx.us (GigA) Date: Sun, 10 Jul 2011 18:24:35 -0400 Subject: =?UTF-8?B?0L3QsNGB0YLRgNC+0LnQutCwIG5naW54K2FwYWNoZSAtIGh0dHBkLXZob3N0cw==?= Message-ID: <1e4b46355f9c025404a40b13272c58f3.NginxMailingListRussian@forum.nginx.org> Решил поставить Nginx->Apache, nginx является frontend'ом, а apache соответственно backend'ом. Возникла проблема при загрузке картинок т.е. директория сайтов находиться C://www/ сайтов около 5 штук при заходе на сайт под доменом forum.domen.ru Nginx пытается загрузить картинки с адреса C://www/images А должен загружать C://www/forum/images Помогите решить проблему. Мои настройки настройки httpd-vhosts ServerName forum.domen.ru DocumentRoot "C:/www/Forum" ErrorLog "C:/www/Forum/admin/erorr.log" и т.д. Настройки Nginx worker_processes 2; error_log C:/nginx/logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; events { worker_connections 2000; } http { include 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 logs/access.log main; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; keepalive_timeout 2m; #gzip on; server { listen 80; server_name _; #access_log logs/host.access.log main; location ~* \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|js)$ { root C:/www; access_log off; expires 30d; } location ~ /\.ht { deny all; } location / { proxy_pass http://127.0.0.1:81/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; #client_body_temp_path tmp/client_body_temp; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; #proxy_temp_path tmp/proxy_temp; charset koi8-r; } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212053,212053#msg-212053 From nginx-forum на nginx.us Mon Jul 11 03:13:36 2011 From: nginx-forum на nginx.us (e-sota@bk.ru) Date: Sun, 10 Jul 2011 19:13:36 -0400 Subject: =?UTF-8?B?ZGRvcyDQsNGC0LDQutCwINC90LAg0YHQsNC50YIu?= Message-ID: Здравствуйте. Прошу прощения, если не туда написал.... На мой сайт dv-market.ru была ddos атака. Послу установки защиты хостер сайт подключил, но появляется 404 ошибка. Хост говорит(дословно): "Здравствуйте, Мы открыли доступ для данного IP, однако сейчас выдается ошибка 404. Данная ошибка вызвана настройками сервера Nginx, который изменяет что-то в заголовках HTTP-запроса. Обратитесь в поддержку данной компании, чтобы они устранили эту проблему." Помогите решить данный вопрос.. у меня не хватает ни технических средств, ни базы знаний, что и как делать.. ======== Виталий Dv-Market.ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212054,212054#msg-212054 From askjuise на gmail.com Mon Jul 11 04:25:29 2011 From: askjuise на gmail.com (Alexander Petrovsky) Date: Mon, 11 Jul 2011 08:25:29 +0800 Subject: =?UTF-8?B?UmU6IGRkb3Mg0LDRgtCw0LrQsCDQvdCwINGB0LDQudGCLg==?= In-Reply-To: References: Message-ID: > Здравствуйте. Прошу прощения, если не > туда написал.... > На мой сайт dv-market.ru была ddos атака. Послу > установки защиты хостер сайт > подключил, но появляется 404 ошибка. Хост > говорит(дословно): > > "Здравствуйте, > Мы открыли доступ для данного IP, однако > сейчас выдается ошибка 404. Данная > ошибка вызвана настройками сервера Nginx, > который изменяет что-то в заголовках > HTTP-запроса. Обратитесь в поддержку > данной компании, чтобы они устранили > эту проблему." > > Помогите решить данный вопрос.. у меня > не хватает ни технических средств, ни > базы знаний, что и как делать.. Вообще, у вас apache не может найти каталог /shop/ -- Петровский Александр / Alexander Petrovsky, Jabber: juise на jabber.ru Phone: +7 914 8 820 815 From nginx-forum на nginx.us Mon Jul 11 07:26:54 2011 From: nginx-forum на nginx.us (Mitry Matyushkov) Date: Sun, 10 Jul 2011 23:26:54 -0400 Subject: =?UTF-8?B?UmU6INCf0L7Rh9C10LzRgyDQvNC+0LPRg9GCINC90LUg0YDQsNCx0L7RgtCw0YI=?= =?UTF-8?B?0Ywg0LLQu9C+0LbQtdC90L3Ri9C1IGxvY2F0aW9u?= In-Reply-To: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> References: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> Message-ID: andrey311 Wrote: ------------------------------------------------------- > Не работает location "/i". 404 > ошибка. Перерыл всё, что > можно, но ни у кого таких > проблем какбуд-то нет. > Должно быть проблема на > поверхности, но не пойму > где. nginx версия 1.0.0. Помогите > пожалуйста. ... > location /i { > root /home/user/engine-env/engine/i; > } Если у Вас контент для /i лежит в '/home/user/engine-env/engine/i', то root /home/user/engine-env/engine; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212050,212055#msg-212055 From nginx-forum на nginx.us Mon Jul 11 07:28:18 2011 From: nginx-forum на nginx.us (andrey311) Date: Sun, 10 Jul 2011 23:28:18 -0400 Subject: =?UTF-8?B?UmU6INCf0L7Rh9C10LzRgyDQvNC+0LPRg9GCINC90LUg0YDQsNCx0L7RgtCw0YI=?= =?UTF-8?B?0Ywg0LLQu9C+0LbQtdC90L3Ri9C1IGxvY2F0aW9u?= In-Reply-To: References: <1bb1a52c51f5034239147e9bc06c7e81.NginxMailingListRussian@forum.nginx.org> Message-ID: <1e51b20de7bd63916ede7173afea4894.NginxMailingListRussian@forum.nginx.org> спасибо. уже понял это. вот конечный переделанный вариант: server { listen 80; server_name s2.myninja.ru www.s2.myninja.ru; access_log /home/user/engine-env/logs/access.log; location @php { rewrite ^/(.*)$ /index.php?q=$1 last; } location / { root /home/user/engine-env/projects/s2.myninja.ru; index index.php; try_files $uri @php; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/user/engine-env/projects/s2.myninja.ru$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 2 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|xml|html|htm|swf)$ { access_log off; expires 30d; add_header Cache-Control public; } location ~ \.mp4$ { mp4; } location ~ /\.ht { deny all; } } location /i/ { access_log off; expires 30d; add_header Cache-Control public; root /home/user/engine-env/engine; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212050,212056#msg-212056 From voron на amhost.net Mon Jul 11 11:10:38 2011 From: voron на amhost.net (Alex Vorona) Date: Mon, 11 Jul 2011 10:10:38 +0300 Subject: =?UTF-8?B?UmU6INC90LDRgdGC0YDQvtC50LrQsCBuZ2lueCthcGFjaGUgLSBodHRwZC12aG9z?= =?UTF-8?B?dHM=?= In-Reply-To: <1e4b46355f9c025404a40b13272c58f3.NginxMailingListRussian@forum.nginx.org> References: <1e4b46355f9c025404a40b13272c58f3.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E1AA1EE.4090803@amhost.net> 11.07.2011 01:24, GigA wrote: [...] > настройки httpd-vhosts > > > ServerName forum.domen.ru > DocumentRoot "C:/www/Forum" > ErrorLog "C:/www/Forum/admin/erorr.log" > > > и т.д. > То есть несколько vhosts > Настройки Nginx [...] А тут всего один vhost. Сделайте также несколько, как и в apache, с нужными server_name. From nefer05 на gmail.com Mon Jul 11 12:05:27 2011 From: nefer05 на gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Mon, 11 Jul 2011 12:05:27 +0400 Subject: use In-Reply-To: <4E14BD08.5090202@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> Message-ID: >> К тому же, если у вас будут блоки, то каждый раз придется искать, >> где же этот блок объявлен. > > вполне очевидно, > что блок будет объявлен перед тем как будет впервые использован. > в самом начале "локального" конфига virtual host`а, скорее всего. Кому очевидно? Вам лично? А напарнику - может быть совсем иначе. Тут Вы просто переводите решение проблем в русло не техническое. При этом аналогичные решения для include отвергаете. > если с помощью include в конфиг будут включаться только "глобальные" > фрагменты конфигов сайтов, которые одинаковые для всех - проблем нет. > > а "локальные" блоки, область видимости которых ограничивается > одной "единицей компиляции" искать нигде не надо. они именно > в этом же локальном конфигурационном файле и будут в начале. И тут опять то же самое. Последовательнее надо быть. > -- > Best regards, >  Gena > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > From gmm на csdoc.com Mon Jul 11 15:09:11 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Mon, 11 Jul 2011 14:09:11 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> Message-ID: <4E1AD9D7.5060805@csdoc.com> On 11.07.2011 11:05, Роман Москвитин wrote: >>> К тому же, если у вас будут блоки, то каждый раз придется искать, >>> где же этот блок объявлен. >> вполне очевидно, >> что блок будет объявлен перед тем как будет впервые использован. >> в самом начале "локального" конфига virtual host`а, скорее всего. > Кому очевидно? тому, кто прочитал предыдущие сообщения на эту тему и понял, в чем состоит суть предложения с block/use. если block fastcgi_params включается через include fastcgi.conf - это некоторый аналог #include в языке программирования С. если блок определен в конфигурационном файле example.com, то его область видимости от начала точки объявления и до конца этого локального конфига -- Best regards, Gena From ne на vbart.ru Mon Jul 11 15:46:38 2011 From: ne на vbart.ru (=?utf-8?b?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 11 Jul 2011 15:46:38 +0400 Subject: =?UTF-8?B?Zm9ydW0ubmdpbngub3JnICDQvtGC0LrQu9GO0YfQuNC70YHRjyDQvtGCINGA0LA=?= =?UTF-8?B?0YHRgdGL0LvQutC4INCyINC+0LTQvdC+0YHRgtC+0YDQvtC90L3QtdC8INC/?= =?UTF-8?B?0L7RgNGP0LTQutC1Pw==?= Message-ID: <201107111546.39274.ne@vbart.ru> Обратите внимание: http://forum.nginx.org/read.php?21,212050 на эту тему вчера было дано два ответа из рассылки: мой и Максима Дунина. Однако, их там нет. А только сообщения от Mitry Matyushkov и автора, написанные с форума. Далее http://forum.nginx.org/read.php?21,212054 пустует, а в рассылке ответ был дан. http://forum.nginx.org/read.php?21,212053 - аналогично. -- Валентин Бартенев From nginx-forum на nginx.us Mon Jul 11 17:14:05 2011 From: nginx-forum на nginx.us (achekalin) Date: Mon, 11 Jul 2011 09:14:05 -0400 Subject: =?UTF-8?B?UmU6INCa0LXRiNC40YDQvtCy0LDQvdC40LUg0YfQtdGA0LXQtyDRgdC+0LfQtNCw?= =?UTF-8?B?0L3QuNC1INGB0YLQsNGC0LjRh9C10YHQutC40YUg0YTQsNC50LvQvtCy?= In-Reply-To: References: Message-ID: Не разобрался, видимо, с настройками оповещения, и получил недельный дайджест ответов только сейчас. Сорри за молчание. Задача была такая: есть на странице указания на загрузку многих css-файлов. С целью ускорения работы они были заменены на одну строку, ссылающуюся на загрузку общего minified файла (при помощи http://code.google.com/p/minify/). Работает неплохо, кроме того, что сборка этого *.min.css файлика происходит при каждом запросе страницу - и этим занимается backend-Апач. Идея возникла такая: в неком каталоге (точнее, по некому uri) хранить готовый min.css файл, и, когда на него приходит запрос, отдавать либо его (статический), либо (если файлика нет) передавать запрос на backend. Так и не справился, выкрутился проще, в самом коде страницы создаю css-файл, и пересоздаю, если его еще не создано. Не так изящно, как ожидалось, но работает... Попробую, как доберусь, ваши варианты, мне, почему-то кажется, что я что-то подобное уже пробовал (сейчас не у терминала, не проверю старые версии). Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211980,212194#msg-212194 From jim на ohlste.in Mon Jul 11 17:22:17 2011 From: jim на ohlste.in (Jim Ohlstein) Date: Mon, 11 Jul 2011 09:22:17 -0400 Subject: =?UTF-8?B?UmU6IGZvcnVtLm5naW54Lm9yZyAg0L7RgtC60LvRjtGH0LjQu9GB0Y8g0L7RgiA=?= =?UTF-8?B?0YDQsNGB0YHRi9C70LrQuCDQsiDQvtC00L3QvtGB0YLQvtGA0L7QvdC90LU=?= =?UTF-8?B?0Lwg0L/QvtGA0Y/QtNC60LU/?= In-Reply-To: <201107111546.39274.ne@vbart.ru> References: <201107111546.39274.ne@vbart.ru> Message-ID: <4E1AF909.80405@ohlste.in> On 7/11/11 7:46 AM, Валентин Бартенев wrote: > Обратите внимание: http://forum.nginx.org/read.php?21,212050 > на эту тему вчера было дано два ответа из рассылки: мой и Максима Дунина. > Однако, их там нет. А только сообщения от Mitry Matyushkov и автора, > написанные с форума. > > Далее http://forum.nginx.org/read.php?21,212054 > пустует, а в рассылке ответ был дан. > > http://forum.nginx.org/read.php?21,212053 - аналогично. > Пожалуйста, простите мой русский, я использую Google Translate. Спасибо за этот доклад. Около 10 дней назад у нас был сбой жесткого диска на сервер, на котором расположен сайт. Это потребовало, чтобы я переустановить операционную систему. Когда я сделал это, я, вероятно, ввели неправильный пароль, в результате чего эти сообщения не импортируются через POP. Я исправил ошибку и импортного 104 сообщения, которые были на сервере. Тем не менее, форум программное обеспечение использует время они импортируются как раз размещены таким образом они будут не в порядке. Это не может быть легко исправлена. Я прошу прощения за неудобства. > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru -- Jim Ohlstein From pansg на yandex.ru Mon Jul 11 17:40:29 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Mon, 11 Jul 2011 17:40:29 +0400 Subject: =?UTF-8?B?0KDQtdC00LjRgNC10LrRgiDQtNC40YDQtdC60YLQvtGA0LjQuCDQvdCwINGD0YA=?= =?UTF-8?B?0Lsg0YHQviDRgdC70LXRiNC10Lwg0LIg0LrQvtC90YbQtQ==?= Message-ID: <806761310391630@web87.yandex.ru> Добрвый день всем. Возник вопрос в целях SEO, как лучше организовать редирект с запроса без слеша на конце, на запрос со слешом на конце (ессно это касается запросов идущих на директорию) например: www.domain.com/shop -> www.domain.com/shop/ И это, естественно не должно срабатывать, на урлы такого вида: www.domain.com , www.domain.com/news/news.html или www.domain.com/file.php?get_parametrs Спасибо! From temotor на gmail.com Mon Jul 11 17:45:06 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Mon, 11 Jul 2011 17:45:06 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <806761310391630@web87.yandex.ru> References: <806761310391630@web87.yandex.ru> Message-ID: 2011/7/11 Глазачев Владимир : > Добрвый день всем. > > > Возник вопрос в целях SEO, как лучше организовать редирект с запроса без слеша на конце, на запрос со слешом на конце  (ессно это касается запросов идущих на директорию) например: > > > > www.domain.com/shop -> www.domain.com/shop/ > > И это, естественно не должно срабатывать, на урлы такого вида: www.domain.com , www.domain.com/news/news.html или www.domain.com/file.php?get_parametrs > > > > Спасибо! > Где вы нашли рекомендацию "в целях SEO добавить слеши"? From pansg на yandex.ru Mon Jul 11 17:47:25 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Mon, 11 Jul 2011 17:47:25 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: References: <806761310391630@web87.yandex.ru> Message-ID: <487351310392046@web35.yandex.ru> Не хочу сейчас разводить полемику по этому поводу, но seo выдал рекоммендацию :) 11.07.2011, 17:45, "Sergey Shepelev" : > 2011/7/11 Глазачев Владимир ;: > >>  Добрвый день всем. >> >>  Возник вопрос в целях SEO, как лучше организовать редирект с запроса без слеша на конце, на запрос со слешом на конце  (ессно это касается запросов идущих на директорию) например: >> >>  www.domain.com/shop -> www.domain.com/shop/ >> >>  И это, естественно не должно срабатывать, на урлы такого вида: www.domain.com , www.domain.com/news/news.html или www.domain.com/file.php?get_parametrs >> >>  Спасибо! > > Где вы нашли рекомендацию "в целях SEO добавить слеши"? > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From pavel2000 на ngs.ru Mon Jul 11 18:12:10 2011 From: pavel2000 на ngs.ru (Pavel V.) Date: Mon, 11 Jul 2011 21:12:10 +0700 Subject: use In-Reply-To: <4E1AD9D7.5060805@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E1AD9D7.5060805@csdoc.com> Message-ID: <168929646.20110711211210@ngs.ru> Здравствуйте, Gena. Вы писали 11 июля 2011 г., 18:09:11: > On 11.07.2011 11:05, Роман Москвитин wrote: >>>> К тому же, если у вас будут блоки, то каждый раз придется искать, >>>> где же этот блок объявлен. >>> вполне очевидно, >>> что блок будет объявлен перед тем как будет впервые использован. >>> в самом начале "локального" конфига virtual host`а, скорее всего. >> Кому очевидно? > тому, кто прочитал предыдущие сообщения на эту тему > и понял, в чем состоит суть предложения с block/use. > если block fastcgi_params включается через include fastcgi.conf > - это некоторый аналог #include в языке программирования С. > если блок определен в конфигурационном файле example.com, то его область > видимости от начала точки объявления и до конца этого локального конфига ИМХО: Желание / видение - навеяное модулем mod_macro - это не то, что обсуждается в треде. Если кто-то понимает это именно как mod_macro - это не верно :-) Чего действительно бы хотелось, и что бы было действительно понятным: Хотелось бы иметь возможность описывать и использовать некий блок директив конфигурации, _НО_: область видимости/применимости блока - server {}. server { .... block backend_A { ... backend_directives ; ... } ... other blocks if needed ... location / { use backend_A; } location ^~ /media/ { use backend_B; } location ~* \.(gif|jpg|jpeg|bmp|js|css|swf|mp3|mp4|avi|mkv|mov|png|ico|wav|wmv|wma|mpeg|rar|zip|mpg|flv|flac|fla|rm|asf|cur)$ { try_files $uri @backend; } location @backend { use backend_A; } .... } Большинство директив, конечно, наследуются с уровня server на уровень location, но для формирования групп директив - наличие директив block и use было бы удобным. Повторюсь еще раз - область видимости блока ограничена - server. -- С уважением, Pavel mailto:pavel2000 на ngs.ru From mdounin на mdounin.ru Mon Jul 11 18:34:35 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 11 Jul 2011 18:34:35 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <806761310391630@web87.yandex.ru> References: <806761310391630@web87.yandex.ru> Message-ID: <20110711143434.GR42265@mdounin.ru> Hello! On Mon, Jul 11, 2011 at 05:40:29PM +0400, Глазачев Владимир wrote: > Добрвый день всем. > > Возник вопрос в целях SEO, как лучше организовать редирект с > запроса без слеша на конце, на запрос со слешом на конце (ессно > это касается запросов идущих на директорию) например: > > www.domain.com/shop -> www.domain.com/shop/ > > И это, естественно не должно срабатывать, на урлы такого вида: > www.domain.com , www.domain.com/news/news.html или > www.domain.com/file.php?get_parametrs Для статики nginx так поступает автоматически, т.е. если он обнаруживает запрос к каталогу без "/" в конце - будет возвращён редирект на тот же адрес, но с добавлением "/". Если у вас url'ы обрабатываются бекендом - это либо надо делать бекендом же, либо тщательно выписывать nginx'у правила что и куда редиректить (иначе откуда он узнает, что "new.shop" редиректить надо, а "new.shtml" - не надо?). Наиболее простой (и безопасный) способ "тщательного выписывания правил" - сделать location'ы под нужные url'ы вида location /shop/ { fastcgi_pass/proxy_pass/... } В этом случае запрос к "/shop" будет трактоваться как запрос к каталогу, и nginx автоматически сделает редирект на "/shop/". Maxim Dounin From gmm на csdoc.com Mon Jul 11 18:56:49 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Mon, 11 Jul 2011 17:56:49 +0300 Subject: use In-Reply-To: <168929646.20110711211210@ngs.ru> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E1AD9D7.5060805@csdoc.com> <168929646.20110711211210@ngs.ru> Message-ID: <4E1B0F31.7090407@csdoc.com> On 11.07.2011 17:12, Pavel V. wrote: > Желание / видение - навеяное модулем mod_macro - это не то, что > обсуждается в треде. Если кто-то понимает это именно как mod_macro - > это не верно :-) http://www.cri.ensmp.fr/~coelho/mod_macro/ - там есть достаточно интересные идеи, которые можно применить в nginx, только вместо html-like синтаксиса httpd использовать C-like синтаксис. > Хотелось бы иметь возможность описывать и использовать некий блок > директив конфигурации, _НО_: область видимости/применимости блока - server {}. почему такое ограничение - только внутри блока server? > server { > .... > > block backend_A { > ... > backend_directives ; > ... > } > > ... other blocks if needed ... > > location / { > use backend_A; > } > location ^~ /media/ { > use backend_B; > } такая реализация новой директивы block будет очень сильно ограниченной по своим возможностям и поэтому мало полезной. > Большинство директив, конечно, наследуются с уровня server на > уровень location, но для формирования групп директив - наличие > директив block и use было бы удобным. тогда уж лучше реализовывать более общую директиву macro/use, с параметрами, как это сделано в апачевском модуле mod_macro. -- Best regards, Gena From pansg на yandex.ru Mon Jul 11 19:15:55 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Mon, 11 Jul 2011 19:15:55 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <20110711143434.GR42265@mdounin.ru> References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> Message-ID: <512921310397356@web32.yandex.ru> 11.07.2011, 18:34, "Maxim Dounin" : > Hello! > > On Mon, Jul 11, 2011 at 05:40:29PM +0400, Глазачев Владимир wrote: > >>  Добрвый день всем. >> >>  Возник вопрос в целях SEO, как лучше организовать редирект с >>  запроса без слеша на конце, на запрос со слешом на конце  (ессно >>  это касается запросов идущих на директорию) например: >> >>  www.domain.com/shop -> www.domain.com/shop/ >> >>  И это, естественно не должно срабатывать, на урлы такого вида: >>  www.domain.com , www.domain.com/news/news.html или >>  www.domain.com/file.php?get_parametrs > > Для статики nginx так поступает автоматически, т.е. если он > обнаруживает запрос к каталогу без "/" в конце - будет возвращён > редирект на тот же адрес, но с добавлением "/". Да, совершенно верно, для статики nginx так и поступает, но в данном случае такие линки обрабатываются бакендом. Конечно, если решение не найдется на фронтенде так и поступим > Если у вас url'ы обрабатываются бекендом - это либо надо делать > бекендом же, либо тщательно выписывать nginx'у правила что и куда > редиректить (иначе откуда он узнает, что "new.shop" редиректить > надо, а "new.shtml" - не надо?). Ну тут вроде-бы довольно простые правила, что-то вроде: редиректить все, кроме ссылок заканчивающихся на файл ( т.е. с раширением) , все кроме каталогов заканчивающихся на слеш, урлов с гет параметрами > > Наиболее простой (и безопасный) способ "тщательного выписывания > правил" - сделать location'ы под нужные url'ы вида > >     location /shop/ { >         fastcgi_pass/proxy_pass/... >     } > > В этом случае запрос к "/shop" будет трактоваться как запрос к > каталогу, и nginx автоматически сделает редирект на "/shop/". > Да, верно, но таких локейшенов будет великое множество и при изменении придется переделывать конфиг, хочется конечно избежать таких ситуаций, по-возможности, что-то универсальное > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Mon Jul 11 20:16:16 2011 From: nginx-forum на nginx.us (temma) Date: Mon, 11 Jul 2011 12:16:16 -0400 Subject: =?UTF-8?B?UmU6INCe0YHQstC+0LHQvtC20LTQtdC90LjQtSDQv9Cw0LzRj9GC0Lgg0LjQtyA=?= =?UTF-8?B?0L/Rg9C70LA=?= In-Reply-To: References: Message-ID: <9b8f65c350ac101456f59f39591901a2.NginxMailingListRussian@forum.nginx.org> И как этот обьект определяет, что память из пула нужно освободить ? Что она уже не нужна ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211970,212211#msg-212211 From igor на sysoev.ru Mon Jul 11 20:54:41 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 11 Jul 2011 20:54:41 +0400 Subject: =?UTF-8?B?UmU6INCe0YHQstC+0LHQvtC20LTQtdC90LjQtSDQv9Cw0LzRj9GC0Lgg0LjQtyA=?= =?UTF-8?B?0L/Rg9C70LA=?= In-Reply-To: <9b8f65c350ac101456f59f39591901a2.NginxMailingListRussian@forum.nginx.org> References: <9b8f65c350ac101456f59f39591901a2.NginxMailingListRussian@forum.nginx.org> Message-ID: <7F56E0F0-6E3F-480B-BBFB-1932EB079E3F@sysoev.ru> On Jul 11, 2011, at 20:16 , temma wrote: > И как этот обьект определяет, что > память из пула нужно освободить ? Что > она уже не нужна ? Когда объект удаляется, он удаляет пул. -- Igor Sysoev http://sysoev.ru/en/ From igor на sysoev.ru Mon Jul 11 20:56:30 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 11 Jul 2011 20:56:30 +0400 Subject: =?UTF-8?B?UmU6INCe0YHQstC+0LHQvtC20LTQtdC90LjQtSDQv9Cw0LzRj9GC0Lgg0LjQtyA=?= =?UTF-8?B?0L/Rg9C70LA=?= In-Reply-To: References: Message-ID: <55D39DCE-6D7C-494E-A399-902E783042BF@sysoev.ru> On Jul 5, 2011, at 18:08 , temma wrote: > Я в своем модуле выделяю память из пула > (ngx_palloc/ngx_pcalloc). Неужели ничего не нужно > "освобождать" после использования ? Я > понимаю что память остается в пуле, но > неужели не нужно никак пометить что > память больше не нужна ? Чтобы пул мог > предоставить её другой запрашиваемой > память функции. Можно освобождать большие куски с помощью ngx_pfree(). Мелкие освобождать не имеет смысла. > Как пул знает, что память мне больше не > нужна ? Нигде не нашел функции > освобождения, только уничтожение всего > пула. Пул не знает, за него знает его владелец, который удаляет весь пул. -- Igor Sysoev http://sysoev.ru/en/ From pavel2000 на ngs.ru Mon Jul 11 21:01:45 2011 From: pavel2000 на ngs.ru (Pavel V.) Date: Tue, 12 Jul 2011 00:01:45 +0700 Subject: use In-Reply-To: <4E1B0F31.7090407@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E1AD9D7.5060805@csdoc.com> <168929646.20110711211210@ngs.ru> <4E1B0F31.7090407@csdoc.com> Message-ID: <806243759.20110712000145@ngs.ru> Здравствуйте, Gena. Вы писали 11 июля 2011 г., 21:56:49: > On 11.07.2011 17:12, Pavel V. wrote: >> Желание / видение - навеяное модулем mod_macro - это не то, что >> обсуждается в треде. Если кто-то понимает это именно как mod_macro - >> это не верно :-) > http://www.cri.ensmp.fr/~coelho/mod_macro/ > - там есть достаточно интересные идеи, которые можно применить в nginx, > только вместо html-like синтаксиса httpd использовать C-like синтаксис. >> Хотелось бы иметь возможность описывать и использовать некий блок >> директив конфигурации, _НО_: область видимости/применимости блока - server {}. > почему такое ограничение - только внутри блока server? Целенаправленное ограничение, чтобы описание блока директив было "недалеко" от использования. Для прочего - использовать include. Это предложение/ограничение также развивает ваше: >2. если есть несколько сотен сайтов, то вполне логичным будет >делать 1 сайт == 1 конфигурационный файл. использование include >увеличивает количество конфигурационных файлов в несколько раз. А также вопрос области применимости: >следовательно - нельзя будет понять, изменения в этом файле >затронут только один/несколько сайтов, или изменения в этом >файле (например, fastcgi_params) затронут многие сайты. >block - по определению имеет локальную область действия, >только в пределах того файла, где он описан, таким образом >можно будет легко и спокойно менять содержимое этого блока, >точно зная, какие именно части конфига он затронет >и каким образом повлияет на поведение nginx. но "чуть-чуть по-другому", не вводя лишней области видимости "текущий файл". Думаю, наличие дополнительной функции в виде директивы block, доступной для объявления в любом месте конфига, директивы use, доступной для использования в любом месте, ниже чем директива block, а также правила переопределения директив "директива, описанная ниже по конфигу имеет более высокий приоритет", могло бы несколько изменить подход к написанию конфигов (это было бы нечто, подобное конфигурированию nagios). Хотел было привести пример конфига, но пока фантазировал, реально извратил его вложенностями и перекрытиями. Думаю, что вовремя остановился :-) Тут-то и возникает вопрос - всем ли действительно нужен perl-like подход "есть много путей сделать это" при конфигурировании nginx, насколько сильно вздрогнет рассылка решая головоломки "откуда какая директива сработала". В случае глобального применения такого "блока", но без поддержки параметров - особого смысла в директивах block/use вроде и нет, можно обходиться include. Когда внутри одного server {} требуется несколько групп почти одинаковых директив, то выносить одну-две директивы в отдельный файл для include - это неудобно и "увеличивает количество конфигурационных файлов в несколько раз". На данный момент - приходится их копировать из location в location. C наличием директив block/use было бы удобнее, и /для моих задач/ достаточно возможности описывать блоки ровно внутри server{}. > тогда уж лучше реализовывать более общую директиву macro/use, > с параметрами, как это сделано в апачевском модуле mod_macro. > такая реализация новой директивы block будет очень сильно > ограниченной по своим возможностям и поэтому мало полезной. Да, пожалуй. В принципе, впоследствии, ограниченная директива block {} может выродиться в mod_macro, по синтаксису block backend_A ($varA, $varB) { ... block_backend_A_directives_that_uses_VARS; ... } location / { use backend_A $someVarForA 10; } И тогда подобного рода ( только внутри server {} ) ограничение применимости станет слишком сильным ограничением. -- С уважением, Pavel mailto:pavel2000 на ngs.ru From nginx-forum на nginx.us Mon Jul 11 21:05:54 2011 From: nginx-forum на nginx.us (locojohn) Date: Mon, 11 Jul 2011 13:05:54 -0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <353361310124645@web49.yandex.ru> References: <353361310124645@web49.yandex.ru> Message-ID: Denis F. Latypoff Wrote: ------------------------------------------------------- > > Как именно получается > PATH_INFO ? Если rewrite/set, > > то кодируется. Нужно так: > > > - location ~ \.php(/.+)$ { > + location ~ \.php(?/.+)$ { > >       ... > -       fastcgi_param  PATH_INFO >  $path_info; > +       fastcgi_param  PATH_INFO >  $PATH_INFO; > > } location ~ ^(\/index\.php|.+\.php)(?[^?]*)$ { fastcgi_param PATH_INFO $PATH_INFO; ... } результат обращения к [code]http://www.mysite.com/phpinfo.php/test%20pathinfo%20with%20spaces[/code], где phpinfo.php script распечатывает значения переменных: [...] _SERVER["PATH_INFO"] /test%252520pathinfo%252520with%252520spaces [...] Всё равно енкодируется.... Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212010,212215#msg-212215 From igor на sysoev.ru Mon Jul 11 21:12:59 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 11 Jul 2011 21:12:59 +0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: References: <353361310124645@web49.yandex.ru> Message-ID: On Jul 11, 2011, at 21:05 , locojohn wrote: > Denis F. Latypoff Wrote: > ------------------------------------------------------- > >>> Как именно получается >> PATH_INFO ? Если rewrite/set, >>> то кодируется. Нужно так: >>> >> - location ~ \.php(/.+)$ { >> + location ~ \.php(?/.+)$ { >>> ... >> - fastcgi_param PATH_INFO >> $path_info; >> + fastcgi_param PATH_INFO >> $PATH_INFO; >>> } > > location ~ ^(\/index\.php|.+\.php)(?[^?]*)$ { > fastcgi_param PATH_INFO $PATH_INFO; > ... > } > > результат обращения к > [code]http://www.mysite.com/phpinfo.php/test%20pathinfo%20with%20spaces[/code], > где phpinfo.php script распечатывает значения > переменных: > > [...] > _SERVER["PATH_INFO"] /test%252520pathinfo%252520with%252520spaces > [...] > > Всё равно енкодируется.... У меня в отладочном логе передаётся: fastcgi param: "PATH_INFO: /test pathinfo with spaces" -- Igor Sysoev http://sysoev.ru/en/ From chipitsine на gmail.com Mon Jul 11 21:24:32 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Mon, 11 Jul 2011 23:24:32 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: <33130d4fdbd60792758b74d3e2abe6e3.NginxMailingListRussian@forum.nginx.org> References: <33130d4fdbd60792758b74d3e2abe6e3.NginxMailingListRussian@forum.nginx.org> Message-ID: 1) канал 512к - это не НАСТОЛЬКО плохо, имхо, у вас просто неоптимально сделанный сайт. дайте адрес боевого сайта, хочу там кое-что посмотреть ? ну сколько туда абитуриентов зайдет ? даже 10 одновременно - это фигня по мелочам 2) вы не указали gzip_min_length, на маленьких объектах у вас будет увеличение размера, пропишите, например, 500 3) отдавать gzip статикой - это актуально при больших потоках данных. одно ядро прекрасно жмет на уровне компрессии 6 со скоростью 24 мегабайта в секунду. с вашими каналами можно не заморачиваться )) причем, если жмется потоком (от апстрима), то диск не нагружается, а если отдавать компресованную статику, то нагружается. 4) на свежих версиях nginx можно писать (причем, это разрешает отдачу сжатого контента в сторону MSIE6sp2): gzip_disable msie6; еще можно по мелочам пройтись, но, мне кажется, смысла особого нет, дайте лучше ссылку на сайт, посмотрим его на предмет явных косяков. не верю я, что через 512к нельзя нормально отдавать сайт с оценками. 8 июля 2011 г. 22:28 пользователь burguyd написал: > Приветствую всех. > Кротко опишу проблему. > В ВУЗе, где я работаю, есть сайт. > Расположен он на сервере в DMZ локальной > сети. Исходящий канал в интернет всего > 0,5 Мбит/с (да такой ужас). Веб сервер > смотрит в интернет одним интерфейсом и > в локальную сеть другим. > Конфигурация сервера: FreeBSD 8.2, Apache 2.2, php > 5.2, mysql 5.1. Сам сайт писан на drupal. > У сайта есть несколько особенностей: > Первая собенность в том, что его очень > интенсивно используют юзеры локальной > сети. Постоянно добавляют и > редактируют контент. Но т.к. в локальной > сети коннект 100 Мбит/с, чувствуют они > себ достаточно комфортно. > Вторая особенность в том, что во время > вступительной кампании внешний > траффик на сайт резко возрастает. > Связано это с тем что в это время > абитуриенты ломятся познакомится с > ВУЗом и мониторят проходной бал на свои > специальности, который меняется в > реальном времени на сайте. > Из-за значительной нагрузки и узкого > канала в интернет у внешних > пользователей сайт практически не > грузится. > Возможности расширить канал пока нет. > Мы придумали решение - арендоваnm VPS и > повесить на него фронтэндом nginx. Идея > состояла в том, чтобы nginx сделал себе > полный кеш сайта, и отдавал его, не > напрягая фронтэнд. > Так и сделали. Однако ощутимого > прироста быстродействия не ощутили > (проверяли с помощью loadimpact). > В связи с этим у меня несколько > вопросов. > 1. Правильной ли дорогой идем, товарищи? > Или есть более изыщное решение. > 2. Как заблаговременно сделать > локальный кеш на сервере фронтэнде и > синхнонизировать его скажем раз в > пол-часа? > 3. Каз сделать локальный .gz кеш на > сервере фронтэнде, чтобы всю статику > пусть и зазипованную не нянуть с > удаленного сервера, а складировать у > nginx'a локально и оттуда отдавать. > Спасибо всем кто дочитал. Надеюсь на > вашу помощь и снисходительность. > Конфиг nginx : > user _nginx; > worker_processes 1; > error_log /var/log/nginx/error.log notice; > events { > worker_connections 1024; > use kqueue; > } > http { > include mime.types; > proxy_pass_header Cookie; > proxy_cache_path /var/nginx/cache > levels=1:2 keys_zone=my_cache:1024m max_size=3092m > inactive=1d; > proxy_cache my_cache; > proxy_cache_valid 200 3h; # раз в три часа будем > позволять себе обновлять кеш :) > proxy_cache_valid any 0; # не кешируем 500 и 400 > ошибки > proxy_cache_use_stale updating error timeout invalid_header http_500 > http_502 http_503 http_504 http_404; # если ваш скрипт > отдал одну из описанных ошибок, ис > пользовать вариант из кеша, если он > есть, даже если он уже заэкспайрился > proxy_cache_key "$scheme$proxy_host$uri$is_args$args$cookie_sid"; > proxy_redirect off; > proxy_set_header Host $host; > proxy_set_header X-Real-IP $remote_addr; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > client_max_body_size 10m; > client_body_buffer_size 128k; > proxy_connect_timeout 1500; > proxy_send_timeout 1500; > proxy_read_timeout 1500; > proxy_buffer_size 4k; > proxy_buffers 4 32k; > proxy_busy_buffers_size 64k; > proxy_temp_file_write_size 64k; > proxy_temp_path /var/nginx/proxy_temp; > default_type application/octet-stream; > reset_timedout_connection on; > sendfileon; > tcp_nopush on; > tcp_nodelay on; > keepalive_timeout 65; > gzip on; > gzip_static on; > gzip_http_version 1.1; > gzip_proxiedexpired no-cache no-store private auth; > gzip_disable"MSIE [1-6]\."; > gzip_vary on; > gzip_comp_level 3; > gzip_proxied any; > gzip_types text/plain text/css application/x-javascript text/xml > application/xml application/xml+rss text/javascript; > upstream backend { > server 75.205.198.2:80; > } > listen 80 default; > server_name localhost; > deny all; > } > server { > listen 80; > server_name www.site.ru site.ru; > location / { > proxy_pass http://backend; > access_log off; > } > location ~ /\.ht { > deny all; > } > } > } > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212034,212034#msg-212034 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Mon Jul 11 21:36:14 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Mon, 11 Jul 2011 20:36:14 +0300 Subject: use In-Reply-To: <806243759.20110712000145@ngs.ru> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E1AD9D7.5060805@csdoc.com> <168929646.20110711211210@ngs.ru> <4E1B0F31.7090407@csdoc.com> <806243759.20110712000145@ngs.ru> Message-ID: <4E1B348E.3020409@csdoc.com> On 11.07.2011 20:01, Pavel V. wrote: >> http://www.cri.ensmp.fr/~coelho/mod_macro/ >> - там есть достаточно интересные идеи, которые можно применить в nginx, >> только вместо html-like синтаксиса httpd использовать C-like синтаксис. ... > C наличием директив block/use было бы удобнее, и /для моих задач/ > достаточно возможности описывать блоки ровно внутри server{}. лучше делать универсальное решение, а не только для своих текущих задач. -- Best regards, Gena From nginx-forum на nginx.us Mon Jul 11 21:59:41 2011 From: nginx-forum на nginx.us (gordeev.mv) Date: Mon, 11 Jul 2011 13:59:41 -0400 Subject: ngx_http_access_module In-Reply-To: <881c8e44cc22771060bc188c8b0a7739.NginxMailingListRussian@forum.nginx.org> References: <881c8e44cc22771060bc188c8b0a7739.NginxMailingListRussian@forum.nginx.org> Message-ID: Спасибо большое! Конфиг получился примерно такой location = /stat/ { index index.html index.htm; set_real_ip_from 10.0.0.0/24; real_ip_header X-Real-IP; allow 10.10.10.10; deny all; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211959,212220#msg-212220 From voron на amhost.net Mon Jul 11 22:25:26 2011 From: voron на amhost.net (Alex Vorona) Date: Mon, 11 Jul 2011 21:25:26 +0300 Subject: limit_req burst=0 Message-ID: <4E1B4016.8010609@amhost.net> Привет, При попытке указать limit_req zone=z1 burst=0 nodelay; Получаю nginx: [emerg] invalid burst rate "burst=0" А на http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html#limit_req вижу >По умолчанию число всплесков равно нулю. Так и задумано, что невозможно выставить burst=0 или же это ошибка в документации? From nginx-forum на nginx.us Tue Jul 12 00:40:25 2011 From: nginx-forum на nginx.us (locojohn) Date: Mon, 11 Jul 2011 16:40:25 -0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: References: Message-ID: <38fea004d6405488cb3fed0e833c2565.NginxMailingListRussian@forum.nginx.org> Игорь, я разобрался. В SiteSupra CMS присутсвовали хитрые rewrite и нужно было переделать конфигурацию, чтобы location с кэпчурингом срабатывал. Большое вам спасибо! Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212010,212225#msg-212225 From chipitsine на gmail.com Tue Jul 12 08:32:40 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 10:32:40 +0600 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <512921310397356@web32.yandex.ru> References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> Message-ID: если файл лежит не на nginx, как он может определить, является ли этот объект каталогом, файлом или динамически сгенерированной страницей ? например www.domain.ru/shop - это файл или каталог ? 11 июля 2011 г. 21:15 пользователь Глазачев Владимир написал: > > > > > > Если у вас url'ы обрабатываются бекендом - это либо надо делать > > бекендом же, либо тщательно выписывать nginx'у правила что и куда > > редиректить (иначе откуда он узнает, что "new.shop" редиректить > > надо, а "new.shtml" - не надо?). > > Ну тут вроде-бы довольно простые правила, что-то вроде: редиректить все, > кроме ссылок заканчивающихся на файл ( т.е. с раширением) , все кроме > каталогов заканчивающихся на слеш, урлов с гет параметрами > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Tue Jul 12 10:06:44 2011 From: nginx-forum на nginx.us (burguyd) Date: Tue, 12 Jul 2011 02:06:44 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: Адрес сайта brsu.by Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212034,212239#msg-212239 From chipitsine на gmail.com Tue Jul 12 10:15:11 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 12:15:11 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: у вас контент отдается несжатый, в остальном все хорошо. включите сжатие на апаче, съэкономите до 70 процентов трафика. Page Speed говорит (на странице с вступительными баллами): "Compressing the following resources with gzip could reduce their transfer size by 111.1KiB (68% reduction)." 12 июля 2011 г. 12:06 пользователь burguyd написал: > Адрес сайта brsu.by > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212034,212239#msg-212239 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Tue Jul 12 10:20:20 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 12:20:20 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: в принципе, можно подумать и утащить jquery на CDN, только надо аккуратно посчитать, потому что внутренние пользователи в этом случае будут качать jquery через внешний канал. и pinks.png надо бы переверстать, 200 килобайт на фоновый рисунок это дофига. 12 июля 2011 г. 12:06 пользователь burguyd написал: > Адрес сайта brsu.by > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212034,212239#msg-212239 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From igor на sysoev.ru Tue Jul 12 10:24:24 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 12 Jul 2011 10:24:24 +0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <38fea004d6405488cb3fed0e833c2565.NginxMailingListRussian@forum.nginx.org> References: <38fea004d6405488cb3fed0e833c2565.NginxMailingListRussian@forum.nginx.org> Message-ID: <022F3556-2DD1-4A09-808A-00F94774065F@sysoev.ru> On Jul 12, 2011, at 0:40 , locojohn wrote: > Игорь, я разобрался. В SiteSupra CMS > присутсвовали хитрые rewrite и нужно было > переделать конфигурацию, чтобы location с > кэпчурингом срабатывал. Большое вам > спасибо! rewrite - зло, превращающее конфигурацию в месиво. -- Igor Sysoev http://sysoev.ru/en/ From chipitsine на gmail.com Tue Jul 12 10:26:08 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 12:26:08 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: а "проходные баллы" прямо напрашивается сделать html-wysiwyg-блоком вместо 100-килобайтного вордового документа )) будет килобайт 10 от силы. 12 июля 2011 г. 12:06 пользователь burguyd написал: > Адрес сайта brsu.by > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212034,212239#msg-212239 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Tue Jul 12 13:14:59 2011 From: nginx-forum на nginx.us (burguyd) Date: Tue, 12 Jul 2011 05:14:59 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: >у вас контент отдается несжатый, в остальном все хорошо. включите сжатие на >апаче, съэкономите до 70 процентов трафика. Что посоветуете deflate или mod_gzip? >и pinks.png надо бы переверстать, 200 килобайт на фоновый рисунок это >дофига. Ок. Переверстаем >а "проходные баллы" прямо напрашивается сделать html-wysiwyg-блоком вместо >100-килобайтного вордового документа )) >будет килобайт 10 от силы. Востребованной будет не документ "проходные баллы", в котором инфа за прошлые годы, абитуре это не особо интересно. Им буден нужна информация по текущему проходному балу, которая будет выдаваться в таблицах, герерируемых из MS sql базы и выкладываемых в виде html на отдельном поддомене. Оф. сайт мы оптимизируем исходя их предположения, что никто не будет запиминать урл этого поддомена, а будут искать его через офф. сайт. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212034,212252#msg-212252 From pansg на yandex.ru Tue Jul 12 13:17:18 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Tue, 12 Jul 2011 13:17:18 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> Message-ID: <245151310462238@web151.yandex.ru> Вложение в формате HTML было извлечено… URL: From nefer05 на gmail.com Tue Jul 12 13:25:35 2011 From: nefer05 на gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Tue, 12 Jul 2011 13:25:35 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <245151310462238@web151.yandex.ru> References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> Message-ID: 2011/7/12 Глазачев Владимир : > > "www.domain.ru/shop - это файл или каталог ? " > > каталог можно отличить  по отсутствию расширения В нормальных системах понятие "расширение" отсутствует дэ юро. From pansg на yandex.ru Tue Jul 12 13:27:44 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Tue, 12 Jul 2011 13:27:44 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> Message-ID: <249611310462865@web48.yandex.ru> Спасибо кэп! ;) 12.07.2011, 13:25, "Роман Москвитин" : > 2011/7/12 Глазачев Владимир ;: > >>  "www.domain.ru/shop - это файл или каталог ? " >> >>  каталог можно отличить  по отсутствию расширения > > В нормальных системах понятие "расширение" отсутствует дэ юро. > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From chipitsine на gmail.com Tue Jul 12 13:28:46 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 15:28:46 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: 12 июля 2011 г. 15:14 пользователь burguyd написал: > >у вас контент отдается несжатый, в > остальном все хорошо. включите сжатие > на > >апаче, съэкономите до 70 процентов > трафика. > Что посоветуете deflate или mod_gzip? > посоветую gzip и надо обратить внимание на аналог условия "gzip_disable msie6;" для апача. gzip со степенью 6 (дефолтной) вполне хорошо сжимает. > > >и pinks.png надо бы переверстать, 200 > килобайт на фоновый рисунок это > >дофига. > Ок. Переверстаем > > >а "проходные баллы" прямо > напрашивается сделать html-wysiwyg-блоком > вместо > >100-килобайтного вордового документа )) > >будет килобайт 10 от силы. > Востребованной будет не документ > "проходные баллы", в котором инфа за > прошлые годы, абитуре это не особо > интересно. > Им буден нужна информация по текущему > проходному балу, которая будет > выдаваться в таблицах, герерируемых из > MS sql базы и выкладываемых в виде html на > отдельном поддомене. > Оф. сайт мы оптимизируем исходя их > предположения, что никто не будет > запиминать урл этого поддомена, а будут > искать его через офф. сайт. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212034,212252#msg-212252 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From pansg на yandex.ru Tue Jul 12 13:35:45 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Tue, 12 Jul 2011 13:35:45 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: <326681310463345@web52.yandex.ru> Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Tue Jul 12 13:37:27 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 15:37:27 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: можно взять условие отсюда http://stackoverflow.com/questions/1456112/known-issues-with-gzip-and-ie6 не уверен, насчет их шаманств с Accept-Encoding, я бы для MSIE6 переписал в Accept-Encoding: identity 12 июля 2011 г. 15:14 пользователь burguyd написал: > >у вас контент отдается несжатый, в > остальном все хорошо. включите сжатие > на > >апаче, съэкономите до 70 процентов > трафика. > Что посоветуете deflate или mod_gzip? > > >и pinks.png надо бы переверстать, 200 > килобайт на фоновый рисунок это > >дофига. > Ок. Переверстаем > > >а "проходные баллы" прямо > напрашивается сделать html-wysiwyg-блоком > вместо > >100-килобайтного вордового документа )) > >будет килобайт 10 от силы. > Востребованной будет не документ > "проходные баллы", в котором инфа за > прошлые годы, абитуре это не особо > интересно. > Им буден нужна информация по текущему > проходному балу, которая будет > выдаваться в таблицах, герерируемых из > MS sql базы и выкладываемых в виде html на > отдельном поддомене. > Оф. сайт мы оптимизируем исходя их > предположения, что никто не будет > запиминать урл этого поддомена, а будут > искать его через офф. сайт. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212034,212252#msg-212252 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Tue Jul 12 13:38:21 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 15:38:21 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: <326681310463345@web52.yandex.ru> References: <326681310463345@web52.yandex.ru> Message-ID: только для этого им надо сайт на nginx перевести )) сейчас там апач. а nginx возник как реверсный прокси на VPS. 12 июля 2011 г. 15:35 пользователь Глазачев Владимир написал: > Можно использовать вот так: > > gzip on; > gzip_disable "MSIE [1-6]"; > gzip_min_length 256; > gzip_buffers 4 8k; > gzip_types text/plain text/css text/xml application/x-javascript > text/javascript; > gzip_comp_level 4; > 12.07.2011, 13:28, "Илья Шипицин" : > > > 12 июля 2011 г. 15:14 пользователь burguyd написал: > >> >у вас контент отдается несжатый, в >> остальном все хорошо. включите сжатие >> на >> >апаче, съэкономите до 70 процентов >> трафика. >> Что посоветуете deflate или mod_gzip? > > > посоветую gzip и надо обратить внимание на аналог условия "gzip_disable > msie6;" для апача. > gzip со степенью 6 (дефолтной) вполне хорошо сжимает. > > >> >> >и pinks.png надо бы переверстать, 200 >> килобайт на фоновый рисунок это >> >дофига. >> Ок. Переверстаем >> >> >а "проходные баллы" прямо >> напрашивается сделать html-wysiwyg-блоком >> вместо >> >100-килобайтного вордового документа )) >> >будет килобайт 10 от силы. >> Востребованной будет не документ >> "проходные баллы", в котором инфа за >> прошлые годы, абитуре это не особо >> интересно. >> Им буден нужна информация по текущему >> проходному балу, которая будет >> выдаваться в таблицах, герерируемых из >> MS sql базы и выкладываемых в виде html на >> отдельном поддомене. >> Оф. сайт мы оптимизируем исходя их >> предположения, что никто не будет >> запиминать урл этого поддомена, а будут >> искать его через офф. сайт. >> >> Posted at Nginx Forum: >> http://forum.nginx.org/read.php?21,212034,212252#msg-212252 >> >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru >> > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From pansg на yandex.ru Tue Jul 12 13:47:43 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Tue, 12 Jul 2011 13:47:43 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: <326681310463345@web52.yandex.ru> Message-ID: <890481310464063@web78.yandex.ru> Вложение в формате HTML было извлечено… URL: From pansg на yandex.ru Tue Jul 12 13:56:41 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Tue, 12 Jul 2011 13:56:41 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> Message-ID: <896011310464602@web45.yandex.ru> Фактически, расширение файлов используется в вебе и на этом основано почти все, в том числе и обработка файлов, разграничение динамики, статики, медиа типы и т.д. Не вижу смысла это вообще здесь обсуждать. 12.07.2011, 13:25, "Роман Москвитин" : > 2011/7/12 Глазачев Владимир ;: > >>  "www.domain.ru/shop - это файл или каталог ? " >> >>  каталог можно отличить  по отсутствию расширения > > В нормальных системах понятие "расширение" отсутствует дэ юро. > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From onokonem на gmail.com Tue Jul 12 14:07:01 2011 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 12 Jul 2011 14:07:01 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <896011310464602@web45.yandex.ru> References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> <896011310464602@web45.yandex.ru> Message-ID: > Фактически, расширение файлов используется в вебе и на этом основано почти все Фактически, расширение используется http-серверами для выставления mime-type при отдаче статического контента, и только. From nginx-forum на nginx.us Tue Jul 12 14:19:35 2011 From: nginx-forum на nginx.us (locojohn) Date: Tue, 12 Jul 2011 06:19:35 -0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <022F3556-2DD1-4A09-808A-00F94774065F@sysoev.ru> References: <022F3556-2DD1-4A09-808A-00F94774065F@sysoev.ru> Message-ID: <54f8f4ed6c0bbb23de29bf7c2a647511.NginxMailingListRussian@forum.nginx.org> Игорь, но что, если мне кроме PATH_INFO нужно и SCRIPT_URL/SCRIPT_URI правильные поставить, не url-encoded? Дело в том, что SCRIPT_URL/SCRIPT_URI, для совместимости со старыми скриптами, опирающимися на конфигурацию для Apache, не должны содержать имя исполняемого PHP скрипта, а должны быть равны фактически вот чему: # fix compatible SCRIPT_URL/SCRIPT_URI variables if ($request_uri ~ ^([^?]+)) { set $script_url $1; } fastcgi_param SCRIPT_URL $script_url; fastcgi_param SCRIPT_URI $scheme://$server_name$script_url; fastcgi_param PHP_SELF $script_url; Но если я так делаю, то SCRIPT_URL/SCRIPT_URI и PHP_SELF кодируются дважды и неправильно работают для URL, в которых пробелы. Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212010,212264#msg-212264 From pansg на yandex.ru Tue Jul 12 14:22:11 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Tue, 12 Jul 2011 14:22:11 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> <896011310464602@web45.yandex.ru> Message-ID: <652331310466131@web74.yandex.ru> По поводу, зачем это нужно, были такие вопросы, отпишу кратко: URL со слэшом и без слэша ссылаются на разные ресурсы (RFC 1738, 1630). Даже если по этим адресам контент один и тот же. (К сожалению ресурсы в данном случае доступны и со слешом и без ) Наличие одного и того же контента по адресам со слэшем и без слэша ? это дублирование контента, что для продвижения в СЕО является понижающим фактором. Но вообщем скорее всего будет делать это действительно на бакенде, через nginx получается не совсем безопасно и костыльно From nginx-forum на nginx.us Tue Jul 12 14:28:11 2011 From: nginx-forum на nginx.us (Yaroslav_S) Date: Tue, 12 Jul 2011 06:28:11 -0400 Subject: =?UTF-8?B?UmU6INCk0YDQvtC90YLRjdC90LQg0Log0JDQv9Cw0YfRgyDQuCDQstC40YDRgtGD?= =?UTF-8?B?0LDQu9GM0L3Ri9C1INGF0L7RgdGC0YsgLSDQv9GA0L7QsdC70LXQvNCw?= In-Reply-To: <20110705193430.GA7467@gas.starlink.ru> References: <20110705193430.GA7467@gas.starlink.ru> Message-ID: <1d5ee1beab2f2cc8fb9e95cffdefebeb.NginxMailingListRussian@forum.nginx.org> Evgeniy M. Solodookhin Wrote: ------------------------------------------------------- > подозреваю, потому что редирект работает только при завороте пакетов на тот же интерфейс, на который они поступают. > ) > поетому и сработал днат - как бы проброс меж интерфейсами. Yaroslav_S Wrote: ------------------------------------------------------- > Осталось только выяснить, почему с -j REDIRECT поведение на разных ip разное... ^^^^^ Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211281,212266#msg-212266 From nginx-forum на nginx.us Tue Jul 12 15:54:56 2011 From: nginx-forum на nginx.us (temma) Date: Tue, 12 Jul 2011 07:54:56 -0400 Subject: =?UTF-8?B?UmU6INCe0YHQstC+0LHQvtC20LTQtdC90LjQtSDQv9Cw0LzRj9GC0Lgg0LjQtyA=?= =?UTF-8?B?0L/Rg9C70LA=?= In-Reply-To: References: Message-ID: <40328192b2e691bd13169619b777f091.NginxMailingListRussian@forum.nginx.org> Спасибо за ответ! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211970,212269#msg-212269 From igor на sysoev.ru Tue Jul 12 17:03:37 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 12 Jul 2011 16:03:37 +0300 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <54f8f4ed6c0bbb23de29bf7c2a647511.NginxMailingListRussian@forum.nginx.org> References: <022F3556-2DD1-4A09-808A-00F94774065F@sysoev.ru> <54f8f4ed6c0bbb23de29bf7c2a647511.NginxMailingListRussian@forum.nginx.org> Message-ID: <290D30AB-DF52-408D-B00D-53C75ADFA718@sysoev.ru> 12.07.2011, в 13:19, "locojohn" написал(а): > Игорь, но что, если мне кроме PATH_INFO нужно > и SCRIPT_URL/SCRIPT_URI правильные поставить, не > url-encoded? Дело в том, что SCRIPT_URL/SCRIPT_URI, для > совместимости со старыми скриптами, > опирающимися на конфигурацию для Apache, > не должны содержать имя исполняемого PHP > скрипта, а должны быть равны фактически > вот чему: > > # fix compatible SCRIPT_URL/SCRIPT_URI variables > if ($request_uri ~ ^([^?]+)) { > set $script_url $1; > } Если я правильно понимаю эту конструкцию, то это запрос без аргументов, то есть, переменная$uri. > fastcgi_param SCRIPT_URL $script_url; > fastcgi_param SCRIPT_URI $scheme://$server_name$script_url; > fastcgi_param PHP_SELF $script_url; > > Но если я так делаю, то SCRIPT_URL/SCRIPT_URI и > PHP_SELF кодируются дважды и неправильно > работают для URL, в которых пробелы. Igor Sysoev From nginx-forum на nginx.us Tue Jul 12 17:10:08 2011 From: nginx-forum на nginx.us (locojohn) Date: Tue, 12 Jul 2011 09:10:08 -0400 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3Ri9C1INC+0LrRgNGD0LbQtdC90LjRjyDRgdC1?= =?UTF-8?B?0YDQstC10YDQsCDQsiB1cmwtZGVjb2RlZCDRhNC+0YDQvNCw0YLQtQ==?= In-Reply-To: <290D30AB-DF52-408D-B00D-53C75ADFA718@sysoev.ru> References: <290D30AB-DF52-408D-B00D-53C75ADFA718@sysoev.ru> Message-ID: Igor Sysoev Wrote: ------------------------------------------------------- > 12.07.2011, в 13:19, "locojohn" > написал(а): > > # fix compatible SCRIPT_URL/SCRIPT_URI variables > > if ($request_uri ~ ^([^?]+)) { > > set $script_url $1; > > } > > Если я правильно понимаю > эту конструкцию, то это > запрос без аргументов, то > есть, переменная$uri. К сожалению, $uri уже переписан rewrite-ами к тому времени, приходится использовать $request_uri. А нет ли, или не появится ли другая возможность в будущем использовать переменную, содержащую $request_uri в декодированном формате? например, $request_uri_decoded? Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212010,212272#msg-212272 From temotor на gmail.com Tue Jul 12 17:48:32 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Tue, 12 Jul 2011 17:48:32 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <652331310466131@web74.yandex.ru> References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> <896011310464602@web45.yandex.ru> <652331310466131@web74.yandex.ru> Message-ID: 2011/7/12 Глазачев Владимир : > По поводу, зачем это нужно, были такие вопросы, отпишу кратко: > URL со слэшом и без слэша ссылаются на разные ресурсы (RFC 1738, 1630). Даже если по этим адресам контент один и тот же. (К сожалению ресурсы в данном случае доступны и со слешом и без ) > Наличие одного и того же контента по адресам со слэшем и без слэша ? это дублирование контента, что для продвижения в СЕО является понижающим фактором. > > Но вообщем скорее всего будет делать это действительно на бакенде, через nginx получается не совсем безопасно и костыльно > Так убирайте лишние слеши, зачем добавлять-то? location ~ ^/.+/$ { rewrite ^/(.+)/$ $1 permanent; } From temotor на gmail.com Tue Jul 12 17:49:40 2011 From: temotor на gmail.com (Sergey Shepelev) Date: Tue, 12 Jul 2011 17:49:40 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> <896011310464602@web45.yandex.ru> <652331310466131@web74.yandex.ru> Message-ID: 2011/7/12 Sergey Shepelev : > 2011/7/12 Глазачев Владимир : >> По поводу, зачем это нужно, были такие вопросы, отпишу кратко: >> URL со слэшом и без слэша ссылаются на разные ресурсы (RFC 1738, 1630). Даже если по этим адресам контент один и тот же. (К сожалению ресурсы в данном случае доступны и со слешом и без ) >> Наличие одного и того же контента по адресам со слэшем и без слэша ? это дублирование контента, что для продвижения в СЕО является понижающим фактором. >> >> Но вообщем скорее всего будет делать это действительно на бакенде, через nginx получается не совсем безопасно и костыльно >> > > Так убирайте лишние слеши, зачем добавлять-то? > опечатка -    rewrite ^/(.+)/$ $1 permanent; +    rewrite ^/(.+)/$ /$1 permanent; From nginx-forum на nginx.us Tue Jul 12 18:07:36 2011 From: nginx-forum на nginx.us (sergeyn) Date: Tue, 12 Jul 2011 10:07:36 -0400 Subject: nginx.conf Message-ID: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Подскажите, где можно подробно прочитать про nginx.conf Особенно про location, мне нужно сервер запустить с PHP, а я не знаю как. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212280,212280#msg-212280 From nginx-forum на nginx.us Tue Jul 12 18:11:55 2011 From: nginx-forum на nginx.us (locojohn) Date: Tue, 12 Jul 2011 10:11:55 -0400 Subject: =?UTF-8?B?0LjQvdGC0LXRgNC/0YDQtdGC0LDRhtC40Y8g0L/QtdGA0LXQvNC10L3QvdGL0YUg?= =?UTF-8?B?0LLQvdGD0YLRgNC4IFBIUCBWQUxVRSDQuCBQSFAgQURNSU4gVkFMVUUg0LQ=?= =?UTF-8?B?0LvRjyBQSFAtRlBN?= Message-ID: Уважаемые коллеги, Как известно, на данный момент возможна передача PHP_INI* параметров в связке с PHP-FPM через fastcgi_param PHP_VALUE и fastcgi_param PHP_ADMIN_VALUE. Но как использовать уже существующие значения параметров конфигурации PHP при передачи строк PHP конфигурации в окружение для PHP-FPM? Например, выражение, приведенное ниже не работает: fastcgi_pass PHP_VALUE "include_path=\${include_path}:/my/other/include/path"; Может ли nginx пропускать символ доллара "$" и не воспринимать это как собственную переменную, например, как показано выше, чтобы upstream модуль (PHP-FPM) смог её интерпретировать как параметр конфигурации PHP и вытащить оттуда текущее/master значение (как в примере - значение "include_path"). В конфигурации PHP-FPM (php-fpm.conf) данная конструкция возможна и означает, что PHP-FPM соединит значение include_path, прописанное в php.ini с ":/my/other/include/path" : php_value[include_path] = "${include_path}:/my/other/include/path" Было бы великолепно, если бы nginx мог передавать подобные конструкции. То есть, "эскайпированные" переменные \${varname} в конце концов транслировались бы в строку ${varname} и передавались в upstream environment? Заранее благодарю, Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212282,212282#msg-212282 From ne на vbart.ru Tue Jul 12 18:45:18 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 12 Jul 2011 18:45:18 +0400 Subject: nginx.conf In-Reply-To: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> References: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> Message-ID: <201107121845.19074.ne@vbart.ru> On Tuesday 12 July 2011 18:07:36 sergeyn wrote: > Подскажите, где можно подробно > прочитать про nginx.conf > Особенно про location, мне нужно сервер > запустить с PHP, а я не знаю как. А чем официальный сайт и его импортный аналог вкупе с вики не устроили? http://sysoev.ru/nginx/docs/ http://wiki.nginx.org/ -- Валентин Бартенев http://vbart.ru/ From ne на vbart.ru Tue Jul 12 19:00:25 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 12 Jul 2011 19:00:25 +0400 Subject: =?UTF-8?B?UmU6ICDQuNC90YLQtdGA0L/RgNC10YLQsNGG0LjRjyDQv9C10YDQtdC80LXQvdC9?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: References: Message-ID: <201107121900.26132.ne@vbart.ru> On Tuesday 12 July 2011 18:11:55 locojohn wrote: > fastcgi_pass PHP_VALUE > "include_path=\${include_path}:/my/other/include/path"; > > Может ли nginx пропускать символ доллара > "$" и не воспринимать это как > собственную переменную, например, как > показано выше Может. -- Валентин Бартенев http://vbart.ru/ From chipitsine на gmail.com Tue Jul 12 19:14:44 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 12 Jul 2011 21:14:44 +0600 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: <245151310462238@web151.yandex.ru> References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> Message-ID: почему вы думаете, что в имени каталога не может быть точки? 12 июля 2011 г. 15:17 пользователь Глазачев Владимир написал: > > "www.domain.ru/shop - это файл или каталог ? " > > каталог можно отличить по отсутствию расширения > > 12.07.2011, 08:32, "Илья Шипицин" : > > если файл лежит не на nginx, как он может определить, является ли этот > объект каталогом, файлом или динамически сгенерированной страницей ? > > например > > www.domain.ru/shop - это файл или каталог ? > > 11 июля 2011 г. 21:15 пользователь Глазачев Владимир написал: > >> >> >> >> >> > Если у вас url'ы обрабатываются бекендом - это либо надо делать >> > бекендом же, либо тщательно выписывать nginx'у правила что и куда >> > редиректить (иначе откуда он узнает, что "new.shop" редиректить >> > надо, а "new.shtml" - не надо?). >> Ну тут вроде-бы довольно простые правила, что-то вроде: редиректить все, >> кроме ссылок заканчивающихся на файл ( т.е. с раширением) , все кроме >> каталогов заканчивающихся на слеш, урлов с гет параметрами >> > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Tue Jul 12 19:25:19 2011 From: nginx-forum на nginx.us (Yorick) Date: Tue, 12 Jul 2011 11:25:19 -0400 Subject: Using 32768KiB of shared memory for push module in... Message-ID: А кто-нить доковырял проблему озвученную в топиках: http://forum.nginx.org/read.php?21,185003,185003#msg-185003 http://forum.nginx.org/read.php?20,124008,124008#msg-124008 ? Речь про (при старте, точнее при первом же telnet на 80 порт): Jul 12 19:14:56 error-log: : 19:14:56 [info] 21298#0: Using 32768KiB of shared memory for push module in /etc/nginx/nginx.conf:147 Jul 12 19:14:56 error-log: : 19:14:56 [alert] 21302#0: epoll_ctl(1, 0) failed (1: Operation not permitted) Jul 12 19:14:56 error-log: : 19:14:56 [alert] 21302#0: failed to register channel handler while initializing push module worker (1: Operation not permitted) Jul 12 19:14:56 error-log: : 19:14:56 [alert] 21303#0: epoll_ctl(1, 0) failed (1: Operation not permitted) Jul 12 19:14:56 error-log: : 19:14:56 [alert] 21303#0: failed to register channel handler while initializing push module worker (1: Operation not permitted) Jul 12 19:14:56 error-log: : 19:14:56 [alert] 21300#0: cache manager process 21302 exited with fatal code 2 and can not be respawn на машине 16Gb памяти, пуш модуль не используется в конфиге, 147 строка это конец конфига, закрывающая скобка гугление ничего не дало # nginx -V nginx: nginx version: nginx/1.0.4 nginx: TLS SNI support enabled nginx: configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_perl_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/tmp/buildd/nginx-1.0.4/debian/modules/nginx-development-kit --add-module=/tmp/buildd/nginx-1.0.4/debian/modules/nginx-upstream-fair --add-module=/tmp/buildd/nginx-1.0.4/debian/modules/nginx-echo --add-module=/tmp/buildd/nginx-1.0.4/debian/modules/nginx-lua --add-module=/tmp/buildd/nginx-1.0.4/debian/modules/nginx-http-push --add-module=/tmp/buildd/nginx-1.0.4/debian/modules/nginx-upload-progress --add-module=/tmp/buildd/nginx-1.0.4/debian/modules/nginx-secure-download Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212292,212292#msg-212292 From nginx-forum на nginx.us Tue Jul 12 19:58:35 2011 From: nginx-forum на nginx.us (locojohn) Date: Tue, 12 Jul 2011 11:58:35 -0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <201107121900.26132.ne@vbart.ru> References: <201107121900.26132.ne@vbart.ru> Message-ID: Валентин Бартенев Wrote: ------------------------------------------------------- > On Tuesday 12 July 2011 18:11:55 locojohn wrote: > > fastcgi_pass PHP_VALUE > > > "include_path=\${include_path}:/my/other/include/p > ath"; > > > > Может ли nginx пропускать > символ доллара > > "$" и не воспринимать это > как > > собственную переменную, > например, как > > показано выше > > Может. Превосходный ответ! И где моё исходное сообщение? BEANRWEB03:~#/etc/init.d/nginx restart * Checking nginx' configuration ... nginx: [emerg] unknown "include_path" variable nginx: configuration file /etc/nginx/nginx.conf test failed * failed, please correct errors above [ !! ] * ERROR: nginx failed to stop nginx 1.0.4 / php-fpm Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212288,212294#msg-212294 From mdounin на mdounin.ru Tue Jul 12 20:19:30 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 12 Jul 2011 20:19:30 +0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: References: <201107121900.26132.ne@vbart.ru> Message-ID: <20110712161930.GE42265@mdounin.ru> Hello! On Tue, Jul 12, 2011 at 11:58:35AM -0400, locojohn wrote: > Валентин Бартенев Wrote: > ------------------------------------------------------- > > On Tuesday 12 July 2011 18:11:55 locojohn wrote: > > > fastcgi_pass PHP_VALUE > > > > > "include_path=\${include_path}:/my/other/include/p > > ath"; > > > > > > Может ли nginx пропускать > > символ доллара > > > "$" и не воспринимать это > > как > > > собственную переменную, > > например, как > > > показано выше > > > > Может. > > Превосходный ответ! И где моё исходное > сообщение? > > BEANRWEB03:~#/etc/init.d/nginx restart > * Checking nginx' configuration ... > nginx: [emerg] unknown "include_path" variable > nginx: configuration file /etc/nginx/nginx.conf test failed > * failed, please correct errors above > [ !! ] > * ERROR: nginx failed to stop Сейчас - только с помощью грубого хака через установку переменной в модуле, в свою очередь не интертпретирующем переменные, e.g. geo. geo $x { default "${include_path}:/my/other/include/path"; } fastcgi_param PHP_VALUE $x; Надо сделать, чтобы работало как-то более разумно... Maxim Dounin From perusio на gmail.com Tue Jul 12 20:35:33 2011 From: perusio на gmail.com (perusio на gmail.com) Date: Tue, 12 Jul 2011 17:35:33 +0100 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <20110712161930.GE42265@mdounin.ru> References: <201107121900.26132.ne@vbart.ru> <20110712161930.GE42265@mdounin.ru> Message-ID: <87ei1vihii.wl%appa@perusio.net> On 12 Jul 2011 17h19 WEST, mdounin на mdounin.ru wrote: > geo $x { > default "${include_path}:/my/other/include/path"; > } Я прошу прощения за мой несуществующий русский :( я использую Google Translate Я подозреваю, что в результате язык не будет красиво, но тем не менее, вот оно. > fastcgi_param PHP_VALUE $x; Боюсь, это не будет работать, потому что include_path не обычной переменной, а время выполнения параметра. Это значение можно получить через ini_get ('include_path'). --- appa From perusio на gmail.com Tue Jul 12 21:00:12 2011 From: perusio на gmail.com (perusio на gmail.com) Date: Tue, 12 Jul 2011 18:00:12 +0100 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <20110712161930.GE42265@mdounin.ru> References: <201107121900.26132.ne@vbart.ru> <20110712161930.GE42265@mdounin.ru> Message-ID: <87d3hfigdf.wl%appa@perusio.net> On 12 Jul 2011 17h19 WEST, mdounin на mdounin.ru wrote: I'm reposting this in English. Translating the Russian generated by google translate back to English reveals a complete mess. I'm sorry for imposing my limitations (nil Russian language skills :() on everyone else here. I know it's rude. > geo $x { > default "${include_path}:/my/other/include/path"; > } I don't think Maxim suggestion will work, because include_path is a runtime parameter, not a regular variable. It must be accessed using ini_get('include_path') and set via ini_set. --- appa From mdounin на mdounin.ru Tue Jul 12 21:52:43 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 12 Jul 2011 21:52:43 +0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <87d3hfigdf.wl%appa@perusio.net> References: <201107121900.26132.ne@vbart.ru> <20110712161930.GE42265@mdounin.ru> <87d3hfigdf.wl%appa@perusio.net> Message-ID: <20110712175243.GH42265@mdounin.ru> Hello! On Tue, Jul 12, 2011 at 06:00:12PM +0100, perusio на gmail.com wrote: > On 12 Jul 2011 17h19 WEST, mdounin на mdounin.ru wrote: > > I'm reposting this in English. Translating the Russian generated by > google translate back to English reveals a complete mess. > > I'm sorry for imposing my limitations (nil Russian language skills :() > on everyone else here. I know it's rude. > > > geo $x { > > default "${include_path}:/my/other/include/path"; > > } > > I don't think Maxim suggestion will work, because include_path is a > runtime parameter, not a regular variable. It must be accessed using > ini_get('include_path') and set via ini_set. It will work in sense "nginx will pass this string as is to php", i.e. the ugly hack in question solves the problem "how to escape '$' and avoid it being interpretted as nginx variable start". I've never claimed this will do something sensible on php side (and even explicitly stated this referring to your reply while re-posting this answer on english list, see [1]). [1] http://nginx.org/pipermail/nginx/2011-July/027907.html Maxim Dounin From greenh на gmail.com Wed Jul 13 02:20:41 2011 From: greenh на gmail.com (greenh) Date: Wed, 13 Jul 2011 01:20:41 +0300 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0LTQuNGA0LXQutGC0L7RgNC40Lgg0L3QsCA=?= =?UTF-8?B?0YPRgNC7INGB0L4g0YHQu9C10YjQtdC8INCyINC60L7QvdGG0LU=?= In-Reply-To: References: <806761310391630@web87.yandex.ru> <20110711143434.GR42265@mdounin.ru> <512921310397356@web32.yandex.ru> <245151310462238@web151.yandex.ru> Message-ID: нарвался на обратную, неприятную траблу решили через костыли но неприятно для некого торрентррекера приходили запросы вида /annonce?blabla nginx автоматом возвращал редирект на /annonce/?blabla как бы от этого избавиться? 2011/7/12 Илья Шипицин > почему вы думаете, что в имени каталога не может быть точки? > > 12 июля 2011 г. 15:17 пользователь Глазачев Владимир написал: > > >> "www.domain.ru/shop - это файл или каталог ? " >> >> каталог можно отличить по отсутствию расширения >> >> 12.07.2011, 08:32, "Илья Шипицин" : >> >> если файл лежит не на nginx, как он может определить, является ли этот >> объект каталогом, файлом или динамически сгенерированной страницей ? >> >> например >> >> www.domain.ru/shop - это файл или каталог ? >> >> 11 июля 2011 г. 21:15 пользователь Глазачев Владимир написал: >> >>> >>> >>> >>> >>> > Если у вас url'ы обрабатываются бекендом - это либо надо делать >>> > бекендом же, либо тщательно выписывать nginx'у правила что и куда >>> > редиректить (иначе откуда он узнает, что "new.shop" редиректить >>> > надо, а "new.shtml" - не надо?). >>> Ну тут вроде-бы довольно простые правила, что-то вроде: редиректить все, >>> кроме ссылок заканчивающихся на файл ( т.е. с раширением) , все кроме >>> каталогов заканчивающихся на слеш, урлов с гет параметрами >>> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru >> >> > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Wed Jul 13 05:12:00 2011 From: nginx-forum на nginx.us (locojohn) Date: Tue, 12 Jul 2011 21:12:00 -0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <20110712175243.GH42265@mdounin.ru> References: <20110712175243.GH42265@mdounin.ru> Message-ID: <6544483a6106733b7ea2953ac49c4536.NginxMailingListRussian@forum.nginx.org> Tried it and it DOES work with php-fpm. The phpinfo() call proves the parent include_path is inherited from php.ini and then concatenated with "/my/other/include/path"! However, this hack is too dirty to use in the production environment! Anxiously waiting for the version update so we could use \${var_name} or something directly within fastcgi_param arguments! --- С php-fpm РАБОТАЕТ! Вызов phpinfo() доказывает, что путь устанавливается верно из наследуемой include_path (из php.ini) c последующим добавлением к пути "/my/other/include/path"! Однако, этот хак действительно грязноват для использования на продакшн серверах. С нетерпением ожидаю обновления версии nginx, в которую войдёт поддержка "эскейпированных" переменных типа \$include_path внутри параметров для fastcgi_param. Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212288,212307#msg-212307 From perusio на gmail.com Wed Jul 13 08:14:38 2011 From: perusio на gmail.com (perusio на gmail.com) Date: Wed, 13 Jul 2011 05:14:38 +0100 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <6544483a6106733b7ea2953ac49c4536.NginxMailingListRussian@forum.nginx.org> References: <20110712175243.GH42265@mdounin.ru> <6544483a6106733b7ea2953ac49c4536.NginxMailingListRussian@forum.nginx.org> Message-ID: <87zkki24wh.wl%appa@perusio.net> On 13 Jul 2011 02h12 WEST, nginx-forum на nginx.us wrote: > Tried it and it DOES work with php-fpm. The phpinfo() call proves > the parent include_path is inherited from php.ini and then > concatenated with "/my/other/include/path"! I'm unable to reproduce that. The $ gets escaped, yes it's true but php-fpm bombs out with: WARNING: [pool www] child 8925 said into stderr: "PHP: syntax error, unexpected '$' in Unknown on line 1" This is what appears in the error log using the debug level. [debug] 26550#0: *2708 http geo started: ::ffff:127.0.0.1 [debug] 26550#0: *2708 http geo: ${include_path}:/my/other/include/path [debug] 26550#0: *2708 http script copy: "PHP_VALUE" [debug] 26550#0: *2708 http script var:"${include_path}:/my/other/include/path" [debug] 26550#0: *2708 fastcgi param: "PHP_VALUE: ${include_path}:/my/other/include/path" > However, this hack is too dirty to use in the production > environment! Anxiously waiting for the version update so we could > use \${var_name} or something directly within fastcgi_param > arguments! Can you please elaborate on how you get the $include_path "variable" expanded? спасибо, --- appa From nginx-forum на nginx.us Wed Jul 13 09:23:00 2011 From: nginx-forum на nginx.us (sergeyn) Date: Wed, 13 Jul 2011 01:23:00 -0400 Subject: nginx.conf In-Reply-To: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> References: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> Message-ID: <531c05e9d0f02622d171af59a7a6e239.NginxMailingListRussian@forum.nginx.org> Там все хорошо, но я не знаю того, что должен знать человек, читающий эту документацию. Например: location ~ \.php$ { include /etc/nginx/fastcgi_params; if ($uri !~ "^/images/") { fastcgi_pass 127.0.0.1:9000; } } На каком языке написана эта конструкция, что она означает и где можно подробно прочитать про синтаксис, чтобы понимать конфигурационные файлы примеров? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212280,212314#msg-212314 From nefer05 на gmail.com Wed Jul 13 10:29:17 2011 From: nefer05 на gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Wed, 13 Jul 2011 10:29:17 +0400 Subject: nginx.conf In-Reply-To: <531c05e9d0f02622d171af59a7a6e239.NginxMailingListRussian@forum.nginx.org> References: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> <531c05e9d0f02622d171af59a7a6e239.NginxMailingListRussian@forum.nginx.org> Message-ID: > На каком языке написана эта > конструкция, что она означает и где > можно подробно прочитать про > синтаксис, чтобы понимать > конфигурационные файлы примеров? Это не язык, это конфиг nginx. Что бы понять что тут написано стоит прочитать то что написано ДО примера. Да, документация не всегда отражает актуальное состояние, но все основные вещи описаны и весьма неплохо. From pansg на yandex.ru Wed Jul 13 11:47:00 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Wed, 13 Jul 2011 11:47:00 +0400 Subject: nginx.conf In-Reply-To: <531c05e9d0f02622d171af59a7a6e239.NginxMailingListRussian@forum.nginx.org> References: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> <531c05e9d0f02622d171af59a7a6e239.NginxMailingListRussian@forum.nginx.org> Message-ID: <351351310543222@web155.yandex.ru> Источники документации: nginx.org , wiki.nginx.org , книга nginx http server 13.07.2011, 09:23, "sergeyn" : > Там все хорошо, но я не знаю того, что > должен знать человек, читающий эту > документацию. Например: > > location ~ \.php$ { >   include /etc/nginx/fastcgi_params; >   if ($uri !~ "^/images/") { >     fastcgi_pass 127.0.0.1:9000; >   } > } > > На каком языке написана эта > конструкция, что она означает и где > можно подробно прочитать про > синтаксис, чтобы понимать > конфигурационные файлы примеров? > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212280,212314#msg-212314 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From igor на sysoev.ru Wed Jul 13 12:11:53 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Wed, 13 Jul 2011 12:11:53 +0400 Subject: nginx.conf In-Reply-To: <531c05e9d0f02622d171af59a7a6e239.NginxMailingListRussian@forum.nginx.org> References: <9e185f33959b46106412496873a1a505.NginxMailingListRussian@forum.nginx.org> <531c05e9d0f02622d171af59a7a6e239.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110713081152.GD67586@sysoev.ru> On Wed, Jul 13, 2011 at 01:23:00AM -0400, sergeyn wrote: > Там все хорошо, но я не знаю того, что > должен знать человек, читающий эту > документацию. Например: > > location ~ \.php$ { > include /etc/nginx/fastcgi_params; > if ($uri !~ "^/images/") { > fastcgi_pass 127.0.0.1:9000; > } > } > > На каком языке написана эта > конструкция, что она означает и где > можно подробно прочитать про > синтаксис, чтобы понимать > конфигурационные файлы примеров? http://nginx.org/en/docs/http/request_processing.html А приведённую выше конструцию использовать не нужно. Правильно вот так: location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; } location ^~ /images/ { } -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Wed Jul 13 13:57:55 2011 From: nginx-forum на nginx.us (locojohn) Date: Wed, 13 Jul 2011 05:57:55 -0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <87zkki24wh.wl%appa@perusio.net> References: <87zkki24wh.wl%appa@perusio.net> Message-ID: <371f0960768d01660cd633ddd490336f.NginxMailingListRussian@forum.nginx.org> Hi Appa, For starters, which version of nginx and PHP are you using? I am using nginx 1.0.4 and PHP 5.3.6. Next, in the nginx configuration I do: http { [...] # geo directive must be set on the http level geo $x { default "${include_path}:/my/other/include/path"; } [...] } then, in a virtual host configuration: server { [...] # php-fpm upstream location ~ ^(?.+\.php)(?[^?]*)$ { include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$SCRIPT_FILENAME; fastcgi_param PATH_INFO $PATH_INFO; fastcgi_param PATH_TRANSLATED $document_root$PATH_INFO; # set site-specific php configuration parameters fastcgi_param PHP_VALUE $x; if (-f $document_root$SCRIPT_FILENAME) { fastcgi_pass phpfarm; } } Then I created a test.php file in the document root with the following contents: And when calling the script, it outputs: ".:/usr/share/php:/my/other/include/path", so it works for me. Let's find out why it doesn't work for you? Andrejs Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212288,212327#msg-212327 From a.vasilishin на kpi.ua Wed Jul 13 15:14:09 2011 From: a.vasilishin на kpi.ua (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=F7=C1=D3=C9=CC=C9=DB=C9=CE?=) Date: Wed, 13 Jul 2011 14:14:09 +0300 Subject: Using 32768KiB of shared memory for push module in... In-Reply-To: References: Message-ID: <4E1D7E01.8070902@kpi.ua> 12.07.2011 18:25, Yorick пишет: > А кто-нить доковырял проблему > озвученную в топиках: Я под дебиан собрал свой nginx-extras c блекджеком и ... Идею сделать графическое меню к установщику, где можно было б выбрать нужные модули - майнтайнеры не поддержали. -- WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE From perusio на gmail.com Wed Jul 13 18:59:41 2011 From: perusio на gmail.com (=?UTF-8?B?QW50w7NuaW8=?= P. P. Almeida) Date: Wed, 13 Jul 2011 15:59:41 +0100 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <371f0960768d01660cd633ddd490336f.NginxMailingListRussian@forum.nginx.org> References: <87zkki24wh.wl%appa@perusio.net> <371f0960768d01660cd633ddd490336f.NginxMailingListRussian@forum.nginx.org> Message-ID: <87wrfm1b1e.wl%appa@perusio.net> On 13 Jul 2011 10h57 WEST, nginx-forum на nginx.us wrote: привет Andrejs, > Hi Appa, > > For starters, which version of nginx and PHP are you using? I am > using nginx 1.0.4 and PHP 5.3.6. Same here: I'm using 5.3.6-12 debian testing/unstable PHP packages. > Next, in the nginx configuration I do: > > http { > > [...] > > # geo directive must be set on the http level > geo $x { > default "${include_path}:/my/other/include/path"; > } > > [...] > > } Check. > then, in a virtual host configuration: > > server { > > [...] > > # php-fpm upstream > > location ~ ^(?.+\.php)(?[^?]*)$ { > include /etc/nginx/fastcgi_params; > > fastcgi_param SCRIPT_FILENAME $document_root$SCRIPT_FILENAME; > fastcgi_param PATH_INFO $PATH_INFO; > fastcgi_param PATH_TRANSLATED $document_root$PATH_INFO; > # set site-specific php configuration parameters > fastcgi_param PHP_VALUE $x; > > if (-f $document_root$SCRIPT_FILENAME) { > fastcgi_pass phpfarm; > } I'm not using PATH_INFO but rather a much more simple approach. This is just a test. location /fastcgi-test { fastcgi_pass phpcgi; } There's an include at the http level of a fastcgi configuration: ### Generic fastcgi configuration. include fastcgi_params; fastcgi_buffers 256 4k; fastcgi_intercept_errors on; ## allow 4 hrs - pass timeout responsibility to upstream. fastcgi_read_timeout 14400; fastcgi_index index.php; ## Hide the X-Drupal-Cache header provided by Pressflow. fastcgi_hide_header 'X-Drupal-Cache'; ## Hide the Drupal 7 header X-Generator. fastcgi_hide_header 'X-Generator'; Where fastcgi_params is: fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; ## PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; The test file is just: echo -e " index.php Like I reported there's an error generated by php-fpm that shows up in the php-fpm log. } > > Then I created a test.php file in the document root with the > following contents: > > printf("include_path is: \"%s\"\n", get_include_path()); > ?> > > And when calling the script, it outputs: > ".:/usr/share/php:/my/other/include/path", so it works for me. > > Let's find out why it doesn't work for you? I'm having problems understanding how a PARAM type message can be sent from the upstream (fpm in this case) to the server so that we can use it's value on the config. I'm mostly ignorant regarding the details of FCGI implementations, particularly Nginx FCGI module, but I'm under the (perhaps erroneous) impression that the parameters are sent from the server to the upstream and are not sent back from the upstream to the server. Is it so? As I understand it for the expansion of include_path to work there has to be another variable that contains its value as string so that it can be concatenated. Is it not? спасибо, Ant?nio From nginx-forum на nginx.us Wed Jul 13 20:12:23 2011 From: nginx-forum на nginx.us (locojohn) Date: Wed, 13 Jul 2011 12:12:23 -0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <87wrfm1b1e.wl%appa@perusio.net> References: <87wrfm1b1e.wl%appa@perusio.net> Message-ID: <8857c6433fb33cd905267b484d296ade.NginxMailingListRussian@forum.nginx.org> Ant?nio P. P. Almeida Wrote: ------------------------------------------------------- > > location /fastcgi-test { > fastcgi_pass phpcgi; > } how is phpcgi server node configured exactly? > I'm having problems understanding how a PARAM type > message can be sent > from the upstream (fpm in this case) to the server > so that we can use > it's value on the config. I'm mostly ignorant > regarding the details of > FCGI implementations, particularly Nginx FCGI > module, but I'm under > the (perhaps erroneous) impression that the > parameters are sent from > the server to the upstream and are not sent back > from the upstream to > the server. Is it so? PHP-FPM is a high performance interface to load php scripts in FastCGI environment, aimed at busy sites with multiple virtual hosts; it provides a number of useful options which are not available in other FastCGI implementations. One of the extra options is actually support for PHP_VALUE and PHP_ADMIN_VALUE special environment variables that instruct PHP-FPM to alter PHP configuration before passing control to the PHP script. PHP-FPM receives control from the server (upon fastcgi_pass call), prepares PHP runtime environment and loads the PHP script referenced by the SCRIPT_FILENAME environment variable. As to parsing special PHP_VALUE and PHP_ADMIN_VALUE environment variables, PHP-FPM allows references to existing PHP configuration settings, that will be substituted by the appropriate values, in the form of ${option_name}. When it detects such variable reference in the PHP_VALUE or PHP_ADMIN_VALUE environment string, it substitutes the ${option_name} construct with the actual master (current) value of the specified PHP variable (usually taken from php.ini). As to the geo setting example provided, I think there was a mistake, and this is why your script might have failed. Try: geo $x { default "include_path=${include_path}:/my/other/include/path"; } fastcgi_pass $x; or geo $x { default "${include_path}:/my/other/include/path"; } fastcgi_pass "include_path=$x"; > As I understand it for the expansion of > include_path to work there has to > be another variable that contains its value as > string so that it can be concatenated. Is it not? Indeed, the variable is usually defined in the master php.ini file, or other php.ini files that are loaded by default. Although, it was a bit difficult to explain, I hope it still makes some sense! Andrejs Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212288,212340#msg-212340 From nginx-forum на nginx.us Wed Jul 13 20:30:54 2011 From: nginx-forum на nginx.us (locojohn) Date: Wed, 13 Jul 2011 12:30:54 -0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <8857c6433fb33cd905267b484d296ade.NginxMailingListRussian@forum.nginx.org> References: <87wrfm1b1e.wl%appa@perusio.net> <8857c6433fb33cd905267b484d296ade.NginxMailingListRussian@forum.nginx.org> Message-ID: locojohn Wrote: > fastcgi_pass "include_path=$x"; Sorry, of course: fastcgi_param PHP_VALUE "include_path=$x"; It's very hot here so I got confused myself... Andrejs Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212288,212341#msg-212341 From perusio на gmail.com Wed Jul 13 22:19:24 2011 From: perusio на gmail.com (=?UTF-8?B?QW50w7NuaW8=?= P. P. Almeida) Date: Wed, 13 Jul 2011 19:19:24 +0100 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: References: <87wrfm1b1e.wl%appa@perusio.net> <8857c6433fb33cd905267b484d296ade.NginxMailingListRussian@forum.nginx.org> Message-ID: <87tyaq11sj.wl%appa@perusio.net> On 13 Jul 2011 17h30 WEST, nginx-forum на nginx.us wrote: I forgot the fastcgi_param "include_path=$x"; in my previous message. It was there, but I forgot to paste it here. 1. I cannot make it work. In order for it to work it requires that the PHP_VALUE facility behaves like a .ini file. According to http://www.php.net/manual/en/configuration.file.php since PHP 5.1 you can refer to previous runtime parameters in the .ini file with ${parameter_name}. 2. From the FCGI spec the params are an unidirectional thing: from Nginx to the FCGI backend *only*. http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S5.2 3. I tried several combinations of quoting methods and none of them work. 4. I tried a "simpler" parameter like precision. geo $y { default "${precision}+1"; } with fastcgi_param PHP_VALUE "precision=$x"; Doesn't work either. It could be something in my PHP environment (e.g., Debian always patches PHP using sushosin - http://www.hardened-php.net/suhosin/a_feature_list.html) :( спасибо, Ant?nio From perusio на gmail.com Wed Jul 13 22:25:19 2011 From: perusio на gmail.com (=?UTF-8?B?QW50w7NuaW8=?= P. P. Almeida) Date: Wed, 13 Jul 2011 19:25:19 +0100 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: References: <87wrfm1b1e.wl%appa@perusio.net> <8857c6433fb33cd905267b484d296ade.NginxMailingListRussian@forum.nginx.org> Message-ID: <87sjqa11io.wl%appa@perusio.net> On 13 Jul 2011 17h30 WEST, nginx-forum на nginx.us wrote: > I forgot the fastcgi_param "include_path=$x"; > in my previous message. It was there, but I forgot to paste it here. > > 1. I cannot make it work. In order for it to work it requires that the > PHP_VALUE facility behaves like a .ini file. According to > http://www.php.net/manual/en/configuration.file.php since PHP 5.1 > you can refer to previous runtime parameters in the .ini file with > ${parameter_name}. > > 2. From the FCGI spec the params are an unidirectional thing: from > Nginx to the FCGI backend > *only*. http://www.fastcgi.com/devkit/doc/fcgi-spec.html#S5.2 > > 3. I tried several combinations of quoting methods and none of them > work. > > 4. I tried a "simpler" parameter like precision. > > geo $y { > default "${precision}+1"; > } - with fastcgi_param PHP_VALUE "precision=$x"; + with fastcgi_param PHP_VALUE "precision=$y"; спасибо, Ant?nio From nginx-forum на nginx.us Wed Jul 13 22:52:21 2011 From: nginx-forum на nginx.us (locojohn) Date: Wed, 13 Jul 2011 14:52:21 -0400 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: Message-ID: <8195c83d9a23a599940b0fb733cca90c.NginxMailingListRussian@forum.nginx.org> Sergey Shepelev Wrote: ------------------------------------------------------- > >> Это > >> очень редкая ситуация, > чаще > >> всего в апачевых воркерах > >> выполняются > >> (весьма успешно) > приложения > >> Perl/PHP/etc. nginx этого делать > не > >> умеет, > > > > ????? > > > > Ещё как умеет.  Летает всё. >  nginx/fastcgi + php-fpm > > + php + apc. > > > > В данном случае PHP > приложения запускает php-fpm. > А nginx только > проксирует на него запросы > по протоколу FastCGI. Из вашего первого письма следует, что связка PHP + nginx не работает вообще, я вас поправил, так как работает на "ура". Сергей Шепелев: Любая разница и тонкости различия между FastCGI+nginx и mod_php+apache фиксируются путём установки правильного окружения (переменные окружения сервера). Например, в Apache+mod_php используются SCRIPT_URI, SCRIPT_URL, PATH_INFO, PATH_TRANSLATED, а PHP_SELF ссылается не на сам php script, а на заданный request uri без аргументов. Всё это конфигурируется в nginx, путём создания точно такого же окружения, какой требуют PHP скрипты, использующие вышечисленные переменные. Наверняка, drupal как раз использует PATH_* переменные, а также PHP_SELF, и их нужно просто правильно прописывать в nginx fastcgi environment. Что касается производительности, так мне кажется, что nginx + php-fpm + apc работает по крайней мере так же быстро как apache + php-fpm + apc, если не быстрее. Я бы вообще убрал Apache и не проксировал бы динамику на него, то есть, я так и сделал. Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,211498,212353#msg-212353 From chipitsine на gmail.com Thu Jul 14 13:23:28 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Thu, 14 Jul 2011 15:23:28 +0600 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: <8195c83d9a23a599940b0fb733cca90c.NginxMailingListRussian@forum.nginx.org> References: <8195c83d9a23a599940b0fb733cca90c.NginxMailingListRussian@forum.nginx.org> Message-ID: навскидку, пацаны из друпала не умеют делать прогресс для закачек ни на чем кроме апача (соответственно, не работает не просто прогресс, а закачка как факт): http://drupal.org/node/654732 14 июля 2011 г. 0:52 пользователь locojohn написал: > Sergey Shepelev Wrote: > ------------------------------------------------------- > > > >> Это > > >> очень редкая ситуация, > > чаще > > >> всего в апачевых воркерах > > >> выполняются > > >> (весьма успешно) > > приложения > > >> Perl/PHP/etc. nginx этого делать > > не > > >> умеет, > > > > > > ????? > > > > > > Ещё как умеет. Летает всё. > > nginx/fastcgi + php-fpm > > > + php + apc. > > > > > > > В данном случае PHP > > приложения запускает php-fpm. > > А nginx только > > проксирует на него запросы > > по протоколу FastCGI. > > Из вашего первого письма следует, что > связка PHP + nginx не работает вообще, я вас > поправил, так как работает на "ура". > > Сергей Шепелев: > > Любая разница и тонкости различия > между FastCGI+nginx и mod_php+apache фиксируются > путём установки правильного окружения > (переменные окружения сервера). > Например, в Apache+mod_php используются SCRIPT_URI, > SCRIPT_URL, PATH_INFO, PATH_TRANSLATED, а PHP_SELF ссылается > не на сам php script, а на заданный request uri без > аргументов. Всё это конфигурируется в > nginx, путём создания точно такого же > окружения, какой требуют PHP скрипты, > использующие вышечисленные > переменные. Наверняка, drupal как раз > использует PATH_* переменные, а также > PHP_SELF, и их нужно просто правильно > прописывать в nginx fastcgi environment. > > Что касается производительности, так > мне кажется, что nginx + php-fpm + apc работает > по крайней мере так же быстро как apache + > php-fpm + apc, если не быстрее. Я бы вообще > убрал Apache и не проксировал бы динамику > на него, то есть, я так и сделал. > > Андрей > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,211498,212353#msg-212353 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Thu Jul 14 13:50:42 2011 From: nginx-forum на nginx.us (Qaz) Date: Thu, 14 Jul 2011 05:50:42 -0400 Subject: =?UTF-8?B?0KHQu9C+0LbQvdGL0Lkg0YDQtdC00LjRgNC10LrRgg==?= Message-ID: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> Добрый день, сложилась ситуация когда есть например domain.com, и у него есть куча всяких поддоменов, типа something1.domain.com, something2.domain.com и т.д., и есть приложение которое надо поместить на все поддомены сайта, например messenger.something.domain.com, тоесть вот так: messenger.*.domain.com, есть ли возможность в nginx'е написать такой реврайт? Заранее спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212380,212380#msg-212380 From nginx-forum на nginx.us Thu Jul 14 13:52:37 2011 From: nginx-forum на nginx.us (Qaz) Date: Thu, 14 Jul 2011 05:52:37 -0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> References: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> Message-ID: <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> Добавлю: тоесть редиректить messenger.*.domain.com на messenger.domain.com Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212380,212381#msg-212381 From latypoff на yandex.ru Thu Jul 14 13:57:29 2011 From: latypoff на yandex.ru (Denis F. Latypoff) Date: Thu, 14 Jul 2011 16:57:29 +0700 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> References: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> Message-ID: <717881310637449@web49.yandex.ru> 14.07.2011, 16:52, "Qaz" : > Добавлю: тоесть редиректить > messenger.*.domain.com на messenger.domain.com > server { listen 80; server_name A.*.B.C; rewrite ^ http://A.B.C$request_uri? [redirect|permanent]; # тип редиректа по вкусу } server { listen 80; server_name A.B.C; ... } -- br, Denis F. Latypoff. From pansg на yandex.ru Thu Jul 14 14:23:48 2011 From: pansg на yandex.ru (=?koi8-r?B?58zB2sHexdcg98zBxMnNydI=?=) Date: Thu, 14 Jul 2011 14:23:48 +0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> References: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> Message-ID: <563211310639029@web11.yandex.ru> как-то так: if ($host !~* (messenger.domain.com)) { rewrite (.*) http://messenger.domain.com$1 permanent; } 14.07.2011, 13:52, "Qaz" : > Добавлю: тоесть редиректить > messenger.*.domain.com на messenger.domain.com > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212380,212381#msg-212381 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Thu Jul 14 15:30:08 2011 From: nginx-forum на nginx.us (Qaz) Date: Thu, 14 Jul 2011 07:30:08 -0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> References: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> Message-ID: <8be7e45db4abc466ca50adae950550a6.NginxMailingListRussian@forum.nginx.org> Не работает ни так ни так :( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212380,212385#msg-212385 From igor на sysoev.ru Thu Jul 14 15:40:55 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Thu, 14 Jul 2011 15:40:55 +0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <563211310639029@web11.yandex.ru> References: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> <563211310639029@web11.yandex.ru> Message-ID: <20110714114055.GA11771@sysoev.ru> On Thu, Jul 14, 2011 at 02:23:48PM +0400, Глазачев Владимир wrote: > как-то так: > > > if ($host !~* (messenger.domain.com)) { > rewrite (.*) http://messenger.domain.com$1 permanent; > } Ни в коем случае: http://nginx.org/en/docs/http/converting_rewrite_rules.html > 14.07.2011, 13:52, "Qaz" : > > Добавлю: тоесть редиректить > > messenger.*.domain.com на messenger.domain.com -- Igor Sysoev From igor на sysoev.ru Thu Jul 14 15:42:24 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Thu, 14 Jul 2011 15:42:24 +0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <717881310637449@web49.yandex.ru> References: <6a1d7d9b865d0ac1080225ab9279e943.NginxMailingListRussian@forum.nginx.org> <29bf73671fc0c1ad33d4653806038e25.NginxMailingListRussian@forum.nginx.org> <717881310637449@web49.yandex.ru> Message-ID: <20110714114223.GB11771@sysoev.ru> On Thu, Jul 14, 2011 at 04:57:29PM +0700, Denis F. Latypoff wrote: > 14.07.2011, 16:52, "Qaz" : > > Добавлю: тоесть редиректить > > messenger.*.domain.com на messenger.domain.com > > > server { > listen 80; > server_name A.*.B.C; server_name ~^messenger\.[^\.]+\.domain\.com$; > rewrite ^ http://A.B.C$request_uri? [redirect|permanent]; # тип редиректа по вкусу > } > > server { > listen 80; > server_name A.B.C; > ... > } -- Igor Sysoev From nginx-forum на nginx.us Thu Jul 14 15:59:52 2011 From: nginx-forum на nginx.us (Qaz) Date: Thu, 14 Jul 2011 07:59:52 -0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: <20110714114223.GB11771@sysoev.ru> References: <20110714114223.GB11771@sysoev.ru> Message-ID: Спасибо Игорь что Вы лично отписали, но так тоже не работает, перенаправляет на domain.com :( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212380,212388#msg-212388 From igor на sysoev.ru Thu Jul 14 16:07:47 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Thu, 14 Jul 2011 16:07:47 +0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: References: <20110714114223.GB11771@sysoev.ru> Message-ID: <20110714120747.GC11771@sysoev.ru> On Thu, Jul 14, 2011 at 07:59:52AM -0400, Qaz wrote: > Спасибо Игорь что Вы лично отписали, но > так тоже не работает, перенаправляет на > domain.com :( Редиректит или сразу показывает domain.com ? Скорее всего, ошибка в регулярном выражении. server { server_name ~^messenger\.[^\.]+\.domain\.com$; rewrite ^ http://messanger.domain.com$request_uri? permanent; } server { server_name messenger.domain.com; ... } -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Thu Jul 14 16:13:56 2011 From: nginx-forum на nginx.us (Qaz) Date: Thu, 14 Jul 2011 08:13:56 -0400 Subject: =?UTF-8?B?UmU6INCh0LvQvtC20L3Ri9C5INGA0LXQtNC40YDQtdC60YI=?= In-Reply-To: References: <20110714114223.GB11771@sysoev.ru> Message-ID: <4a553fe3dd1936e74887d155d1e866bd.NginxMailingListRussian@forum.nginx.org> Заработало! Большое спасибо Вам Игорь за Ваше детище! :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212380,212390#msg-212390 From perusio на gmail.com Thu Jul 14 16:38:04 2011 From: perusio на gmail.com (=?UTF-8?B?QW50w7NuaW8=?= P. P. Almeida) Date: Thu, 14 Jul 2011 13:38:04 +0100 Subject: =?UTF-8?B?UmU6INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBuZ2lu?= =?UTF-8?B?eA==?= In-Reply-To: References: <8195c83d9a23a599940b0fb733cca90c.NginxMailingListRussian@forum.nginx.org> Message-ID: <87r55t11hv.wl%appa@perusio.net> On 14 Jul 2011 10h23 WEST, chipitsine на gmail.com wrote: > навскидку, пацаны из друпала не умеют делать прогресс для закачек ни > на чем кроме апача (соответственно, не работает не просто прогресс, > а закачка как факт): > > http://drupal.org/node/654732 Drupal does have upload progress support for Nginx. http://drupal.org/project/filefield_nginx_progress Of course it requires the upload progress 3rd party module https://github.com/masterzen/nginx-upload-progress-module The problem is that currently doesn't work with drupal 7 :( http://drupal.org/node/1159400 --- appa From postmaster на softsearch.ru Thu Jul 14 16:58:50 2011 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Thu, 14 Jul 2011 16:58:50 +0400 Subject: =?UTF-8?B?UmVbMl06INCa0YDRg9C/0L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuCBu?= =?UTF-8?B?Z2lueA==?= In-Reply-To: References: <8195c83d9a23a599940b0fb733cca90c.NginxMailingListRussian@forum.nginx.org> Message-ID: <1514054662.20110714165850@softsearch.ru> Здравствуйте, Илья. > навскидку, пацаны из друпала не умеют делать прогресс для закачек ни > на чем кроме апача (соответственно, не работает не просто прогресс, > а закачка как факт): > http://drupal.org/node/654732 Есть мнение, что прогресс закачки актуален только для больших файлов, т.е. для видео, т.е. сайт должен быть видеохостингом. Делать видеохостинг на Друпале, как и на любой другой публичной CMS, не лучшая затея. Так что "пацаны из Друпала" правильно сделали, что занимаются другими вещами. -- С уважением, Михаил mailto:postmaster на softsearch.ru From chipitsine на gmail.com Thu Jul 14 17:21:24 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Thu, 14 Jul 2011 19:21:24 +0600 Subject: =?UTF-8?B?UmU6IFJlWzJdOiDQmtGA0YPQv9C90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC7?= =?UTF-8?B?0Lggbmdpbng=?= In-Reply-To: <1514054662.20110714165850@softsearch.ru> References: <8195c83d9a23a599940b0fb733cca90c.NginxMailingListRussian@forum.nginx.org> <1514054662.20110714165850@softsearch.ru> Message-ID: я полностью согласен. просто мораль была в другом - дьявол кроется в детатях. апач занимает 70 процентов рынка и популярные CMS де факто затачиваются под него, а под nginx, который занимает 7 процентов рынка - могут быть нюансы (хотя в целом - да, работает) 14 июля 2011 г. 18:58 пользователь Михаил Монашёв написал: > Здравствуйте, Илья. > > > навскидку, пацаны из друпала не умеют делать прогресс для закачек ни > > на чем кроме апача (соответственно, не работает не просто прогресс, > > а закачка как факт): > > > http://drupal.org/node/654732 > > Есть мнение, что прогресс закачки актуален только для больших файлов, > т.е. для видео, т.е. сайт должен быть видеохостингом. Делать > видеохостинг на Друпале, как и на любой другой публичной CMS, не > лучшая затея. Так что "пацаны из Друпала" правильно сделали, что > занимаются другими вещами. > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sergey.kobzar на itcraft.org Fri Jul 15 01:46:26 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 15 Jul 2011 00:46:26 +0300 Subject: Load balancer with traffic limit Message-ID: <4E1F63B2.6030007@itcraft.org> В датаценте, где арендуем сервера установлен лимит по трафику. Превышение лимита строго карается денгами. Решили разнести нагрузку на несколько серверов. Но идея в следующем - входящие запросы поступают на frontend (load balancer), а ответы уходят напрямую от backend серверов клиентам. Есть несколько вопросов: 1. Чем грозит такая ассиметричная схема? 2. Необходимо ли включать ip_hash или без разницы? 3. Конфиг: server { listen 80 default; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log info; location / { proxy_pass http://backend; proxy_next_upstream error timeout http_502 http_504; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } - есть замечания? Спасибо. From fry.kun на gmail.com Fri Jul 15 02:51:46 2011 From: fry.kun на gmail.com (Konstantin Svist) Date: Thu, 14 Jul 2011 15:51:46 -0700 Subject: =?UTF-8?B?cmVkaXJlY3Qg0L3QtSDRgNCw0LHQvtGC0LDQtdGC?= Message-ID: <4E1F7302.2080408@gmail.com> Конфиг: rewrite ^(.*)$ "$arg_r?" redirect; Запрос: curl -v 'http://localhost/redir?r=http%3A%2F%2Fwww.example.com%2F%3Fa%3D1%26b%3D2%26c%3D3' Ответ: Location: http://www.example.com/?a%3D1%26b%3D2%26c%3D3 Так и должно быть? Или баг? From nginx-forum на nginx.us Fri Jul 15 10:27:09 2011 From: nginx-forum на nginx.us (burguyd) Date: Fri, 15 Jul 2011 02:27:09 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: Message-ID: <59a4429f7ee150644401ceed3689bf1e.NginxMailingListRussian@forum.nginx.org> Все сконфигурирови по приведенным выше рекомендациям. Скорость существенно возросла, однако при включении дополнительных поддоменов появилась новая проблема. Через несколько минут, после запуска nginx ПО ВСЕМ адресам вида *.brsu.by начинает грузится один из доменов третьего уровня. После очистки кеша и перезапуска nginx несколько минут все работает нормально, а потом опять фейл. Конфиг nginx: # Пользователь UID/GID которого будет использоваться, если был запущет от рута user _nginx; # Количество рабочих процессов. Рекомендуется устанавливать равным колличеству ядер # Умножается на значение параметра worker_connections в секции events worker_processes 2; # Пишем логи об ошибках # Первым значением параметра должен быть путь к файлу, вторым (необязательным) - уровень детализации # Уровни детализации (в порядке увеличения): debug, info, notice, warn, error, crit. error_log /var/log/nginx/error.log warn; # В секции events настраивается подведение Nginx относительно сетевых соединений events { # (worker_connections) X (worker_processes) = максимально возможное количество одновременных соединений к серверу worker_connections 1024; # Метод обработки соединений. kqueue - эффективный метод, используемый в BSD use kqueue; } # Секция описания виртуальных хостов http { # Подключаем таблицу соответствий расширений и MIME-типов ответов include mime.types; # MIME-тип выдаваемый сервером по умолчанию default_type application/octet-stream; # Cбрасываем соединение по таймауту. Сброс делается следующим образом . # перед закрытием сокета для него ставится опция SO_LINGER с таймаутом 0. # После чего при закрытии сокета клиенту отсылается пакет RST, а всё память, связанная с этим сокетом, освобождается. #Это позволяет избежать длительного нахождения уже закрытого сокета в состоянии FIN_WAIT1 с заполненными буферами. reset_timedout_connection on; # Отправляем данные в сеть, минуя этап их копирования в адресное пространство приложения sendfile on; # Разрешаем передачу заголовка ответа и начала файла в одном пакете, а также файлa в полных пакетах tcp_nopush on; # Разрешаем отдравку данных без задержек, за счет отправки "неполных" пакетов tcp_nodelay on; # Таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера # Для сайтов, активно использующих AJAX, соединение лучше держать подольше # Для статических страничек, которые пользователи будут долго читать, соединение лучше разрывать пораньше keepalive_timeout 65; # Включаем сжатие # # Разрешаем сжатие ответов методом gzip gzip on; # Число и размер буферов, в которые будет сжиматься ответ gzip_buffers 16 8k; # Устанавливает уровень сжатия от 1 до 9 gzip_comp_level 6; # Отключаем компрессию для шестого осла gzip_disable "msie6"; # Минимальный размер сжимаемых файлов gzip_min_length 500; # Устанавливает минимальную версию HTTP запроса для сжатия ответа gzip_http_version 1.1; # Разрешает или запрещает сжатие для проксированных запросов в зависимости от запроса и ответа. # То что, запрос проксированный, определяется на основании строки "Via" в заголовке запроса. gzip_proxied any; # Разрешает сжатие для указанных MIME-типов в дополнение к "text/html". "text/html" сжимается всегда. gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; # Разрешает выдавать в ответе строку заголовка "Vary: Accept-Encoding" gzip_vary on; # Включаем проксирование # #размер буфера, в который будет читаться первая часть ответа, получаемого от проксируемого сервера. proxy_buffer_size 4k; #разрешаем использовать буферизацию ответа проксируемого сервера proxy_buffering on; # число и размер буферов для одного соединения, в которые будет читаться ответ, получаемый от проксируемого сервера. proxy_buffers 4 32k; # Ключ кеша proxy_cache_key "$scheme$proxy_host$uri$is_args$args"; # Зона для кеширования proxy_cache_path /home/nginx-cache levels=1:2 keys_zone=my_cache:1024m max_size=3092m inactive=2h; # зона для кэширования proxy_cache my_cache; # число запросов, после которого ответ будет закэширован. proxy_cache_min_uses 1; # время кэширования для разных ответов proxy_cache_valid 200 2h; # если ваш скрипт отдал одну из описанных ошибок, использовать вариант из кеша proxy_cache_use_stale updating error timeout invalid_header http_500 http_502 http_503 http_504 http_404; # таймаут для соединения с проксированным сервером 60 секунд proxy_connect_timeout 60; # разрешает передавать от проксируемого сервера клиенту sid в Cookie proxy_pass_header Cookie; # закрывать соединение с проксированным сервером в случае, если клиент закрыл соединение, не дождавшись ответа. proxy_ignore_client_abort off; # передавать клиенту проксированные ответы с кодом больше или равные 400 proxy_intercept_errors off; #Не меняем заголовки "Location" и "Refresh" в ответе проксируемого сервера proxy_redirect off; # таймаут при чтении ответа проксированного сервера proxy_read_timeout 60; # таймаут при передаче запроса проксированному серверу proxy_send_timeout 60; # Переопределяем заголовки запросов передаваемых проксируемому серверу proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Описываем группы серверов, которые могут использоваться в директивах proxy_pass upstream backend {server 82.219.195.2:80;} # Дальше идет описание виртуальных серверов # Виртуальный хост по-умолчанию. server { listen 80 default; server_name localhost; deny all; } # Подключаем остальные виртуальные сервера server { listen 80; server_name .brsu.by; location / { proxy_pass http://backend; access_log off; } location ~ /\.ht { deny all; } } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212034,212416#msg-212416 From nefer05 на gmail.com Fri Jul 15 12:11:54 2011 From: nefer05 на gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Fri, 15 Jul 2011 12:11:54 +0400 Subject: Load balancer with traffic limit In-Reply-To: <4E1F63B2.6030007@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> Message-ID: > Решили разнести нагрузку на несколько серверов. Но идея в следующем - > входящие запросы поступают на frontend (load balancer), а ответы уходят > напрямую от backend серверов клиентам. Мне кажется, клиент ОЧЕНЬ удивится, когда ему придет ответ от другого сервера. Так что надо мудрить что б исходящие пакеты шли от имени IP фронтэнда. А включать или нет хэш зависит от того что крутится на бэкэнде. Если система может отрабатывать разные запросы от одного клиента на разных бэкэндах - то не надо, а если оно этому не обучено - то надо гарантировать что второй запрос от клиента уйдет на тот же сервер -> нужен хэш. From sergey.kobzar на itcraft.org Fri Jul 15 12:45:01 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 15 Jul 2011 11:45:01 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> Message-ID: <4E1FFE0D.5060703@itcraft.org> On 07/15/11 11:11, Роман Москвитин wrote: > Мне кажется, клиент ОЧЕНЬ удивится, когда ему придет ответ от другого сервера. > Так что надо мудрить что б исходящие пакеты шли от имени IP фронтэнда. Вот этого и хочется избежать. Хотя по видимому никак. > А включать или нет хэш зависит от того что крутится на бэкэнде. Если > система может отрабатывать разные запросы от одного клиента на разных бэкэндах - то > не надо, а если оно этому не обучено - то надо гарантировать что второй запрос от > клиента уйдет на тот же сервер -> нужен хэш. Я задал вопрос т.к. не уверен как будет выглядеть со стороны клиента ситуация, когда он запрос послал на один адрес, ответ получил с другого а след. ответ получил с третьего :) Видимо затея не самая лучшая. From voron на amhost.net Fri Jul 15 12:48:29 2011 From: voron на amhost.net (Alex Vorona) Date: Fri, 15 Jul 2011 11:48:29 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E1F63B2.6030007@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> Message-ID: <4E1FFEDD.7030408@amhost.net> 15.07.2011 00:46, Sergey Kobzar wrote: > В датаценте, где арендуем сервера установлен лимит по трафику. Превышение лимита строго > карается денгами. 100TB за $200 по-моему уже давно реальность на нормальном железе, а кое-где и внутренняя сеть безлимитная. > > Решили разнести нагрузку на несколько серверов. Но идея в следующем - входящие запросы > поступают на frontend (load balancer), а ответы уходят напрямую от backend серверов клиентам. исключительно средствами nginx это сделать не получится. Он позволит только пропускать весь трафик через фронтенд или же выдавать http-редиректы, что вряд ли приемлемо. Пробуйте балансировку через DNS. From voron на amhost.net Fri Jul 15 12:55:13 2011 From: voron на amhost.net (Alex Vorona) Date: Fri, 15 Jul 2011 11:55:13 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: <59a4429f7ee150644401ceed3689bf1e.NginxMailingListRussian@forum.nginx.org> References: <59a4429f7ee150644401ceed3689bf1e.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E200071.1090209@amhost.net> 15.07.2011 09:27, burguyd wrote: > Все сконфигурирови по приведенным выше > рекомендациям. Скорость существенно > возросла, однако при включении > дополнительных поддоменов появилась > новая проблема. > Через несколько минут, после запуска > nginx ПО ВСЕМ адресам вида *.brsu.by начинает > грузится один из доменов третьего > уровня. После очистки кеша и > перезапуска nginx несколько минут все > работает нормально, а потом опять фейл. [...] > # Ключ кеша > proxy_cache_key "$scheme$proxy_host$uri$is_args$args"; А если proxy_cache_key "$scheme$host$uri$is_args$args"; ? From pansg на yandex.ru Fri Jul 15 12:55:45 2011 From: pansg на yandex.ru (Glazachev Vladimir) Date: Fri, 15 Jul 2011 12:55:45 +0400 Subject: Load balancer with traffic limit In-Reply-To: <4E1FFE0D.5060703@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFE0D.5060703@itcraft.org> Message-ID: <230981310720145@web23.yandex.ru> В данном случае, лучше просто сделать несколько А записей на домен на разные сервера 15.07.2011, 12:45, "Sergey Kobzar" : > On 07/15/11 11:11, Роман Москвитин wrote: > >>  Мне кажется, клиент ОЧЕНЬ удивится, когда ему придет ответ от другого сервера. >>  Так что надо мудрить что б исходящие пакеты шли от имени IP фронтэнда. > > Вот этого и хочется избежать. Хотя по видимому никак. > >>>  А включать или нет хэш зависит от того что крутится на бэкэнде. Если >>  система может отрабатывать разные запросы от одного клиента на разных бэкэндах - то >>  не надо, а если оно этому не обучено - то надо гарантировать что второй запрос от >>  клиента уйдет на тот же сервер ->  нужен хэш. > > Я задал вопрос т.к. не уверен как будет выглядеть со стороны клиента > ситуация, когда он запрос послал на один адрес, ответ получил с другого > а след. ответ получил с третьего :) > > Видимо затея не самая лучшая. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From sergey.kobzar на itcraft.org Fri Jul 15 12:58:49 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 15 Jul 2011 11:58:49 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E1FFEDD.7030408@amhost.net> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> Message-ID: <4E200149.60307@itcraft.org> On 07/15/11 11:48, Alex Vorona wrote: > 15.07.2011 00:46, Sergey Kobzar wrote: >> В датаценте, где арендуем сервера установлен лимит по трафику. Превышение лимита строго >> карается денгами. > 100TB за $200 по-моему уже давно реальность на нормальном железе, а кое-где и внутренняя > сеть безлимитная. Какие датацентры? 1and1 за превышение лимита в 6TB/month берет больше $1k (в зависимости от того, на сколько превысил). >> Решили разнести нагрузку на несколько серверов. Но идея в следующем - входящие запросы >> поступают на frontend (load balancer), а ответы уходят напрямую от backend серверов клиентам. > исключительно средствами nginx это сделать не получится. Он позволит только пропускать > весь трафик через фронтенд или же выдавать http-редиректы, что вряд ли приемлемо. > Пробуйте балансировку через DNS. DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, Меняю A запись в ДНС - все равно запросы (не много конечно) идут на старый адрес даже если TTL истекло. Я уже не говорю о быстром переключении, если один из серверов помер. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From boda2004 на gmail.com Fri Jul 15 13:07:06 2011 From: boda2004 на gmail.com (Alexander Bodnarashik) Date: Fri, 15 Jul 2011 12:07:06 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E200149.60307@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> Message-ID: <906ED194-4A07-45EF-BE0D-231F1FA92E0C@gmail.com> Если условия позволяют - может стоит попробовать LVS via direct routing? On Jul 15, 2011, at 11:58, Sergey Kobzar wrote: > On 07/15/11 11:48, Alex Vorona wrote: > >> 15.07.2011 00:46, Sergey Kobzar wrote: >>> В датаценте, где арендуем сервера установлен лимит по трафику. Превышение лимита строго >>> карается денгами. >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а кое-где и внутренняя >> сеть безлимитная. > > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет больше $1k (в зависимости от того, на сколько превысил). > >>> Решили разнести нагрузку на несколько серверов. Но идея в следующем - входящие запросы >>> поступают на frontend (load balancer), а ответы уходят напрямую от backend серверов клиентам. >> исключительно средствами nginx это сделать не получится. Он позволит только пропускать >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд ли приемлемо. >> Пробуйте балансировку через DNS. > > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, Меняю A запись в ДНС - все равно запросы (не много конечно) идут на старый адрес даже если TTL истекло. > > Я уже не говорю о быстром переключении, если один из серверов помер. > >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From voron на amhost.net Fri Jul 15 13:19:26 2011 From: voron на amhost.net (Alex Vorona) Date: Fri, 15 Jul 2011 12:19:26 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E200149.60307@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> Message-ID: <4E20061E.1000902@amhost.net> 15.07.2011 11:58, Sergey Kobzar wrote: > On 07/15/11 11:48, Alex Vorona wrote: > >> 15.07.2011 00:46, Sergey Kobzar wrote: >>> В датаценте, где арендуем сервера установлен лимит по трафику. Превышение лимита строго >>> карается денгами. >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а кое-где и внутренняя >> сеть безлимитная. > > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет больше $1k (в зависимости > от того, на сколько превысил). 100tb.com, сеть по USA + теперь есть в Лондоне, чуть дороже правда. > >>> Решили разнести нагрузку на несколько серверов. Но идея в следующем - входящие запросы >>> поступают на frontend (load balancer), а ответы уходят напрямую от backend серверов >>> клиентам. >> исключительно средствами nginx это сделать не получится. Он позволит только пропускать >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд ли приемлемо. >> Пробуйте балансировку через DNS. > > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, Меняю A запись в ДНС > - все равно запросы (не много конечно) идут на старый адрес даже если TTL истекло. > > Я уже не говорю о быстром переключении, если один из серверов помер. Да, но вариантов не так уж и много в плоской сети без проксирования трафика. From snar на snar.spb.ru Fri Jul 15 13:28:18 2011 From: snar на snar.spb.ru (Alexandre Snarskii) Date: Fri, 15 Jul 2011 13:28:18 +0400 Subject: Load balancer with traffic limit In-Reply-To: <4E1F63B2.6030007@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> Message-ID: <20110715092818.GA13874@snar.spb.ru> On Fri, Jul 15, 2011 at 12:46:26AM +0300, Sergey Kobzar wrote: > В датаценте, где арендуем сервера установлен лимит по трафику. > Превышение лимита строго карается денгами. > > Решили разнести нагрузку на несколько серверов. Но идея в следующем - > входящие запросы поступают на frontend (load balancer), а ответы уходят > напрямую от backend серверов клиентам. > > Есть несколько вопросов: > 1. Чем грозит такая ассиметричная схема? Тем, что на базе nginx'а она просто не заведется ;) Посмотрите вот на эту презентацию: http://www.nanog.org/meetings/nanog51/presentations/Monday/NANOG51.Talk45.nanog51-Schaumann.pdf там рассказывается как похожий на ваш сценарий построен в Yahoo. -- In theory, there is no difference between theory and practice. But, in practice, there is. From sergey.kobzar на itcraft.org Fri Jul 15 14:07:27 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 15 Jul 2011 13:07:27 +0300 Subject: Load balancer with traffic limit In-Reply-To: <906ED194-4A07-45EF-BE0D-231F1FA92E0C@gmail.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <906ED194-4A07-45EF-BE0D-231F1FA92E0C@gmail.com> Message-ID: <4E20115F.5000406@itcraft.org> On 07/15/11 12:07, Alexander Bodnarashik wrote: > Если условия позволяют - может стоит попробовать LVS via direct routing? Идея хорошая и я уже на нее смотрел, но нет тех. возможности: 1. Адреса назначаются хостером по DHCP. 2. Одному серверу назначается только один адрес 3. Сервера в разных подсетях. LVS умеет корректно обрабатывать http codes типа 502/504 и выкидывать mode из облака как это делает Nginx? From sergey.kobzar на itcraft.org Fri Jul 15 14:12:16 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 15 Jul 2011 13:12:16 +0300 Subject: Load balancer with traffic limit In-Reply-To: <20110715092818.GA13874@snar.spb.ru> References: <4E1F63B2.6030007@itcraft.org> <20110715092818.GA13874@snar.spb.ru> Message-ID: <4E201280.2030808@itcraft.org> On 07/15/11 12:28, Alexandre Snarskii wrote: > Тем, что на базе nginx'а она просто не заведется ;) > Посмотрите вот на эту презентацию: > > http://www.nanog.org/meetings/nanog51/presentations/Monday/NANOG51.Talk45.nanog51-Schaumann.pdf > > там рассказывается как похожий на ваш сценарий построен в Yahoo. Идея интересная - надо посмотреть. Спасибо. Но я все больше склоняюсь к мысли выноса static content (файлы) в другой датацентр без ограничения по трафику. Вероятно самое простое и эффективное решение. From nginx-forum на nginx.us Fri Jul 15 14:58:59 2011 From: nginx-forum на nginx.us (burguyd) Date: Fri, 15 Jul 2011 06:58:59 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: <4E200071.1090209@amhost.net> References: <4E200071.1090209@amhost.net> Message-ID: Да спасибо. Уже разобрался. Дело было именно в этом. Ключ не обеспечивал необходимую уникальность кеша Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212034,212441#msg-212441 From nginx-forum на nginx.us Fri Jul 15 14:59:45 2011 From: nginx-forum на nginx.us (burguyd) Date: Fri, 15 Jul 2011 06:59:45 -0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtCx0LvQtdC80LAg0LrQtdGI0LjRgNC+0LLQsNC90LjRjyDQvNC1?= =?UTF-8?B?0LTQu9C10L3QvdC+0LPQviDRg9C00LDQu9C10L3QvdC+0LPQviDRhNGA0L4=?= =?UTF-8?B?0L3RgtGN0L3QtNCw?= In-Reply-To: References: <4E200071.1090209@amhost.net> Message-ID: Еще раз спасибо всем, кто отозвался. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212034,212442#msg-212442 From boda2004 на gmail.com Fri Jul 15 15:46:18 2011 From: boda2004 на gmail.com (Alexander Bodnarashik) Date: Fri, 15 Jul 2011 14:46:18 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E20115F.5000406@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <906ED194-4A07-45EF-BE0D-231F1FA92E0C@gmail.com> <4E20115F.5000406@itcraft.org> Message-ID: <19F90D70-74A1-417F-81D7-AD8EE64F6B62@gmail.com> > LVS умеет корректно обрабатывать http codes типа 502/504 и выкидывать mode из облака как это делает Nginx? Да, например, средствами ldirectord можно запрашивать статическую страницу и проверять ответ. > 3. Сервера в разных подсетях. В принципе можно тогда попробовать ip tunneling, оверхед вроде небольшой. From nginx-forum на nginx.us Fri Jul 15 15:56:43 2011 From: nginx-forum на nginx.us (selfchief) Date: Fri, 15 Jul 2011 07:56:43 -0400 Subject: =?UTF-8?B?0J7RgtC00LDQstCw0YLRjCBkZWZhdWx0IGltYWdlLCDQtdGB0LvQuCDQvdC1INGB?= =?UTF-8?B?0YPRidC10YHRgtCy0YPQtdGCINC60LDRgNGC0LjQvdC60Lgu?= Message-ID: <486b98257e7127dab770af60b96e0246.NginxMailingListRussian@forum.nginx.org> Всем доброго дня! Есть задача отдавать default.jpg, если в папке нету запрашиваемого файла. Суть: Есть заросы вида: example.com/i/tpl/cities/moscow.jpg example.com/i/tpl/country/ru.jpg и куча подобных запросов. Нужно сделать так, что бы если файла не существует в этой папке, он пытался отдать из этой папки default.jpg и если его тоже нету, то отдавать 404 ошибку. есть сл. location ~* ^/(i|im)/ { expires 7d; } Сразу вспомнил про try_files Попробовал сделать: location ~* ^/(i|im)/ { expires 7d; try_files $uri $uri/default.png =404; } Но сразу понял, что в $uri хранится полный путь с именем файла. Почитал еще доступные переменные, нашел что то подходящее $realpath_root, эта переменная равна значению директивы root для текущего запроса, при этом все символические ссылки преобразованы в реальные путь; Но она тоже к сожалению не подошла. PS Заранее благодарен. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212446,212446#msg-212446 From mdounin на mdounin.ru Fri Jul 15 16:16:53 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 15 Jul 2011 16:16:53 +0400 Subject: =?UTF-8?B?UmU6IHJlZGlyZWN0INC90LUg0YDQsNCx0L7RgtCw0LXRgg==?= In-Reply-To: <4E1F7302.2080408@gmail.com> References: <4E1F7302.2080408@gmail.com> Message-ID: <20110715121653.GE1137@mdounin.ru> Hello! On Thu, Jul 14, 2011 at 03:51:46PM -0700, Konstantin Svist wrote: > Конфиг: > rewrite ^(.*)$ "$arg_r?" redirect; > > Запрос: > curl -v 'http://localhost/redir?r=http%3A%2F%2Fwww.example.com%2F%3Fa%3D1%26b%3D2%26c%3D3' > > Ответ: > Location: http://www.example.com/?a%3D1%26b%3D2%26c%3D3 > > Так и должно быть? Или баг? rewrite нормально работает только при использовании переменных, полученных из uri при выполнении регулярного выражения. Во всех остальных случаях "есть нюансы". Надо фиксить, но как минимум это потребует нормальной функциональности urlencode/urldecode (и скорее всего сломает часть существующих конфигов). Подборка "нюансов" у меня есть вот тут: http://mdounin.ru/hg/nginx-tests/file/74bc22b97538/rewrite_unescape.t Maxim Dounin From sergey.kobzar на itcraft.org Fri Jul 15 16:51:02 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 15 Jul 2011 15:51:02 +0300 Subject: Load balancer with traffic limit In-Reply-To: <19F90D70-74A1-417F-81D7-AD8EE64F6B62@gmail.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <906ED194-4A07-45EF-BE0D-231F1FA92E0C@gmail.com> <4E20115F.5000406@itcraft.org> <19F90D70-74A1-417F-81D7-AD8EE64F6B62@gmail.com> Message-ID: <4E2037B6.1020705@itcraft.org> On 07/15/11 14:46, Alexander Bodnarashik wrote: >> LVS умеет корректно обрабатывать http codes типа 502/504 и выкидывать mode из облака как это делает Nginx? > Да, например, средствами ldirectord можно запрашивать статическую страницу и проверять ответ. Спасибо. >> 3. Сервера в разных подсетях. > В принципе можно тогда попробовать ip tunneling, оверхед вроде небольшой. Наверно все-таки надо задуматься о смене хостера. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From ne на vbart.ru Fri Jul 15 19:17:36 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Fri, 15 Jul 2011 19:17:36 +0400 Subject: =?UTF-8?B?UmU6INCe0YLQtNCw0LLQsNGC0YwgZGVmYXVsdCBpbWFnZSwgINC10YHQu9C4INC9?= =?UTF-8?B?0LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0LrQsNGA0YLQuNC90LrQuC4=?= In-Reply-To: <486b98257e7127dab770af60b96e0246.NginxMailingListRussian@forum.nginx.org> References: <486b98257e7127dab770af60b96e0246.NginxMailingListRussian@forum.nginx.org> Message-ID: <201107151917.36846.ne@vbart.ru> On Friday 15 July 2011 15:56:43 selfchief wrote: > Сразу вспомнил про try_files > Попробовал сделать: > location ~* ^/(i|im)/ { > expires 7d; > try_files $uri $uri/default.png =404; > } > Но сразу понял, что в $uri хранится полный > путь с именем файла. location ~* ^(?/im?(/.+)*)/ { expires 7d; try_files $uri $dir/default.jpg =404; } -- Валентин Бартенев http://vbart.ru/ From inkvizitor68sl на gmail.com Fri Jul 15 20:58:51 2011 From: inkvizitor68sl на gmail.com (=?KOI8-R?B?9snXz9TOxdcg98zBxA==?=) Date: Fri, 15 Jul 2011 20:58:51 +0400 Subject: =?UTF-8?B?bmdpbnggKyBuZ2lueCAtIHJlYWwgaXAg0L/QvtGB0LXRgtC40YLQtdC70Y8/?= Message-ID: Так уж получилось, что частенько мне приходится использовать связку nginx+nginx+apache (первый nginx стоит на другом сервере). Как организовать передачу real ip второму nginx (и apache, по хорошему) ? From bdfy на mail.ru Fri Jul 15 21:39:51 2011 From: bdfy на mail.ru (Ivan) Date: Fri, 15 Jul 2011 21:39:51 +0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgbmdpbnggLSByZWFsIGlwINC/0L7RgdC10YLQuNGC0LXQu9GP?= =?UTF-8?B?Pw==?= In-Reply-To: References: Message-ID: http://wiki.nginx.org/HttpRealIpModule ? From sad на bankir.ru Fri Jul 15 22:53:45 2011 From: sad на bankir.ru (sad на bankir.ru) Date: Fri, 15 Jul 2011 22:53:45 +0400 Subject: ngx_http_auth_request_module Message-ID: <1310756025005495500@bankir.ru> hi я так и не понял как предполагалось кошерно изпользовать ngx_http_auth_request_module если в директиве auth_request нельзя изпользовать переменные, то как же передать в подзапрос логин и пароль? (переданные юзером) From a4irkin на gmail.com Fri Jul 15 23:41:36 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Fri, 15 Jul 2011 23:41:36 +0400 Subject: =?UTF-8?B?0J3Rg9C70LXQstGL0LUg0LHQsNC50YLRiyDQsiBzdWJfZmlsdGVyINC00LjRgNC1?= =?UTF-8?B?0LrRgtC40LLQtSDQvNC+0LTRg9C70Y8gbmd4X2h0dHBfc3ViX21vZHVsZQ==?= Message-ID: Здравствуйте! Возникла задача заменить в ответе несколько нулевых байт определенными символами. Возможно ли в директиве sub_filter указать нулевые символы в заменяемой строке? С уважением, Алексей From a4irkin на gmail.com Sat Jul 16 00:09:47 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Sat, 16 Jul 2011 00:09:47 +0400 Subject: =?UTF-8?B?UmU6INCd0YPQu9C10LLRi9C1INCx0LDQudGC0Ysg0LIgc3ViX2ZpbHRlciDQtNC4?= =?UTF-8?B?0YDQtdC60YLQuNCy0LUg0LzQvtC00YPQu9GPIG5neF9odHRwX3N1Yl9tb2R1?= =?UTF-8?B?bGU=?= In-Reply-To: References: Message-ID: В двоичном редакторе прописал нули, работает. В этом же нет ничего плохого? 15 июля 2011 г. 23:41 пользователь Aleksey Chirkin написал: > Здравствуйте! > > Возникла задача заменить в ответе несколько нулевых байт определенными > символами. > > Возможно ли в директиве sub_filter указать нулевые символы в заменяемой строке? > > С уважением, > Алексей > From mdounin на mdounin.ru Sat Jul 16 00:56:38 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sat, 16 Jul 2011 00:56:38 +0400 Subject: ngx_http_auth_request_module In-Reply-To: <1310756025005495500@bankir.ru> References: <1310756025005495500@bankir.ru> Message-ID: <20110715205637.GG1137@mdounin.ru> Hello! On Fri, Jul 15, 2011 at 10:53:45PM +0400, sad на bankir.ru wrote: > hi > > я так и не понял как предполагалось кошерно изпользовать > ngx_http_auth_request_module > > если в директиве auth_request нельзя изпользовать переменные, > то > как же передать в подзапрос логин и пароль? (переданные юзером) А вы уверены, что логин и пароль вообще надо передавать? Все необходимые данные для http-аутентификации передаются в заголовках запроса, они попадают в подзапрос без всяких переменных. При использовании cookie-based аутентификации/авторазиции - опять же всё в заголовках. В некоторых случаях может возникнуть необходимость передать исходный uri запроса. Это (равно как и всё остальное) можно сделать например так: location / { auth_request /auth; } location = /auth { internal; proxy_pass ... proxy_set_header X-Original-URI $request_uri; ... } Maxim Dounin From pansg на yandex.ru Sat Jul 16 00:57:10 2011 From: pansg на yandex.ru (Glazachev Vladimir) Date: Sat, 16 Jul 2011 00:57:10 +0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgbmdpbnggLSByZWFsIGlwINC/0L7RgdC10YLQuNGC0LXQu9GP?= =?UTF-8?B?Pw==?= In-Reply-To: References: Message-ID: <481341310763431@web113.yandex.ru> первый nginx, как обычно proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; второй nginx proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $http_x_forwarded_for; + mod_rpaf2 (Apache) RPAFenable On RPAFsethostname On RPAFproxy_ips 1.1.1.1 15.07.2011, 20:58, "Животнев Влад" : > Так уж получилось, что частенько мне приходится использовать связку > nginx+nginx+apache (первый nginx стоит на другом сервере). > Как организовать передачу real ip второму nginx (и apache, по хорошему) ? > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Sat Jul 16 02:59:28 2011 From: nginx-forum на nginx.us (locojohn) Date: Fri, 15 Jul 2011 18:59:28 -0400 Subject: =?UTF-8?B?UmU6INC40L3RgtC10YDQv9GA0LXRgtCw0YbQuNGPINC/0LXRgNC10LzQtdC90L0=?= =?UTF-8?B?0YvRhSDQstC90YPRgtGA0LggUEhQIFZBTFVFINC4IFBIUCBBRE1JTiBWQUxV?= =?UTF-8?B?RSDQtNC70Y8gUEhQLUZQTQ==?= In-Reply-To: <87sjqa11io.wl%appa@perusio.net> References: <87sjqa11io.wl%appa@perusio.net> Message-ID: <45ca7b046143366a8c7d7db27307dc22.NginxMailingListRussian@forum.nginx.org> > > geo $y { > > default "${precision}+1"; > > } > > - with fastcgi_param PHP_VALUE "precision=$x"; > + with fastcgi_param PHP_VALUE "precision=$y"; I do not think PHP-FPM can perform inline mathematical evaluation within passed arguments to PHP_VALUE/PHP_ADMIN_VALUE. But it works for me when it comes to generic substitution of existing and defined in the master php.ini file configuration variables, with their actual values. In my experience, Maxim's suggestion works fine, and I could so far reference any variable I wanted in the PHP configuration file. This is very useful, for example, if you want to set security limits with open_basedir, but you also want to make sure that uploads work, but you don't want to hardcode the temporary upload folder into open_basedir, but rather read the current value from php.ini by adding ${upload_tmp_dir} to open_basedir value in the nginx configuration using fastcgi_pass PHP_ADMIN_VALUE: geo $upload_tmp_dir { default "${upload_tmp_dir}"; } ... fastcgi_pass PHP_ADMIN_VALUE "open_basedir=$document_root:$upload_tmp_dir"; Anyway, it works for me. Andrejs Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212288,212473#msg-212473 From boris на dolgov.name Sun Jul 17 00:14:58 2011 From: boris на dolgov.name (Boris Dolgov) Date: Sun, 17 Jul 2011 00:14:58 +0400 Subject: use In-Reply-To: <4E1AD9D7.5060805@csdoc.com> References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E1AD9D7.5060805@csdoc.com> Message-ID: 2011/7/11 Gena Makhomed : > если блок определен в конфигурационном файле example.com, то его область > видимости от начала точки объявления и до конца этого локального конфига Странная идея -- так, например, не получится вынести все common-блоки в какой-нибудь common.inc или главный конфиг и использовать их в подконфигах. -- Boris Dolgov. From gmm на csdoc.com Sun Jul 17 00:26:15 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sat, 16 Jul 2011 23:26:15 +0300 Subject: use In-Reply-To: References: <4E143157.2090001@csdoc.com> <4E1493B4.7060808@csdoc.com> <4E149E44.6050206@csdoc.com> <4E14BD08.5090202@csdoc.com> <4E1AD9D7.5060805@csdoc.com> Message-ID: <4E21F3E7.2060304@csdoc.com> On 16.07.2011 23:14, Boris Dolgov wrote: >> если блок определен в конфигурационном файле example.com, то его область >> видимости от начала точки объявления и до конца этого локального конфига > Странная идея -- так, например, не получится вынести все common-блоки > в какой-нибудь common.inc или главный конфиг и использовать их в > подконфигах. директива include включает один файл в другой. так что никаких проблем с этим нет. P.S. впрочем, http://www.cri.ensmp.fr/~coelho/mod_macro/ это еще лучший вариант, потому что здесь у макросов могут быть аргументы. что-то похожее было бы полезно и для nginx - многие конфиги избавились бы избыточности и необходимости править во многих местах через copy/paste. -- Best regards, Gena From ano на bestmx.ru Sun Jul 17 15:23:50 2011 From: ano на bestmx.ru (Andrey N. Oktyabrski) Date: Sun, 17 Jul 2011 15:23:50 +0400 Subject: =?UTF-8?B?UmU6INCi0Y7QvdC40L3QsyBuZ2lueA==?= In-Reply-To: <4E0F170E.4080208@itcraft.org> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> <4E0F170E.4080208@itcraft.org> Message-ID: <4E22C646.3000504@bestmx.ru> On 02.07.11 17:03, Sergey Kobzar wrote: > А посоветовать кто-ть realtime log analyzer для nginx с высокой > нагрузкой может? Понятно, что много фитчей тут ожидать не приходится. http://www.hping.org/visitors/ From chipitsine на gmail.com Sun Jul 17 16:22:09 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Sun, 17 Jul 2011 18:22:09 +0600 Subject: Load balancer with traffic limit In-Reply-To: <4E200149.60307@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> Message-ID: Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых роботов сразу уходят на новые адреса. 15.07.2011 14:58 пользователь "Sergey Kobzar" написал: > On 07/15/11 11:48, Alex Vorona wrote: > >> 15.07.2011 00:46, Sergey Kobzar wrote: >>> В датаценте, где арендуем сервера установлен лимит по трафику. Превышение лимита строго >>> карается денгами. >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а кое-где и внутренняя >> сеть безлимитная. > > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет больше > $1k (в зависимости от того, на сколько превысил). > >>> Решили разнести нагрузку на несколько серверов. Но идея в следующем - входящие запросы >>> поступают на frontend (load balancer), а ответы уходят напрямую от backend серверов клиентам. >> исключительно средствами nginx это сделать не получится. Он позволит только пропускать >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд ли приемлемо. >> Пробуйте балансировку через DNS. > > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, > Меняю A запись в ДНС - все равно запросы (не много конечно) идут на > старый адрес даже если TTL истекло. > > Я уже не говорю о быстром переключении, если один из серверов помер. > >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Sun Jul 17 17:42:05 2011 From: nginx-forum на nginx.us (Magikanin) Date: Sun, 17 Jul 2011 09:42:05 -0400 Subject: =?UTF-8?B?bmdpbnggaHR0cHMgcmVkaXJlY3Qg0L3QtSDQv9C+0LvRg9GH0LDQtdGC0YHRjw==?= Message-ID: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> Коллеги подскажите как решить следующую проблему: есть сервер c IIS. в качестве frontend решил поставить nginx (0.8.54). Без fronеend работал следующий механизм: при попытке зайти на https://site.ru/profile.aspx сначала шел редирект на страницу авторизации https://site.ru/login.apx а после успешной авторизации идет редирект на https://site.ru/profile.aspx после установки frontend такой механизм работать перестал: происходит редирект на https://site.ru/login.apx . а там получаю Object moved here. и все. Часть конфига nginx: server { listen 80; server_name site.ru; location / { proxy_pass http://backend; proxy_redirect http://www.site.ru/ /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { ssl on; ssl_protocols SSLv3 TLSv1; ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5; listen 443; ssl_certificate /etc/nginx/www.site.pem; ssl_certificate_key /etc/nginx/www.site.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; server_name site.ru; location / { proxy_pass http://backend; proxy_redirect http://www.site.ru/ /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } Что я сделал не так? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212486,212486#msg-212486 From sad на bankir.ru Sun Jul 17 20:37:59 2011 From: sad на bankir.ru (sad на bankir.ru) Date: Sun, 17 Jul 2011 20:37:59 +0400 Subject: ngx_http_auth_request_module In-Reply-To: <20110715205637.GG1137@mdounin.ru> References: <1310756025005495500@bankir.ru> <20110715205637.GG1137@mdounin.ru> Message-ID: <1310920679667485500@bankir.ru> > > я так и не понял как предполагалось кошерно изпользовать > > ngx_http_auth_request_module > > > > если в директиве auth_request нельзя изпользовать переменные, > > то > > как же передать в подзапрос логин и пароль? (переданные юзером) > > А вы уверены, что логин и пароль вообще надо передавать? абсолютно! не имея этих данных скрипт не сможет принять решение. > Все необходимые данные для http-аутентификации передаются в > заголовках запроса, они попадают в подзапрос без всяких > переменных. очень жаль. я так хотел этим модулем капчу проверять очень на него разсчитывал когда впервые прочитал опесание. > В некоторых случаях может возникнуть необходимость передать > исходный uri запроса. Это (равно как и всё остальное) можно > сделать например так: > > location / { > auth_request /auth; > } > > location = /auth { > internal; > proxy_pass ... > proxy_set_header X-Original-URI $request_uri; > ... > } совершенно не понял как и почему этот способ работает. From nginx-forum на nginx.us Sun Jul 17 20:58:22 2011 From: nginx-forum на nginx.us (vagner) Date: Sun, 17 Jul 2011 12:58:22 -0400 Subject: =?UTF-8?B?bmd4IGh0dHAgbGltaXQgcmVxIG1vZHVsZSDQuCDRgNC10LDQu9GM0L3QvtC1INC/?= =?UTF-8?B?0YDQuNC80LXQvdC10L3QuNC1?= Message-ID: <6e51b04cfbddfcc89459d5bf7adf2406.NginxMailingListRussian@forum.nginx.org> Подскажите, пожалуйста, данным модулем можно пользоваться при динамическом контенте? Дело в том, что когда я подключаю данный модуль, страницы перестают правильно грузиться (сайт на php - бекэнд fcgi). Да и если сделать rate=1r/s - то от страницы грузится только текст:( Помогите разобраться pls с этим модулем - мануал почитал, но видимо просветления не пришло:( Моя конфа: http { limit_req_zone $binary_remote_addr zone=beta:10m rate=700r/s; .... .... .... server { listen 80 default; limit_req zone=beta nodelay; ... ... } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212489,212489#msg-212489 From nginx-forum на nginx.us Sun Jul 17 21:18:03 2011 From: nginx-forum на nginx.us (vagner) Date: Sun, 17 Jul 2011 13:18:03 -0400 Subject: =?UTF-8?B?UmU6IG5naW54IGh0dHBzIHJlZGlyZWN0INC90LUg0L/QvtC70YPRh9Cw0LXRgtGB?= =?UTF-8?B?0Y8=?= In-Reply-To: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> References: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> Message-ID: proxy_pass http://backend; proxy_redirect http://www.site.ru/ /; А бекэнд и www.site.ru разные хосты? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212486,212490#msg-212490 From nginx-forum на nginx.us Sun Jul 17 21:31:57 2011 From: nginx-forum на nginx.us (vagner) Date: Sun, 17 Jul 2011 13:31:57 -0400 Subject: =?UTF-8?B?UmU6IG5naW54IGh0dHBzIHJlZGlyZWN0INC90LUg0L/QvtC70YPRh9Cw0LXRgtGB?= =?UTF-8?B?0Y8=?= In-Reply-To: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> References: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> Message-ID: Попробуйте так: location / { proxy_pass http://backend; proxy_redirect default; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212486,212491#msg-212491 From mdounin на mdounin.ru Sun Jul 17 21:32:48 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 17 Jul 2011 21:32:48 +0400 Subject: ngx_http_auth_request_module In-Reply-To: <1310920679667485500@bankir.ru> References: <1310756025005495500@bankir.ru> <20110715205637.GG1137@mdounin.ru> <1310920679667485500@bankir.ru> Message-ID: <20110717173248.GJ1137@mdounin.ru> Hello! On Sun, Jul 17, 2011 at 08:37:59PM +0400, sad на bankir.ru wrote: > > > я так и не понял как предполагалось кошерно изпользовать > > > ngx_http_auth_request_module > > > > > > если в директиве auth_request нельзя изпользовать переменные, > > > то > > > как же передать в подзапрос логин и пароль? (переданные юзером) > > > > А вы уверены, что логин и пароль вообще надо передавать? > > абсолютно! не имея этих данных скрипт не сможет принять решение. > > > > Все необходимые данные для http-аутентификации передаются в > > заголовках запроса, они попадают в подзапрос без всяких > > переменных. > > очень жаль. я так хотел этим модулем капчу проверять > очень на него разсчитывал когда впервые прочитал опесание. Очень жаль что? В случае проверки http-аутентификации ничего вообще делать не надо, всё само придёт в заголовках. Мне кажется это скорее плюс. Если вам таки надо что-то дополнительно передать - никто не мешает это сделать, один из способов был мной описан. > > В некоторых случаях может возникнуть необходимость передать > > исходный uri запроса. Это (равно как и всё остальное) можно > > сделать например так: > > > > location / { > > auth_request /auth; > > } > > > > location = /auth { > > internal; > > proxy_pass ... > > proxy_set_header X-Original-URI $request_uri; > > ... > > } > > совершенно не понял как и почему этот способ работает. Документация где-то тут: http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_set_header http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#variables Maxim Dounin From mdounin на mdounin.ru Sun Jul 17 21:40:00 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 17 Jul 2011 21:40:00 +0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <6e51b04cfbddfcc89459d5bf7adf2406.NginxMailingListRussian@forum.nginx.org> References: <6e51b04cfbddfcc89459d5bf7adf2406.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110717173959.GK1137@mdounin.ru> Hello! On Sun, Jul 17, 2011 at 12:58:22PM -0400, vagner wrote: > Подскажите, пожалуйста, данным модулем > можно пользоваться при динамическом > контенте? Дело в том, что когда я > подключаю данный модуль, страницы > перестают правильно грузиться (сайт на > php - бекэнд fcgi). Да и если сделать rate=1r/s - > то от страницы грузится только текст:( Потому что любая картинка/css/javascript - это дополнительный запрос, и браузер пытается делать их сразу. Естественно при скорости 1r/s эти запросы попадают под ограничение и не обслуживаются, с понятными последствиями для вида сайта. Я бы рекомендовал ставить ограничение только на динамический контент, т.е. там, где у вас делается fastcgi_pass. Тогда и бекенд будет перегрузить непросто, и статика будет грузиться нормально. > Помогите разобраться pls с этим модулем - > мануал почитал, но видимо просветления > не пришло:( Моя конфа: > > http { > limit_req_zone $binary_remote_addr zone=beta:10m rate=700r/s; > .... > .... > .... > server { > listen 80 default; > limit_req zone=beta nodelay; Кроме того, не забываем ставить limit_req ... burst=<число> это позволяет пропускать пики, которые вполне встречаются у реальных пользователей, но при этом ограничивать среднюю скорость разумным значением. Maxim Dounin From nginx-forum на nginx.us Sun Jul 17 21:49:26 2011 From: nginx-forum на nginx.us (vagner) Date: Sun, 17 Jul 2011 13:49:26 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <20110717173959.GK1137@mdounin.ru> References: <20110717173959.GK1137@mdounin.ru> Message-ID: Я засмотрелся на использование подобной защиты на vkontakte.ru: http://vkontakte.ru/blank.php?code=0 У них фронтендом используется nginx - насколько понимаю они организовали такой лимит как раз средствами данного модуля. Если поставить только на динамический контент - реально ли организовать такой не редирект, или страница просто загрузится не полностью? Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Sun, Jul 17, 2011 at 12:58:22PM -0400, vagner > wrote: > > > Подскажите, пожалуйста, > данным модулем > > можно пользоваться при > динамическом > > контенте? Дело в том, что > когда я > > подключаю данный модуль, > страницы > > перестают правильно > грузиться (сайт на > > php - бекэнд fcgi). Да и если > сделать rate=1r/s - > > то от страницы грузится > только текст:( > > Потому что любая > картинка/css/javascript - это > дополнительный > запрос, и браузер пытается > делать их сразу. > Естественно при > скорости 1r/s эти запросы > попадают под ограничение и > не > обслуживаются, с понятными > последствиями для вида > сайта. > > Я бы рекомендовал ставить > ограничение только на > динамический > контент, т.е. там, где у вас > делается fastcgi_pass. Тогда и > бекенд будет перегрузить > непросто, и статика будет > грузиться > нормально. > > > Помогите разобраться pls с > этим модулем - > > мануал почитал, но видимо > просветления > > не пришло:( Моя конфа: > > > > http { > > limit_req_zone $binary_remote_addr > zone=beta:10m rate=700r/s; > > .... > > .... > > .... > > server { > > listen 80 default; > > limit_req zone=beta nodelay; > > Кроме того, не забываем > ставить > > limit_req ... burst=<число> > > это позволяет пропускать > пики, которые вполне > встречаются у > реальных пользователей, но > при этом ограничивать > среднюю > скорость разумным > значением. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212495#msg-212495 From mdounin на mdounin.ru Sun Jul 17 21:57:48 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 17 Jul 2011 21:57:48 +0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: References: <20110717173959.GK1137@mdounin.ru> Message-ID: <20110717175748.GL1137@mdounin.ru> Hello! On Sun, Jul 17, 2011 at 01:49:26PM -0400, vagner wrote: > Я засмотрелся на использование > подобной защиты на vkontakte.ru: > http://vkontakte.ru/blank.php?code=0 > У них фронтендом используется nginx - > насколько понимаю они организовали > такой лимит как раз средствами данного > модуля. > Если поставить только на динамический > контент - реально ли организовать такой > не редирект, или страница просто > загрузится не полностью? При срабатывании лимита limit_req вернёт ошибку 503. Обработать её можно как угодно с помощью директивы error_page, в том числе выдать редирект куда вам больше нравится. Подробности тут: http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#error_page Maxim Dounin > > Maxim Dounin Wrote: > ------------------------------------------------------- > > Hello! > > > > On Sun, Jul 17, 2011 at 12:58:22PM -0400, vagner > > wrote: > > > > > Подскажите, пожалуйста, > > данным модулем > > > можно пользоваться при > > динамическом > > > контенте? Дело в том, что > > когда я > > > подключаю данный модуль, > > страницы > > > перестают правильно > > грузиться (сайт на > > > php - бекэнд fcgi). Да и если > > сделать rate=1r/s - > > > то от страницы грузится > > только текст:( > > > > Потому что любая > > картинка/css/javascript - это > > дополнительный > > запрос, и браузер пытается > > делать их сразу. > > Естественно при > > скорости 1r/s эти запросы > > попадают под ограничение и > > не > > обслуживаются, с понятными > > последствиями для вида > > сайта. > > > > Я бы рекомендовал ставить > > ограничение только на > > динамический > > контент, т.е. там, где у вас > > делается fastcgi_pass. Тогда и > > бекенд будет перегрузить > > непросто, и статика будет > > грузиться > > нормально. > > > > > Помогите разобраться pls с > > этим модулем - > > > мануал почитал, но видимо > > просветления > > > не пришло:( Моя конфа: > > > > > > http { > > > limit_req_zone $binary_remote_addr > > zone=beta:10m rate=700r/s; > > > .... > > > .... > > > .... > > > server { > > > listen 80 default; > > > limit_req zone=beta nodelay; > > > > Кроме того, не забываем > > ставить > > > > limit_req ... burst=<число> > > > > это позволяет пропускать > > пики, которые вполне > > встречаются у > > реальных пользователей, но > > при этом ограничивать > > среднюю > > скорость разумным > > значением. > > > > Maxim Dounin > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://nginx.org/mailman/listinfo/nginx-ru > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212495#msg-212495 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Sun Jul 17 22:05:49 2011 From: nginx-forum на nginx.us (vagner) Date: Sun, 17 Jul 2011 14:05:49 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <20110717173959.GK1137@mdounin.ru> References: <20110717173959.GK1137@mdounin.ru> Message-ID: Спасибо огромное:) А подскажите еще, могу ли я организовать блек и вайт списки вот таким путем: geo $white{ default 1; include /etc/white; } geo $black{ default 1; include /etc/black; } if ($while){ set $limit_req_zone $binary_remote_addr zone=beta:10m rate=1000r/s;; } if ($black){ set $limit_req_zone $binary_remote_addr zone=beta:10m rate=1r/s;; } #### end cfg # cat white.txt 8.8.8.8 0; 4.4.4.4 0; # cat black.txt 207.46.197.32 0; 207.46.232.182 0; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212497#msg-212497 From nginx-forum на nginx.us Mon Jul 18 00:11:35 2011 From: nginx-forum на nginx.us (Magikanin) Date: Sun, 17 Jul 2011 16:11:35 -0400 Subject: =?UTF-8?B?UmU6IG5naW54IGh0dHBzIHJlZGlyZWN0INC90LUg0L/QvtC70YPRh9Cw0LXRgtGB?= =?UTF-8?B?0Y8=?= In-Reply-To: References: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> Message-ID: <8be2278011b20f6fe7035065a438298e.NginxMailingListRussian@forum.nginx.org> хосты одинаковые. beckend - это имя upstream в конфиге. Сервер с IIS работает нормально. Как только перед ним пробую ставить другой сервер с nginx - перестает работать redirect Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212486,212498#msg-212498 From perusio на gmail.com Mon Jul 18 06:50:45 2011 From: perusio на gmail.com (=?UTF-8?B?QW50w7NuaW8=?= P. P. Almeida) Date: Mon, 18 Jul 2011 03:50:45 +0100 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: References: <20110717173959.GK1137@mdounin.ru> Message-ID: <878vrwe1yy.wl%appa@perusio.net> On 17 Jul 2011 19h05 WEST, nginx-forum на nginx.us wrote: Try: http { (...) limit_req_zone $binary_remote_addr zone=alfa:10m rate=1000r/s; limit_req_zone $binary_remote_addr zone=beta:10m rate=1r/s; geo $black { default 1; include /etc/black; } (...) } server { (...) location / { error_page 418 = @beta; if ($black) { return 418; } limit_req zone=alfa; } location @beta { limit_req zone=beta; (...) } } --- appa > Спасибо огромное:) А подскажите еще, > могу ли я организовать блек и вайт > списки вот таким путем: > > geo $white{ > default 1; > include /etc/white; > } > > geo $black{ > default 1; > include /etc/black; > } > > if ($while){ > set $limit_req_zone $binary_remote_addr zone=beta:10m rate=1000r/s;; > } > > if ($black){ > set $limit_req_zone $binary_remote_addr zone=beta:10m rate=1r/s;; > } > > #### end cfg > # cat white.txt > 8.8.8.8 0; > 4.4.4.4 0; > # cat black.txt > 207.46.197.32 0; > 207.46.232.182 0; From sad на bankir.ru Mon Jul 18 09:40:12 2011 From: sad на bankir.ru (sad на bankir.ru) Date: Mon, 18 Jul 2011 09:40:12 +0400 Subject: ngx_http_auth_request_module In-Reply-To: <20110717173248.GJ1137@mdounin.ru> References: <1310756025005495500@bankir.ru> <20110715205637.GG1137@mdounin.ru> <1310920679667485500@bankir.ru> <20110717173248.GJ1137@mdounin.ru> Message-ID: <1310967612208473500@bankir.ru> > Если вам таки надо что-то дополнительно передать - никто не мешает > это сделать, один из способов был мной описан. > > > > location = /auth { > > > internal; > > > proxy_pass ... > > > proxy_set_header X-Original-URI $request_uri; > > > ... > > > } подскажите пожалуйста как мне передать аргументы первоначального (get) запроса fcgi бакенду? насколько я понял я *обязан* передать fcgi_param QUERY_STRING но переменная $query_string содержит (судя по логам) аргументы ПОДзапроса. что делать, кроме ручного разбора uri? From nginx-forum на nginx.us Mon Jul 18 10:15:28 2011 From: nginx-forum на nginx.us (vagner) Date: Mon, 18 Jul 2011 02:15:28 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <20110717173959.GK1137@mdounin.ru> References: <20110717173959.GK1137@mdounin.ru> Message-ID: <6d05cc481b7e400bc98811897f0df48f.NginxMailingListRussian@forum.nginx.org> Спасибо за подсказку. Только я не совсем понял как быть с location ~ \.php$ {..} Была мысль сделать так: location ~ \.php$ { return 418; } Но тогда не пойму как быть с условиями, ведь если в условиях поставить return 418 - тогда вместо "/" клиенты будут получать location ~ \.php Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212512#msg-212512 From nginx-forum на nginx.us Mon Jul 18 10:27:02 2011 From: nginx-forum на nginx.us (vagner) Date: Mon, 18 Jul 2011 02:27:02 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <6d05cc481b7e400bc98811897f0df48f.NginxMailingListRussian@forum.nginx.org> References: <20110717173959.GK1137@mdounin.ru> <6d05cc481b7e400bc98811897f0df48f.NginxMailingListRussian@forum.nginx.org> Message-ID: Попробовал сделать еще такую конструкцию: limit_req zone=$zone nodelay; if ($whitelist) { set $zone black; } if ($blacklist) { set $zone white; } set $zone green; Но она не верна:( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212513#msg-212513 From mdounin на mdounin.ru Mon Jul 18 10:40:47 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 18 Jul 2011 10:40:47 +0400 Subject: ngx_http_auth_request_module In-Reply-To: <1310967612208473500@bankir.ru> References: <1310756025005495500@bankir.ru> <20110715205637.GG1137@mdounin.ru> <1310920679667485500@bankir.ru> <20110717173248.GJ1137@mdounin.ru> <1310967612208473500@bankir.ru> Message-ID: <20110718064047.GM1137@mdounin.ru> Hello! On Mon, Jul 18, 2011 at 09:40:12AM +0400, sad на bankir.ru wrote: > > Если вам таки надо что-то дополнительно передать - никто не мешает > > это сделать, один из способов был мной описан. > > > > > > > location = /auth { > > > > internal; > > > > proxy_pass ... > > > > proxy_set_header X-Original-URI $request_uri; > > > > ... > > > > } > > подскажите пожалуйста как мне передать аргументы первоначального (get) запроса fcgi бакенду? > > насколько я понял я *обязан* передать fcgi_param QUERY_STRING > но переменная $query_string содержит (судя по логам) аргументы ПОДзапроса. > > что делать, кроме ручного разбора uri? Сейчас можно сделать так: location / { set $saved $args; auth_request /auth; ... } location /auth { internal; fastcgi_pass ... fastcgi_param QUERY_STRING $saved; ... } Но вообще да, наверное для такого use-case'а будет удобнее сделать поддержку переменных в auth_request. Maxim Dounin From nginx-forum на nginx.us Mon Jul 18 13:27:10 2011 From: nginx-forum на nginx.us (vagner) Date: Mon, 18 Jul 2011 05:27:10 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <20110717173959.GK1137@mdounin.ru> References: <20110717173959.GK1137@mdounin.ru> Message-ID: <30a7693b0331de9a1577a6c513041b49.NginxMailingListRussian@forum.nginx.org> Сделал так: http { (...) geo $white{ default 0; include /etc/white; } geo $black{ default 0; include /etc/black; } limit_req_zone $binary_remote_addr zone=beta:10m rate=1r/s; server { (...) error_page 418 = @php_limit; location ~ \.php$ { if ($black) { return 418; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/hg/repos/hg.books.ilovexq.ru/pages$fastcgi_script_name; include fastcgi_params; } location php_limit { limit_req zone=black nodelay; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/hg/repos/hg.books.ilovexq.ru/pages$fastcgi_script_name; include fastcgi_params; } } Это срабатывает, но только для $black отдает 500 код:( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212524#msg-212524 From mdounin на mdounin.ru Mon Jul 18 13:29:11 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 18 Jul 2011 13:29:11 +0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <30a7693b0331de9a1577a6c513041b49.NginxMailingListRussian@forum.nginx.org> References: <20110717173959.GK1137@mdounin.ru> <30a7693b0331de9a1577a6c513041b49.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110718092910.GO1137@mdounin.ru> Hello! On Mon, Jul 18, 2011 at 05:27:10AM -0400, vagner wrote: > Сделал так: > http { > (...) > geo $white{ > default 0; > include /etc/white; > } > > geo $black{ > default 0; > include /etc/black; > } > limit_req_zone $binary_remote_addr zone=beta:10m rate=1r/s; > > server { > (...) > error_page 418 = @php_limit; > > location ~ \.php$ { > if ($black) { > return 418; > } > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.php; > fastcgi_param SCRIPT_FILENAME > /home/hg/repos/hg.books.ilovexq.ru/pages$fastcgi_script_name; > include fastcgi_params; > } > location php_limit { - location php_limit { + location @php_limit { > limit_req zone=black nodelay; > fastcgi_pass 127.0.0.1:9000; > fastcgi_index index.php; > fastcgi_param SCRIPT_FILENAME > /home/hg/repos/hg.books.ilovexq.ru/pages$fastcgi_script_name; > include fastcgi_params; > } > } > > Это срабатывает, но только для $black > отдает 500 код:( Потому что у вас нет location'а @php_limit, в котором должны обрабатываться запросы от $black. Maxim Dounin From nginx-forum на nginx.us Mon Jul 18 13:34:55 2011 From: nginx-forum на nginx.us (vagner) Date: Mon, 18 Jul 2011 05:34:55 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <20110717173959.GK1137@mdounin.ru> References: <20110717173959.GK1137@mdounin.ru> Message-ID: Все заработало:) Спасибо преогромнейшее! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212526#msg-212526 From nginx-forum на nginx.us Mon Jul 18 16:15:02 2011 From: nginx-forum на nginx.us (aoz) Date: Mon, 18 Jul 2011 08:15:02 -0400 Subject: FastCgi (php) 302 redirect Message-ID: <3594e8287ee540f60a6b6bb793b0232e.NginxMailingListRussian@forum.nginx.org> В связи с кривой реализацией firmware некоторых клиетов нужно вернуть HTTP/1.1 302 Found. как это делал апач вместо HTTP/1.1 302. как это делает nginx Ощущение что при получении Location nginx плюет на status и подставляет и процессит свой. уже устал перибирать варианты и с параметрами и без: Может кто сталкивался? Заранее спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212529,212529#msg-212529 From nginx-forum на nginx.us Mon Jul 18 18:00:36 2011 From: nginx-forum на nginx.us (kotz) Date: Mon, 18 Jul 2011 10:00:36 -0400 Subject: =?UTF-8?B?bWVtb3J5IGNvcnJ1cHRpb24g0L/RgNC4INCx0L7Qu9GM0YjQvtC8IEdFVA==?= Message-ID: Фронтенд и бекэнд на одном сервере: nginx: nginx version: nginx/1.0.4 nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50) Linux host.net 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux Ситуация следующая, на вход фронтену передается GET запрос размером около 10Кб, в конфиге на фронтенде прописано: large_client_header_buffers 8 32k; запрос проходит, и передается на бекенд - кеширующий nginx, тут также прописано large_client_header_buffers 8 32k но он валиться. Лог ниже. Есть подозрение что это из-за размера GET запроса, на кеше proxy_cache_key $request_uri !? *** glibc detected *** nginx: worker process: malloc(): memory corruption: 0x000000001dd5c3c0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x377a6730fe] /lib64/libc.so.6(__libc_malloc+0x6e)[0x377a674e2e] nginx: worker process[0x41c3b6] nginx: worker process[0x406d1c] nginx: worker process[0x406e27] nginx: worker process[0x408839] nginx: worker process[0x41bbc4] nginx: worker process[0x43c28e] nginx: worker process[0x43e9f5] nginx: worker process[0x43c3b2] nginx: worker process[0x41a226] nginx: worker process[0x41a0e9] nginx: worker process[0x41fb60] nginx: worker process[0x41e497] nginx: worker process[0x41f203] nginx: worker process[0x4206b1] nginx: worker process[0x40603a] /lib64/libc.so.6(__libc_start_main+0xf4)[0x377a61d994] nginx: worker process[0x404809] ======= Memory map: ======== 00400000-00473000 r-xp 00000000 08:02 429719556 /opt/nginx_cache/sbin/nginx 00673000-00681000 rw-p 00073000 08:02 429719556 /opt/nginx_cache/sbin/nginx 00681000-0068f000 rw-p 00681000 00:00 0 1dd14000-1de93000 rw-p 1dd14000 00:00 0 [heap] 377a200000-377a21c000 r-xp 00000000 08:02 112328915 /lib64/ld-2.5.so 377a41c000-377a41d000 r--p 0001c000 08:02 112328915 /lib64/ld-2.5.so 377a41d000-377a41e000 rw-p 0001d000 08:02 112328915 /lib64/ld-2.5.so 377a600000-377a74e000 r-xp 00000000 08:02 112329023 /lib64/libc-2.5.so 377a74e000-377a94e000 ---p 0014e000 08:02 112329023 /lib64/libc-2.5.so 377a94e000-377a952000 r--p 0014e000 08:02 112329023 /lib64/libc-2.5.so 377a952000-377a953000 rw-p 00152000 08:02 112329023 /lib64/libc-2.5.so 377a953000-377a958000 rw-p 377a953000 00:00 0 377aa00000-377aa1e000 r-xp 00000000 08:02 112328883 /lib64/libpcre.so.0.0.1 377aa1e000-377ac1e000 ---p 0001e000 08:02 112328883 /lib64/libpcre.so.0.0.1 377ac1e000-377ac1f000 rw-p 0001e000 08:02 112328883 /lib64/libpcre.so.0.0.1 377ae00000-377ae16000 r-xp 00000000 08:02 112329028 /lib64/libpthread-2.5.so 377ae16000-377b015000 ---p 00016000 08:02 112329028 /lib64/libpthread-2.5.so 377b015000-377b016000 r--p 00015000 08:02 112329028 /lib64/libpthread-2.5.so 377b016000-377b017000 rw-p 00016000 08:02 112329028 /lib64/libpthread-2.5.so 377b017000-377b01b000 rw-p 377b017000 00:00 0 377b600000-377b63b000 r-xp 00000000 08:02 112329032 /lib64/libsepol.so.1 377b63b000-377b83b000 ---p 0003b000 08:02 112329032 /lib64/libsepol.so.1 377b83b000-377b83c000 rw-p 0003b000 08:02 112329032 /lib64/libsepol.so.1 377b83c000-377b846000 rw-p 377b83c000 00:00 0 377ba00000-377ba15000 r-xp 00000000 08:02 112329033 /lib64/libselinux.so.1 377ba15000-377bc15000 ---p 00015000 08:02 112329033 /lib64/libselinux.so.1 377bc15000-377bc17000 rw-p 00015000 08:02 112329033 /lib64/libselinux.so.1 377bc17000-377bc18000 rw-p 377bc17000 00:00 0 377c200000-377c214000 r-xp 00000000 08:02 168667510 /usr/lib64/libz.so.1.2.3 377c214000-377c413000 ---p 00014000 08:02 168667510 /usr/lib64/libz.so.1.2.3 377c413000-377c414000 rw-p 00013000 08:02 168667510 /usr/lib64/libz.so.1.2.3 377c600000-377c609000 r-xp 00000000 08:02 112329034 /lib64/libcrypt-2.5.so 377c609000-377c808000 ---p 00009000 08:02 112329034 /lib64/libcrypt-2.5.so 377c808000-377c809000 r--p 00008000 08:02 112329034 /lib64/libcrypt-2.5.so 377c809000-377c80a000 rw-p 00009000 08:02 112329034 /lib64/libcrypt-2.5.so 377c80a000-377c838000 rw-p 377c80a000 00:00 0 377ce00000-377cf2d000 r-xp 00000000 08:02 112329036 /lib64/libcrypto.so.0.9.8e 377cf2d000-377d12c000 ---p 0012d000 08:02 112329036 /lib64/libcrypto.so.0.9.8e 377d12c000-377d14d000 rw-p 0012c000 08:02 112329036 /lib64/libcrypto.so.0.9.8e 377d14d000-377d151000 rw-p 377d14d000 00:00 0 377d200000-377d246000 r-xp 00000000 08:02 112329041 /lib64/libssl.so.0.9.8e 377d246000-377d446000 ---p 00046000 08:02 112329041 /lib64/libssl.so.0.9.8e 377d446000-377d44c000 rw-p 00046000 08:02 112329041 /lib64/libssl.so.0.9.8e 377da00000-377da0d000 r-xp 00000000 08:02 112328773 /lib64/libgcc_s-4.1.2-20080825.so.1 377da0d000-377dc0d000 ---p 0000d000 08:02 112328773 /lib64/libgcc_s-4.1.2-20080825.so.1 377dc0d000-377dc0e000 rw-p 0000d000 08:02 112328773 /lib64/libgcc_s-4.1.2-20080825.so.1 377ee00000-377ee2c000 r-xp 00000000 08:02 168668838 /usr/lib64/libgssapi_krb5.so.2.2 377ee2c000-377f02c000 ---p 0002c000 08:02 168668838 /usr/lib64/libgssapi_krb5.so.2.2 377f02c000-377f02e000 rw-p 0002c000 08:02 168668838 /usr/lib64/libgssapi_krb5.so.2.2 377f200000-377f211000 r-xp 00000000 08:02 112329004 /lib64/libresolv-2.5.so 377f211000-377f411000 ---p 00011000 08:02 112329004 /lib64/libresolv-2.5.so 377f411000-377f412000 r--p 00011000 08:02 112329004 /lib64/libresolv-2.5.so 377f412000-377f413000 rw-p 00012000 08:02 112329004 /lib64/libresolv-2.5.so 377f413000-377f415000 rw-p 377f413000 00:00 0 377f600000-377f602000 r-xp 00000000 08:02 112329038 /lib64/libcom_err.so.2.1 377f602000-377f801000 ---p 00002000 08:02 112329038 /lib64/libcom_err.so.2.1 377f801000-377f802000 rw-p 00001000 08:02 112329038 /lib64/libcom_err.so.2.1 377fa00000-377fa02000 r-xp 00000000 08:02 112328887 /lib64/libkeyutils-1.2.so 377fa02000-377fc01000 ---p 00002000 08:02 112328887 /lib64/libkeyutils-1.2.so 377fc01000-377fc02000 rw-p 00001000 08:02 112328887 /lib64/libkeyutils-1.2.so 3780200000-3780208000 r-xp 00000000 08:02 168666634 /usr/lib64/libkrb5support.so.0.1 3780208000-3780407000 ---p 00008000 08:02 168666634 /usr/lib64/libkrb5support.so.0.1 3780407000-3780408000 rw-p 00007000 08:02 168666634 /usr/lib64/libkrb5support.so.0.1 3780600000-3780692000 r-xp 00000000 08:02 168668828 /usr/lib64/libkrb5.so.3.3 3780692000-3780891000 ---p 00092000 08:02 168668828 /usr/lib64/libkrb5.so.3.3 3780891000-3780895000 rw-p 00091000 08:02 168668828 /usr/lib64/libkrb5.so.3.3 3780a00000-3780a24000 r-xp 00000000 08:02 168668840 /usr/lib64/libk5crypto.so.3.1 3780a24000-3780c23000 ---p 00024000 08:02 168668840 /usr/lib64/libk5crypto.so.3.1 3780c23000-3780c25000 rw-p 00023000 08:02 168668840 /usr/lib64/libk5crypto.so.3.1 2b6a5a92a000-2b6a5a92b000 rw-p 2b6a5a92a000 00:00 0 2b6a5a936000-2b6a5a938000 rw-p 2b6a5a936000 00:00 0 2b6a5a938000-2b6a5a93a000 r-xp 00000000 08:02 112329024 /lib64/libdl-2.5.so 2b6a5a93a000-2b6a5ab3a000 ---p 00002000 08:02 112329024 /lib64/libdl-2.5.so 2b6a5ab3a000-2b6a5ab3b000 r--p 00002000 08:02 112329024 /lib64/libdl-2.5.so 2b6a5ab3b000-2b6a5ab3c000 rw-p 00003000 08:02 112329024 /lib64/libdl-2.5.so 2b6a5ab3c000-2b6a5ab42000 rw-p 2b6a5ab3c000 00:00 0 2b6a5ab42000-2b6a5ab4c000 r-xp 00000000 08:02 112328728 /lib64/libnss_files-2.5.so 2b6a5ab4c000-2b6a5ad4b000 ---p 0000a000 08:02 112328728 /lib64/libnss_files-2.5.so 2b6a5ad4b000-2b6a5ad4c000 r--p 00009000 08:02 112328728 /lib64/libnss_files-2.5.so 2b6a5ad4c000-2b6a5ad4d000 rw-p 0000a000 08:02 112328728 /lib64/libnss_files-2.5.so 2b6a5ad4d000-2b6a7a14d000 rw-s 00000000 00:09 246155 /dev/zero (deleted) 2b6a7a14d000-2b6a9954d000 rw-s 00000000 00:09 246156 /dev/zero (deleted) 2b6a9954d000-2b6a9954e000 rw-s 00000000 00:09 246158 /dev/zero (deleted) 2b6a9c000000-2b6a9c021000 rw-p 2b6a9c000000 00:00 0 2b6a9c021000-2b6aa0000000 ---p 2b6a9c021000 00:00 0 7fff1f2ea000-7fff1f2ff000 rw-p 7ffffffea000 00:00 0 [stack] ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 [vdso] 2011/07/18 16:31:23 [alert] 31006#0: worker process 10811 exited on signal 6 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212534,212534#msg-212534 From nginx-forum на nginx.us Mon Jul 18 18:08:53 2011 From: nginx-forum на nginx.us (kotz) Date: Mon, 18 Jul 2011 10:08:53 -0400 Subject: =?UTF-8?B?UmU6IG1lbW9yeSBjb3JydXB0aW9uINC/0YDQuCDQsdC+0LvRjNGI0L7QvCBHRVQ=?= In-Reply-To: References: Message-ID: <618dea58af6150871b8e17e6c6e454a3.NginxMailingListRussian@forum.nginx.org> включили дебаг - увидили следующее: 2011/07/18 17:04:01 [crit] 12897#0: *267705 pread() "/opt/nginx_cache/proxy_temp/3/80/0000133803" failed (14: Bad address) while sending to client, client: 10 .10.10.2, server: xml_cache.host0, request: "GET /c/c2/c2d/c2da/c2da0/c2da09dc-1f38-41a5-2fc5-99b014cadb8e?uuids=a28da131-7ce7-5294-2544-ae74cd11b96c,5e6decfd -e4b5-17f9-f063-966d1f80f272,b2168f1f-7384-7b41-ce48-0c2bbc394e98,764dff40-f42b-211d-eedf-f89c0195430a,3b69c428-5ab4-30d6-cfa7-b11c20578af2,0d622bde-7ebd-0607 -ffdf-e6840db2725c,a94d1baa-a3b0-a44c-d19f-b77f1db5c25e,9d4f6179-a2a8-02a2-a885-abf9ea189fba,38f01b83-844f-3cb4-bef6-84128ab316e1,ded2a123-d463-a04e-28f3-0c19 fe4c7549,8ed87524-c178-4a85-0a8b-09c8cf7d301f,04d78e13-9361-b2b7-8ce9-da2cb2681616,56dde9d6-1777-4889-7259-ea2603246f44,de9bd112-3355-6863-db98-e75892707a8a,c 0d3c789-b576-e630-c76b-6c811846d033,a79d34ad-e82c-eede-afc2-be54073e6601,0ddd9f3d-e313-1b48-3c0e-1e7e6973ca55,a1f03821-c55f-f0ac-3f4d-6136ab57981a,bf64efcb-9f 85-2a4f-1979-401fca1a3d29,b624afde-a714-323e-b65c-90e56b1d1e3f,727b532c-e2a4-f009-a40a-1466146772a4,f2e13d23-73a2-ed3d-cb3e-431417380027,139aaef9-bada-4196-b12a-2e398a30d724,67a333d6-3b90-4356-62e1-394f0a8c560c,c589c0ad-9f22-f4dc-d899-31ca94b1bb76,15aae601-c1ed-0881-df8a-8b536dfb00fe,b7090ddd-68aa-870c-d00a-9ee5555c85da,291e7953-b81f-8553-943a-a4237b707260,a84e3088-2bc4-8da3-18be-6d0ea2f44ddc,3c0ca054-63e8-ddc1-a375-b527e02387d9,c1afd467-a32c-b211-7a67-39768b6667bf,2a09f685-642b-4d78-f9ac-f90a865b3db2,6809f16e-733b-2501-f7e3-a78cf391708f,a4e9d9e3-472f-ed0c-decb-841ea487066b,a67e35b8-61be-ec4e-2077-93ac8a565eab,93c0e949-5c18-be75-024b-2f96a87c66e4,1def6709-2657-c0e3-c44b-9f8f9f8995bc,f27a83d7-f3e4-9bb6-5cb1-979d5ea7c5ad,5e6e0f12-ed3d-11cc-ce57-962b00bf3a7a,34d3904b-8bff-3cc3-8caf-61ead02680e7,c7d8d0dc-92d5-f96e-2bc0-289a86a7cd7a,601554ff-1acb-9836-26b0-be4e5b6dd0db,5d847500-804e-3893-0af3-ab3110940ee5,4f2c4f94-4212-82af-fd1c-bec196634c4b,5d55e289-fdd1-ca1b-67c2-82cc1e6fc2ce,0e799dc8-447c-b904-b17a-77eb4bdbe3e3,27a619a9-cd12-8fae-3ac6-c66e96e2a7f5,471fab2f-0255-a681-f9c4-04fe36ac973c, *** glibc detected *** nginx: worker process: free(): invalid next size (normal): 0x000000001dd603e0 *** Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212534,212535#msg-212535 From igor на sysoev.ru Mon Jul 18 18:09:40 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 18 Jul 2011 18:09:40 +0400 Subject: =?UTF-8?B?UmU6IG1lbW9yeSBjb3JydXB0aW9uINC/0YDQuCDQsdC+0LvRjNGI0L7QvCBHRVQ=?= In-Reply-To: References: Message-ID: <20110718140940.GA32893@sysoev.ru> On Mon, Jul 18, 2011 at 10:00:36AM -0400, kotz wrote: > Фронтенд и бекэнд на одном сервере: > nginx: nginx version: nginx/1.0.4 > nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50) > > Linux host.net 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 > x86_64 x86_64 GNU/Linux > > Ситуация следующая, на вход фронтену > передается GET запрос размером около > 10Кб, > в конфиге на фронтенде прописано: > > large_client_header_buffers 8 32k; > > запрос проходит, и передается на бекенд > - кеширующий nginx, тут также прописано > large_client_header_buffers 8 32k но он валиться. Лог > ниже. > > Есть подозрение что это из-за размера GET > запроса, на кеше proxy_cache_key $request_uri !? Поставьте proxy_buffer_size 64k; Исправление скоро будет. -- Igor Sysoev From igor на sysoev.ru Mon Jul 18 18:15:40 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 18 Jul 2011 18:15:40 +0400 Subject: nginx company Message-ID: <20110718141540.GC32893@sysoev.ru> У меня есть новости в отношении дальнейшего развития проекта nginx. В последнее время, с развитием популярности nginx и непрекращающимся ростом интереса со стороны пользователей, мне стало всё более очевидно, что моих усилий перестаёт хватать для того, чтобы эффективно заниматься кодом, документацией, поддержкой, новым функционалом и прочим. В связи с этим я создаю свою компанию, которая сосредоточится на развитии проекта. Компания объединяет небольшую пока группу энтузиастов, задачей которых будет улучшение качества поддержки пользователей nginx (документация, исправление ошибок, интегрирование полезных патчей и тому подобное), реорганизация процесса разработки с целью обеспечить по-настоящему командную работу над кодом, написание нового функционала. Хотел бы отметить, что каких-либо планов по изменению лицензии, закрытию общего функционала, прекращению поддержки для open source community нет и не будет. Продукт продолжит существование как free open-source c лицензией BSD. Документация и прочие необходимые материалы будут переработаны в лучшую сторону и полностью открыты. Я бы хотел выразить свою признательность всем, кто пользуется nginx, активно участвуя в дискуссиях и обсуждениях. Без вашей поддержки популярность nginx не была бы столь высокой. Я также уверен, что появление этой компании, сосредоточившейся на развитии nginx, приведёт только к положительным результатам для пользователей. Спасибо! -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Mon Jul 18 18:19:47 2011 From: nginx-forum на nginx.us (kotz) Date: Mon, 18 Jul 2011 10:19:47 -0400 Subject: =?UTF-8?B?UmU6IG1lbW9yeSBjb3JydXB0aW9uINC/0YDQuCDQsdC+0LvRjNGI0L7QvCBHRVQ=?= In-Reply-To: <20110718140940.GA32893@sysoev.ru> References: <20110718140940.GA32893@sysoev.ru> Message-ID: <80c8cbc7449cf8c518e7c56080e27c23.NginxMailingListRussian@forum.nginx.org> Спасибо, работает Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212534,212540#msg-212540 From valery+nginxru на grid.net.ru Mon Jul 18 18:25:28 2011 From: valery+nginxru на grid.net.ru (Valery Kholodkov) Date: Mon, 18 Jul 2011 16:25:28 +0200 Subject: nginx company In-Reply-To: <20110718141540.GC32893@sysoev.ru> References: <20110718141540.GC32893@sysoev.ru> Message-ID: <4E244258.6050803@grid.net.ru> Прекрасные новости! Желаю вам успехов! И сразу вопрос: как попасть на работу в эту компанию? Igor Sysoev пишет: > У меня есть новости в отношении дальнейшего развития проекта nginx. > > В последнее время, с развитием популярности nginx и непрекращающимся > ростом интереса со стороны пользователей, мне стало всё более очевидно, > что моих усилий перестаёт хватать для того, чтобы эффективно заниматься > кодом, документацией, поддержкой, новым функционалом и прочим. > > В связи с этим я создаю свою компанию, которая сосредоточится на > развитии проекта. Компания объединяет небольшую пока группу > энтузиастов, задачей которых будет улучшение качества поддержки > пользователей nginx (документация, исправление ошибок, интегрирование > полезных патчей и тому подобное), реорганизация процесса разработки с > целью обеспечить по-настоящему командную работу над кодом, написание > нового функционала. > > Хотел бы отметить, что каких-либо планов по изменению лицензии, > закрытию общего функционала, прекращению поддержки для open source > community нет и не будет. Продукт продолжит существование как free > open-source c лицензией BSD. Документация и прочие необходимые > материалы будут переработаны в лучшую сторону и полностью открыты. > > Я бы хотел выразить свою признательность всем, кто пользуется nginx, > активно участвуя в дискуссиях и обсуждениях. Без вашей поддержки > популярность nginx не была бы столь высокой. Я также уверен, что > появление этой компании, сосредоточившейся на развитии nginx, приведёт > только к положительным результатам для пользователей. -- Best regards, Valery Kholodkov From ash2kk на gmail.com Mon Jul 18 18:49:16 2011 From: ash2kk на gmail.com (Mikhail Mazursky) Date: Mon, 18 Jul 2011 20:49:16 +0600 Subject: FastCgi (php) 302 redirect In-Reply-To: <3594e8287ee540f60a6b6bb793b0232e.NginxMailingListRussian@forum.nginx.org> References: <3594e8287ee540f60a6b6bb793b0232e.NginxMailingListRussian@forum.nginx.org> Message-ID: 18 июля 2011 г. 18:15 пользователь aoz написал: > В связи с кривой реализацией firmware > некоторых клиетов нужно вернуть > HTTP/1.1 302 Found. > как это делал апач > вместо > HTTP/1.1 302. > как это делает nginx > > Ощущение что при получении Location > nginx плюет на status и подставляет и > процессит свой. > > уже устал перибирать варианты и с > параметрами и без: > > //header("Status: 302 Found", TRUE, 302); > header("Location: login.php", TRUE, 302); > header("HTTP/1.1 302 Found", TRUE, 302); > error_log(print_r(headers_list(), true)); > ?> > Может кто сталкивался? > > Заранее спасибо. Попробуйте вернуть не HTTP/1.1, а HTTP/1.0. В данном случае это может и не поможет, но nginx не общается с бекэндом по HTTP/1.1 (а по 1.0) и поэтому такой ответ более корректный на сколько я понимаю. Не помню что именно, но точно попадалась какая-то проблема с этим связанная. From johnbat26 на gmail.com Mon Jul 18 18:58:30 2011 From: johnbat26 на gmail.com (Eugene Batogov) Date: Mon, 18 Jul 2011 18:58:30 +0400 Subject: nginx company Message-ID: Поздравляю ! Это для меня новость дня! Удачи всему сообществу NGINX! Это отличный и перспективный проект! -- С уважением Eugene Batogov a.k.a. JohnBat26 -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Mon Jul 18 19:25:44 2011 From: nginx-forum на nginx.us (aoz) Date: Mon, 18 Jul 2011 11:25:44 -0400 Subject: FastCgi (php) 302 redirect In-Reply-To: References: Message-ID: Здравая мысль... Очевидно то была проблема с cgi.rfc2616_headers. Для вашего хака как раз надо ее включить. А у меня ощущение что этой переменной у меня в php вообще нет :) Короче разберусь отпишусь. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212529,212551#msg-212551 From igor на sysoev.ru Mon Jul 18 19:32:09 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 18 Jul 2011 19:32:09 +0400 Subject: FastCgi (php) 302 redirect In-Reply-To: <3594e8287ee540f60a6b6bb793b0232e.NginxMailingListRussian@forum.nginx.org> References: <3594e8287ee540f60a6b6bb793b0232e.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110718153209.GK32893@sysoev.ru> On Mon, Jul 18, 2011 at 08:15:02AM -0400, aoz wrote: > В связи с кривой реализацией firmware > некоторых клиетов нужно вернуть > HTTP/1.1 302 Found. > как это делал апач > вместо > HTTP/1.1 302. > как это делает nginx > > Ощущение что при получении Location > nginx плюет на status и подставляет и > процессит свой. > > уже устал перибирать варианты и с > параметрами и без: > > //header("Status: 302 Found", TRUE, 302); > header("Location: login.php", TRUE, 302); > header("HTTP/1.1 302 Found", TRUE, 302); > error_log(print_r(headers_list(), true)); > ?> > Может кто сталкивался? nginx при работает с FastCGI берёт статус и строку из 1) заголовка "Status: XXXXXX", 2) если же заголовка Status нет, но есть заголовок Location, то выставляет статус "302 Moved Temporarily". 3) если заголовка Location нет, то статусная строка будет "200 OK". До 0.7.8 заголовок Location не проверялся. "HTTP/1.1 ..." FastCGI передать не может - не предусмотрено протоколом. -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Mon Jul 18 20:08:10 2011 From: nginx-forum на nginx.us (aoz) Date: Mon, 18 Jul 2011 12:08:10 -0400 Subject: FastCgi (php) 302 redirect In-Reply-To: <20110718153209.GK32893@sysoev.ru> References: <20110718153209.GK32893@sysoev.ru> Message-ID: > > Может кто сталкивался? > > nginx при работает с FastCGI > берёт статус и строку из > 1) заголовка "Status: XXXXXX", Игорь Заголовок как то проверяется? или что я делаю не так? Влючил на nginx fastcgi_pass_header Status вот php скрипт вот контрольная печать в error_log [18-Jul-2011 17:47:15] Array ( [0] => X-Powered-By: PHP/5.1.6 [1] => Status: 302 Found [2] => Location: tv_login.php ) вот tcpdump T 2011/07/18 18:53:36.233844 xx.xx.xx.58:80 -> 10.0.1.4:43225 [AP] HTTP/1.1 302. Server: nginx. Date: Mon, 18 Jul 2011 15:53:29 GMT. Content-Type: text/html. Transfer-Encoding: chunked. Connection: keep-alive. Keep-Alive: timeout=20. Status: 302. X-Powered-By: PHP/5.1.6. Status: 302 Found. Location: tv_login.php. Кто этот первый Status 302 впихивает. nginx или php? У php по мануалам true 302 должно затереть дубликат. в общем надо собирать стенд со связкой fast-cgi->nginx по tcp и смотреть. > 2) если же заголовка Status нет, > но есть заголовок Location, то > выставляет статус "302 Moved > Temporarily". > 3) если заголовка Location нет, > то статусная строка будет > "200 OK". > > До 0.7.8 заголовок Location не > проверялся. > > "HTTP/1.1 ..." FastCGI передать не > может - не предусмотрено > протоколом. > > > -- > Игорь Сысоев > http://sysoev.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212529,212557#msg-212557 From igor на sysoev.ru Mon Jul 18 20:12:50 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 18 Jul 2011 20:12:50 +0400 Subject: FastCgi (php) 302 redirect In-Reply-To: References: <20110718153209.GK32893@sysoev.ru> Message-ID: <20110718161250.GA53757@sysoev.ru> On Mon, Jul 18, 2011 at 12:08:10PM -0400, aoz wrote: > > > Может кто сталкивался? > > > > nginx при работает с FastCGI > > берёт статус и строку из > > 1) заголовка "Status: XXXXXX", > Игорь > Заголовок как то проверяется? > или что я делаю не так? > > Влючил на nginx fastcgi_pass_header Status > > вот php скрипт > > header("Status: 302 Found", TRUE, 302); > header("Location: tv_login.php"); > error_log(print_r(headers_list(), true)); > ?> > > вот контрольная печать в error_log > [18-Jul-2011 17:47:15] Array > ( > [0] => X-Powered-By: PHP/5.1.6 > [1] => Status: 302 Found > [2] => Location: tv_login.php > ) > вот tcpdump > > T 2011/07/18 18:53:36.233844 xx.xx.xx.58:80 -> 10.0.1.4:43225 [AP] > HTTP/1.1 302. > Server: nginx. > Date: Mon, 18 Jul 2011 15:53:29 GMT. > Content-Type: text/html. > Transfer-Encoding: chunked. > Connection: keep-alive. > Keep-Alive: timeout=20. > Status: 302. > X-Powered-By: PHP/5.1.6. > Status: 302 Found. > Location: tv_login.php. > > Кто этот первый Status 302 впихивает. nginx или > php? У php по мануалам true 302 должно > затереть > дубликат. > в общем надо собирать стенд со связкой > fast-cgi->nginx по tcp > и смотреть. Включите отладочный лог nginx'а: http://nginx.org/en/docs/debugging_log.html -- Игорь Сысоев http://sysoev.ru From voron на amhost.net Mon Jul 18 20:12:46 2011 From: voron на amhost.net (Alex Vorona) Date: Mon, 18 Jul 2011 19:12:46 +0300 Subject: FastCgi (php) 302 redirect In-Reply-To: References: <20110718153209.GK32893@sysoev.ru> Message-ID: <4E245B7E.2040505@amhost.net> А если убрать X-Powered-By ? From nginx-forum на nginx.us Mon Jul 18 20:29:04 2011 From: nginx-forum на nginx.us (aoz) Date: Mon, 18 Jul 2011 12:29:04 -0400 Subject: FastCgi (php) 302 redirect In-Reply-To: <20110718161250.GA53757@sysoev.ru> References: <20110718161250.GA53757@sysoev.ru> Message-ID: <760f7344737c0b5fdda59d42400d8112.NginxMailingListRussian@forum.nginx.org> > > fast-cgi->nginx по tcp > > и смотреть. > > Включите отладочный лог > nginx'а: > http://nginx.org/en/docs/debugging_log.html Страшно на production upgrade делать. Соберу стенд отпишусь. Пока time-out > > > -- > Игорь Сысоев > http://sysoev.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212529,212560#msg-212560 From s на bykov.odessa.ua Mon Jul 18 21:03:02 2011 From: s на bykov.odessa.ua (Bykov Subscribe) Date: Mon, 18 Jul 2011 20:03:02 +0300 Subject: nginx company In-Reply-To: <20110718141540.GC32893@sysoev.ru> References: <20110718141540.GC32893@sysoev.ru> Message-ID: <17210600605.20110718200302@bykov.odessa.ua> Поздравляю с принятием такого решения и желаю успехов > У меня есть новости в отношении дальнейшего развития проекта nginx. > В последнее время, с развитием популярности nginx и непрекращающимся > ростом интереса со стороны пользователей, мне стало всё более очевидно, > что моих усилий перестаёт хватать для того, чтобы эффективно заниматься > кодом, документацией, поддержкой, новым функционалом и прочим. > В связи с этим я создаю свою компанию, которая сосредоточится на > развитии проекта. Компания объединяет небольшую пока группу > энтузиастов, задачей которых будет улучшение качества поддержки > пользователей nginx (документация, исправление ошибок, интегрирование > полезных патчей и тому подобное), реорганизация процесса разработки с > целью обеспечить по-настоящему командную работу над кодом, написание > нового функционала. > > Хотел бы отметить, что каких-либо планов по изменению лицензии, > закрытию общего функционала, прекращению поддержки для open source > community нет и не будет. Продукт продолжит существование как free > open-source c лицензией BSD. Документация и прочие необходимые > материалы будут переработаны в лучшую сторону и полностью открыты. > > Я бы хотел выразить свою признательность всем, кто пользуется nginx, > активно участвуя в дискуссиях и обсуждениях. Без вашей поддержки > популярность nginx не была бы столь высокой. Я также уверен, что > появление этой компании, сосредоточившейся на развитии nginx, приведёт > только к положительным результатам для пользователей. > > Спасибо! -- С уважением, Bykov mailto:s на bykov.odessa.ua From nginx-forum на nginx.us Mon Jul 18 21:31:36 2011 From: nginx-forum на nginx.us (aoz) Date: Mon, 18 Jul 2011 13:31:36 -0400 Subject: FastCgi (php) 302 redirect In-Reply-To: <760f7344737c0b5fdda59d42400d8112.NginxMailingListRussian@forum.nginx.org> References: <20110718161250.GA53757@sysoev.ru> <760f7344737c0b5fdda59d42400d8112.NginxMailingListRussian@forum.nginx.org> Message-ID: <21356d5332eebcf2524518174e061f8b.NginxMailingListRussian@forum.nginx.org> Всем sorry. Ошиблся адресом. похоже у php девелоперов была та же проблема с location. и поставили в принудиловке Status: 302 T 2011/07/18 13:25:41.877600 127.0.0.1:9999 -> 127.0.0.1:39539 [AP] .....j..Status: 302. X-Powered-By: PHP/5.1.6. Status: 302 Found. Location: index.html. Content-type: text/html. Всем спасибо. извините что напряг. . Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212529,212571#msg-212571 From igor на sysoev.ru Mon Jul 18 22:58:41 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Mon, 18 Jul 2011 22:58:41 +0400 Subject: =?UTF-8?B?UmU6INCe0YLQtNCw0LLQsNGC0YwgZGVmYXVsdCBpbWFnZSwgINC10YHQu9C4INC9?= =?UTF-8?B?0LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIg0LrQsNGA0YLQuNC90LrQuC4=?= In-Reply-To: <201107151917.36846.ne@vbart.ru> References: <486b98257e7127dab770af60b96e0246.NginxMailingListRussian@forum.nginx.org> <201107151917.36846.ne@vbart.ru> Message-ID: <20110718185841.GC68433@sysoev.ru> On Fri, Jul 15, 2011 at 07:17:36PM +0400, Валентин Бартенев wrote: > On Friday 15 July 2011 15:56:43 selfchief wrote: > > Сразу вспомнил про try_files > > Попробовал сделать: > > location ~* ^/(i|im)/ { > > expires 7d; > > try_files $uri $uri/default.png =404; > > } > > Но сразу понял, что в $uri хранится полный > > путь с именем файла. > > location ~* ^(?/im?(/.+)*)/ { > expires 7d; > try_files $uri $dir/default.jpg =404; > } Я бы сделал так: location /im { location ~* ^(?/im?(/.+)*)/ { expires 7d; try_files $uri $dir/default.jpg =404; } } -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Tue Jul 19 04:39:13 2011 From: nginx-forum на nginx.us (locojohn) Date: Mon, 18 Jul 2011 20:39:13 -0400 Subject: nginx company In-Reply-To: <20110718141540.GC32893@sysoev.ru> References: <20110718141540.GC32893@sysoev.ru> Message-ID: <06242e04ea04d75bbd38fc2245883dbc.NginxMailingListRussian@forum.nginx.org> Примите поздравления, Игорь! Желаю вам и вашим коллегам удачи во всём! Андрей Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212539,212578#msg-212578 From rush.zlo на gmail.com Tue Jul 19 07:12:58 2011 From: rush.zlo на gmail.com (=?UTF-8?B?0JXQstCz0LXQvdC40LkgJ1J1c2gnINCd0LXQv9C+0LzQvdGP0YnQuNC5?=) Date: Tue, 19 Jul 2011 07:12:58 +0400 Subject: nginx company In-Reply-To: <06242e04ea04d75bbd38fc2245883dbc.NginxMailingListRussian@forum.nginx.org> References: <20110718141540.GC32893@sysoev.ru> <06242e04ea04d75bbd38fc2245883dbc.NginxMailingListRussian@forum.nginx.org> Message-ID: Поздравляю! Хотелось бы видеть в этой компании Максима Дунина и Валерия Холодкова как минимум, если конечно они сами не против. 19 июля 2011 г. 4:39 пользователь locojohn написал: > Примите поздравления, Игорь! Желаю вам > и вашим коллегам удачи во всём! > > Андрей > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212539,212578#msg-212578 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > -- Cogitum ergo sum ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Tue Jul 19 09:26:42 2011 From: nginx-forum на nginx.us (vagner) Date: Tue, 19 Jul 2011 01:26:42 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <20110717173959.GK1137@mdounin.ru> References: <20110717173959.GK1137@mdounin.ru> Message-ID: <97b66d7eb1f86a27f0515ad434e34dba.NginxMailingListRussian@forum.nginx.org> Подскажите пожалуйста, какие значения может принимать rate? Я нашел что можно r/s (секунды), r/m(минуты) - а возможно ли больше, как пример r/h, r/M, r/Y? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212586#msg-212586 From nginx-forum на nginx.us Tue Jul 19 09:38:50 2011 From: nginx-forum на nginx.us (vagner) Date: Tue, 19 Jul 2011 01:38:50 -0400 Subject: nginx company In-Reply-To: <20110718141540.GC32893@sysoev.ru> References: <20110718141540.GC32893@sysoev.ru> Message-ID: <00e47efde80a30b6b0f806c6173bb565.NginxMailingListRussian@forum.nginx.org> Поздравляю, и желаю дальнейшего удачного развития проекту! Nginx доказал, что хороший софт могут разрабатывать не только в кремниевой долине, но и у нас на Родине. Спасибо за лучший веб-сервер! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212539,212590#msg-212590 From kav на karagodov.name Tue Jul 19 09:59:37 2011 From: kav на karagodov.name (Alexey V. Karagodov) Date: Tue, 19 Jul 2011 13:59:37 +0800 Subject: nginx company In-Reply-To: <00e47efde80a30b6b0f806c6173bb565.NginxMailingListRussian@forum.nginx.org> References: <20110718141540.GC32893@sysoev.ru> <00e47efde80a30b6b0f806c6173bb565.NginxMailingListRussian@forum.nginx.org> Message-ID: <8FE567F0-B02E-40CF-88E2-F3E3F50CA244@karagodov.name> сорри за офф-топ и флуд nginx хорошая штука, спас меня лично и многих других от кучи геморроя, расходов и пр. прелестей жизни On 19.07.2011, at 13:38, vagner wrote: > Поздравляю, и желаю дальнейшего > удачного развития проекту! Nginx доказал, > что хороший софт могут разрабатывать > не только в кремниевой долине, но и у > нас на Родине. Спасибо за лучший советую обратить внимание на "софт" написанный для управления "Бураном", верней это ПАК, софт лишь часть, это например nginx не первый, но надеюсь не последний подобный пример P.S.: Игорь, куда теперь отправлять запросы на разработку (верней сначала на оценку затрат) дополнительных фишек/модулей? потребность в коих весьма велика порой > веб-сервер! > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212539,212590#msg-212590 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From igor на sysoev.ru Tue Jul 19 10:06:15 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 10:06:15 +0400 Subject: nginx company In-Reply-To: <8FE567F0-B02E-40CF-88E2-F3E3F50CA244@karagodov.name> References: <20110718141540.GC32893@sysoev.ru> <00e47efde80a30b6b0f806c6173bb565.NginxMailingListRussian@forum.nginx.org> <8FE567F0-B02E-40CF-88E2-F3E3F50CA244@karagodov.name> Message-ID: <20110719060614.GC96564@sysoev.ru> On Tue, Jul 19, 2011 at 01:59:37PM +0800, Alexey V. Karagodov wrote: > P.S.: Игорь, куда теперь отправлять запросы на разработку (верней сначала на оценку затрат) дополнительных фишек/модулей? > потребность в коих весьма велика порой На мой адрес. -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Tue Jul 19 10:37:45 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 10:37:45 +0400 Subject: nginx company In-Reply-To: References: <20110718141540.GC32893@sysoev.ru> <06242e04ea04d75bbd38fc2245883dbc.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110719063744.GH96564@sysoev.ru> On Tue, Jul 19, 2011 at 07:12:58AM +0400, Евгений 'Rush' Непомнящий wrote: > Поздравляю! Хотелось бы видеть в этой компании Максима Дунина и Валерия > Холодкова как минимум, если конечно они сами не против. Они не против. Максим уже с нами. -- Igor Sysoev From a4irkin на gmail.com Tue Jul 19 11:36:55 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Tue, 19 Jul 2011 11:36:55 +0400 Subject: =?UTF-8?B?0K3QutGA0LDQvdC40YDQvtCy0LDQvdC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0Ysg?= =?UTF-8?B?dXJs?= Message-ID: Здравствуйте. Моя задача состоит в том, чтобы передать из X-Accel-Redirect параметр url, содержащий байтовую последовательность. Есть ли возможность в nginx декодировать значение параметра $arg_name, закодированного, например, с помощью php urlencode. С уважением, Алексей. From latypoff на yandex.ru Tue Jul 19 11:37:35 2011 From: latypoff на yandex.ru (Denis F. Latypoff) Date: Tue, 19 Jul 2011 14:37:35 +0700 Subject: nginx company In-Reply-To: <20110719063744.GH96564@sysoev.ru> References: <20110718141540.GC32893@sysoev.ru> <06242e04ea04d75bbd38fc2245883dbc.NginxMailingListRussian@forum.nginx.org> <20110719063744.GH96564@sysoev.ru> Message-ID: <443711311061055@web68.yandex.ru> 19.07.2011, 13:37, "Igor Sysoev" : > On Tue, Jul 19, 2011 at 07:12:58AM +0400, Евгений 'Rush' Непомнящий wrote: > >>  Поздравляю! Хотелось бы видеть в этой компании Максима Дунина и Валерия >>  Холодкова как минимум, если конечно они сами не против. > > Они не против. Максим уже с нами. Dream team )) -- br, Denis F. Latypoff. From denis.kot на gmail.com Tue Jul 19 14:45:22 2011 From: denis.kot на gmail.com (Denis Kot) Date: Tue, 19 Jul 2011 13:45:22 +0300 Subject: nginx company In-Reply-To: <443711311061055@web68.yandex.ru> References: <20110718141540.GC32893@sysoev.ru> <06242e04ea04d75bbd38fc2245883dbc.NginxMailingListRussian@forum.nginx.org> <20110719063744.GH96564@sysoev.ru> <443711311061055@web68.yandex.ru> Message-ID: Простите за нескромный вопрос, но очень интересно. А на чем подобные компании зарабатывают деньги если все бесплатно? Denis Kot 19 июля 2011 г. 10:37 пользователь Denis F. Latypoff написал: > 19.07.2011, 13:37, "Igor Sysoev" : >> On Tue, Jul 19, 2011 at 07:12:58AM +0400, Евгений 'Rush' Непомнящий wrote: >> >>>  Поздравляю! Хотелось бы видеть в этой компании Максима Дунина и Валерия >>>  Холодкова как минимум, если конечно они сами не против. >> >> Они не против. Максим уже с нами. > > Dream team )) > > -- > br, Denis F. Latypoff. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > From partizan4ik на gmail.com Tue Jul 19 14:48:34 2011 From: partizan4ik на gmail.com (=?KOI8-R?B?5dfHxc7JyiDn0snHz9LFzsvP?=) Date: Tue, 19 Jul 2011 17:48:34 +0700 Subject: nginx company In-Reply-To: References: <20110718141540.GC32893@sysoev.ru> <06242e04ea04d75bbd38fc2245883dbc.NginxMailingListRussian@forum.nginx.org> <20110719063744.GH96564@sysoev.ru> <443711311061055@web68.yandex.ru> Message-ID: Я думаю, что по большей части саппортом. 19 июля 2011 г. 17:45 пользователь Denis Kot написал: > Простите за нескромный вопрос, но очень интересно. А на чем > подобные компании зарабатывают деньги если все бесплатно? > > Denis Kot > > > > > 19 июля 2011 г. 10:37 пользователь Denis F. Latypoff > написал: > > 19.07.2011, 13:37, "Igor Sysoev" : > >> On Tue, Jul 19, 2011 at 07:12:58AM +0400, Евгений 'Rush' Непомнящий > wrote: > >> > >>> Поздравляю! Хотелось бы видеть в этой компании Максима Дунина и > Валерия > >>> Холодкова как минимум, если конечно они сами не против. > >> > >> Они не против. Максим уже с нами. > > > > Dream team )) > > > > -- > > br, Denis F. Latypoff. > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Tue Jul 19 15:27:57 2011 From: nginx-forum на nginx.us (chapov) Date: Tue, 19 Jul 2011 07:27:57 -0400 Subject: nginx company In-Reply-To: <20110718141540.GC32893@sysoev.ru> References: <20110718141540.GC32893@sysoev.ru> Message-ID: Поздравляю! ЗЫ: Компанию как назовете? "Bad Gateway" ? ;) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212539,212614#msg-212614 From chipitsine на gmail.com Tue Jul 19 16:39:06 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 19 Jul 2011 18:39:06 +0600 Subject: =?UTF-8?B?0LHQsNC70LDQvdGB0LjRgNC+0LLQutCwINCyINGB0LvRg9GH0LDQtSBpcHY2?= Message-ID: Добрый день! в файлике ngx_http_upstream_ip_hash_module.c есть такой код for (i = 0; i < 3; i++) { hash = (hash * 113 + iphp->addr[i]) % 6271; } это мы проходимся по 4-м октетам адреса ipv4 ? а если к нам пришли с ipv6 ? Илья Шипицин ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Tue Jul 19 16:48:15 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 19 Jul 2011 16:48:15 +0400 Subject: =?UTF-8?B?UmU6INCx0LDQu9Cw0L3RgdC40YDQvtCy0LrQsCDQsiDRgdC70YPRh9Cw0LUgaXB2?= =?UTF-8?B?Ng==?= In-Reply-To: References: Message-ID: <20110719124815.GZ1137@mdounin.ru> Hello! On Tue, Jul 19, 2011 at 06:39:06PM +0600, Илья Шипицин wrote: > Добрый день! > > в файлике ngx_http_upstream_ip_hash_module.c > > есть такой код > > > for (i = 0; i < 3; i++) { > hash = (hash * 113 + iphp->addr[i]) % 6271; > } > > > это мы проходимся по 4-м октетам адреса ipv4 ? а если к нам пришли с ipv6 ? По трём октетам. Для ipv6 счастья не будет, там вообще будут нули. Смотреть в ngx_http_upstream_init_ip_hash_peer(), в частности на комментарий "AF_INET only". Maxim Dounin From voron на amhost.net Tue Jul 19 17:45:53 2011 From: voron на amhost.net (Alex Vorona) Date: Tue, 19 Jul 2011 16:45:53 +0300 Subject: =?UTF-8?B?UmU6INCt0LrRgNCw0L3QuNGA0L7QstCw0L3QvdGL0LUg0L/QsNGA0LDQvNC10YI=?= =?UTF-8?B?0YDRiyB1cmw=?= In-Reply-To: References: Message-ID: <4E258A91.3000706@amhost.net> 19.07.2011 10:36, Aleksey Chirkin wrote: > Здравствуйте. > > Моя задача состоит в том, чтобы передать из X-Accel-Redirect параметр > url, содержащий байтовую последовательность. > Есть ли возможность в nginx декодировать значение параметра $arg_name, > закодированного, например, с помощью php urlencode. А если параметр не urlencode()'ить на php и не декодировать в nginx - что происходит? From ne на vbart.ru Tue Jul 19 18:25:54 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Tue, 19 Jul 2011 18:25:54 +0400 Subject: nginx company In-Reply-To: <20110719063744.GH96564@sysoev.ru> References: <20110718141540.GC32893@sysoev.ru> <20110719063744.GH96564@sysoev.ru> Message-ID: <201107191825.55097.ne@vbart.ru> On Tuesday 19 July 2011 10:37:45 Igor Sysoev wrote: > On Tue, Jul 19, 2011 at 07:12:58AM +0400, Евгений 'Rush' Непомнящий wrote: > > Поздравляю! Хотелось бы видеть в этой компании Максима Дунина и Валерия > > Холодкова как минимум, если конечно они сами не против. > > Они не против. Максим уже с нами. Замечательный коллектив, успехов им! Я также буду очень рад оказать посильную помощь. -- Валентин Бартенев From nginx-forum на nginx.us Tue Jul 19 18:28:06 2011 From: nginx-forum на nginx.us (hg_04) Date: Tue, 19 Jul 2011 10:28:06 -0400 Subject: index - nginx 1.0.4 Message-ID: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> Есть вот такой конфиг (ниже). Суть проблемы в том, что по урлу server.com отдается 403. По урлу server.com/1/ отдается индексный файл. Лечится если в location / продублировать index. Мог ли я что-то нитак задать в http блоке, или эта проблема возникает не только у меня? server { listen 80; server_name server.com index index.php; root /var/www; allow all; location / { index index.php; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212622,212622#msg-212622 From igor на sysoev.ru Tue Jul 19 18:42:45 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 18:42:45 +0400 Subject: nginx-1.0.5 Message-ID: <20110719144245.GE29692@sysoev.ru> Изменения в nginx 1.0.5 19.07.2011 *) Изменение: теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5". Спасибо Rob Stradling. *) Добавление: директивы referer_hash_max_size и referer_hash_bucket_size. Спасибо Witold Filipczyk. *) Добавление: переменная $uid_reset. *) Исправление: при использовании кэширования в рабочем процессе мог произойти segmentation fault. Спасибо Lanshun Zhou. *) Исправление: при использовании кэширования рабочие процессы могли зациклиться во время переконфигурации; ошибка появилась в 0.8.48. Спасибо Максиму Дунину. *) Исправление: сообщения "stalled cache updating". Спасибо Максиму Дунину. -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Tue Jul 19 18:46:15 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 18:46:15 +0400 Subject: nginx-0.8.55 Message-ID: <20110719144615.GJ29692@sysoev.ru> Изменения в nginx 0.8.55 19.07.2011 *) Исправление: при использовании кэширования в рабочем процессе мог произойти segmentation fault. Спасибо Lanshun Zhou. -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Tue Jul 19 18:48:11 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 18:48:11 +0400 Subject: nginx-0.7.69 Message-ID: <20110719144811.GN29692@sysoev.ru> Изменения в nginx 0.7.69 19.07.2011 *) Исправление: при использовании кэширования в рабочем процессе мог произойти segmentation fault. Спасибо Lanshun Zhou. -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Tue Jul 19 19:04:09 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 19:04:09 +0400 Subject: index - nginx 1.0.4 In-Reply-To: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> References: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110719150409.GS29692@sysoev.ru> On Tue, Jul 19, 2011 at 10:28:06AM -0400, hg_04 wrote: > Есть вот такой конфиг (ниже). Суть > проблемы в том, что по урлу server.com > отдается 403. По урлу server.com/1/ отдается > индексный файл. Лечится если в location / > продублировать index. Мог ли я что-то > нитак задать в http блоке, или эта > проблема возникает не только у меня? > > server { > listen 80; > server_name server.com > index index.php; > root /var/www; > allow all; > > location / { > index index.php; > } > > } > Насколько я понимаю, конфигруация неполная: нет обработки PHP. -- Игорь Сысоев http://sysoev.ru From a4irkin на gmail.com Tue Jul 19 19:07:00 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Tue, 19 Jul 2011 19:07:00 +0400 Subject: =?UTF-8?B?UmU6INCt0LrRgNCw0L3QuNGA0L7QstCw0L3QvdGL0LUg0L/QsNGA0LDQvNC10YI=?= =?UTF-8?B?0YDRiyB1cmw=?= In-Reply-To: <4E258A91.3000706@amhost.net> References: <4E258A91.3000706@amhost.net> Message-ID: При встрече спец. символоа, значене параметра обрезается по этому символу. Так как данные бинарные, без экранирования не обойтись. вторник, 19 июля 2011 г. пользователь Alex Vorona писал: > 19.07.2011 10:36, Aleksey Chirkin wrote: >> Здравствуйте. >> >> Моя задача состоит в том, чтобы передать из X-Accel-Redirect параметр >> url, содержащий байтовую последовательность. >> Есть ли возможность в nginx декодировать значение параметра $arg_name, >> закодированного, например, с помощью php urlencode. > А если параметр не urlencode()'ить на php и не декодировать в nginx - что происходит? > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > From nginx-forum на nginx.us Tue Jul 19 19:09:03 2011 From: nginx-forum на nginx.us (Craken) Date: Tue, 19 Jul 2011 11:09:03 -0400 Subject: index - nginx 1.0.4 In-Reply-To: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> References: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> Message-ID: <2ef4472ce4457eba373c787644f1db5a.NginxMailingListRussian@forum.nginx.org> а если вот так вот: server { listen 80; server_name server.com location / { root /var/www; index index.php; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212622,212634#msg-212634 From igor на sysoev.ru Tue Jul 19 19:15:22 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 19:15:22 +0400 Subject: index - nginx 1.0.4 In-Reply-To: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> References: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110719151521.GT29692@sysoev.ru> On Tue, Jul 19, 2011 at 10:28:06AM -0400, hg_04 wrote: > Есть вот такой конфиг (ниже). Суть > проблемы в том, что по урлу server.com > отдается 403. По урлу server.com/1/ отдается > индексный файл. Лечится если в location / > продублировать index. Мог ли я что-то > нитак задать в http блоке, или эта > проблема возникает не только у меня? > > server { > listen 80; > server_name server.com > index index.php; Дошло. После server.com нет ';', поэтому index и index.php стали именами сервера. -- Igor Sysoev From voron на amhost.net Tue Jul 19 19:15:32 2011 From: voron на amhost.net (Alex Vorona) Date: Tue, 19 Jul 2011 18:15:32 +0300 Subject: =?UTF-8?B?UmU6INCt0LrRgNCw0L3QuNGA0L7QstCw0L3QvdGL0LUg0L/QsNGA0LDQvNC10YI=?= =?UTF-8?B?0YDRiyB1cmw=?= In-Reply-To: References: <4E258A91.3000706@amhost.net> Message-ID: <4E259F94.2000203@amhost.net> 19.07.2011 18:07, Aleksey Chirkin wrote: > При встрече спец. символоа, значене параметра обрезается по этому > символу. Так как данные бинарные, без экранирования не обойтись. И как должен nginx передать бинарные данные дальше, не делая urlencode ? Вряд ли аргументы нужны для обслуживания статических файлов. From igor на sysoev.ru Tue Jul 19 19:16:23 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 19:16:23 +0400 Subject: index - nginx 1.0.4 In-Reply-To: <2ef4472ce4457eba373c787644f1db5a.NginxMailingListRussian@forum.nginx.org> References: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> <2ef4472ce4457eba373c787644f1db5a.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110719151623.GU29692@sysoev.ru> On Tue, Jul 19, 2011 at 11:09:03AM -0400, Craken wrote: > а если вот так вот: > > server { > listen 80; > server_name server.com > > location / { > root /var/www; > index index.php; > } > > } Вот в такой записи сразу вылезет ошибка. -- Igor Sysoev From nginx-forum на nginx.us Tue Jul 19 20:02:01 2011 From: nginx-forum на nginx.us (vagner) Date: Tue, 19 Jul 2011 12:02:01 -0400 Subject: =?UTF-8?B?UmU6IG5neCBodHRwIGxpbWl0IHJlcSBtb2R1bGUg0Lgg0YDQtdCw0LvRjNC90L4=?= =?UTF-8?B?0LUg0L/RgNC40LzQtdC90LXQvdC40LU=?= In-Reply-To: <20110717173959.GK1137@mdounin.ru> References: <20110717173959.GK1137@mdounin.ru> Message-ID: if (ngx_strncmp(p, "r/s", 3) == 0) { scale = 1; len -= 3; } else if (ngx_strncmp(p, "r/m", 3) == 0) { scale = 60; len -= 3; } Это условие насколько понимаю отвечает как наз за время (scale). Если добавить сюда: else if (ngx_strncmp(p, "r/h", 3) == 0) { scale = 3600; len -= 3; } else if (ngx_strncmp(p, "r/d", 3) == 0) { scale = 86400; len -= 3; } Вопрос вот в чем: насколько я понимаю модуль хранит зону в памяти, соответственно этой самой памяти может не хватить. При оптимистичных расчетах, чем грозит увеличение времени хранения состояния сессий до таких размеров? Расчет - приблизительно 60000 посетителей за сутки Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212493,212638#msg-212638 From chipitsine на gmail.com Tue Jul 19 20:12:18 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Tue, 19 Jul 2011 22:12:18 +0600 Subject: =?UTF-8?B?bmd4X2h0dHBfbWFwX21vZHVsZSDQuCDRgNC10LPQuNGB0YLRgNC+0L3QtdC30LA=?= =?UTF-8?B?0LLQuNGB0LjQvNGL0LUgcmVnZXgt0YsgPw==?= Message-ID: Добрый день! в выражении "if" допустимо регистронезависимое regex-сравнение: if ($h ~* 'xxx'){ ............. } можно ли аналогичную конструкцию ~* использовать в директиве map ? map $h $n { ~*/xxx/ 1; } или это справедливо только для случая, когда map используется с hostnames ? Илья Шипицин From igor на sysoev.ru Tue Jul 19 20:35:23 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Tue, 19 Jul 2011 20:35:23 +0400 Subject: =?UTF-8?B?UmU6IG5neF9odHRwX21hcF9tb2R1bGUg0Lgg0YDQtdCz0LjRgdGC0YDQvtC90LU=?= =?UTF-8?B?0LfQsNCy0LjRgdC40LzRi9C1IHJlZ2V4LdGLID8=?= In-Reply-To: References: Message-ID: <20110719163523.GV29692@sysoev.ru> On Tue, Jul 19, 2011 at 10:12:18PM +0600, Илья Шипицин wrote: > Добрый день! > > в выражении "if" допустимо регистронезависимое regex-сравнение: > > if ($h ~* 'xxx'){ > ............. > } > > > можно ли аналогичную конструкцию ~* использовать в директиве map ? > > map $h $n { > ~*/xxx/ 1; > > } > > > или это справедливо только для случая, когда map используется с hostnames ? Изменения в nginx 1.0.4 01.06.2011 *) Изменение: теперь в регулярных выражениях в директиве map можно задать чувствительность к регистру с помощью префиксов "~" и "~*". Только - ~*/xxx/ + ~*xxx -- Игорь Сысоев http://sysoev.ru From a4irkin на gmail.com Tue Jul 19 20:43:25 2011 From: a4irkin на gmail.com (Aleksey Chirkin) Date: Tue, 19 Jul 2011 20:43:25 +0400 Subject: =?UTF-8?B?UmU6INCt0LrRgNCw0L3QuNGA0L7QstCw0L3QvdGL0LUg0L/QsNGA0LDQvNC10YI=?= =?UTF-8?B?0YDRiyB1cmw=?= In-Reply-To: <4E259F94.2000203@amhost.net> References: <4E258A91.3000706@amhost.net> <4E259F94.2000203@amhost.net> Message-ID: Моя задача состоит в том, чтобы сделать замену последовательности в отдаваемом файле на данные, переданные в параметре. я делаю так: sub_filter 'данные для замены' $arg_data; В параметре data, с помощью X-Accel-Redirect я передаю бинарные данные. Из php: header("X-Accel-Redirect: /path/?data='.urlencode($data)); В $arg_data они, попадают в кодированном виде. Мне нужно, чтобы они попали в sub_filter в декодированном виде. 19 июля 2011 г. 19:15 пользователь Alex Vorona написал: > 19.07.2011 18:07, Aleksey Chirkin wrote: >> При встрече спец. символоа, значене параметра обрезается по этому >> символу. Так как данные бинарные, без экранирования не обойтись. > И как должен nginx передать бинарные данные дальше, не делая urlencode ? Вряд ли аргументы > нужны для обслуживания статических файлов. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > From sergey.kobzar на itcraft.org Tue Jul 19 21:07:31 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Tue, 19 Jul 2011 20:07:31 +0300 Subject: =?UTF-8?B?UmU6INCi0Y7QvdC40L3QsyBuZ2lueA==?= In-Reply-To: <4E22C646.3000504@bestmx.ru> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> <4E0F170E.4080208@itcraft.org> <4E22C646.3000504@bestmx.ru> Message-ID: <4E25B9D3.9030402@itcraft.org> On 07/17/11 14:23, Andrey N. Oktyabrski wrote: > On 02.07.11 17:03, Sergey Kobzar wrote: >> А посоветовать кто-ть realtime log analyzer для nginx с высокой >> нагрузкой может? Понятно, что много фитчей тут ожидать не приходится. > http://www.hping.org/visitors/ Спасибо, Андрей ;) From sergey.kobzar на itcraft.org Tue Jul 19 21:10:35 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Tue, 19 Jul 2011 20:10:35 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> Message-ID: <4E25BA8B.2090907@itcraft.org> On 07/17/11 15:22, Илья Шипицин wrote: > Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс > прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых > роботов сразу уходят на новые адреса. ОК - еще раз перепроверю. Существует ли тулза, которая может отслеживать доступность серверов и, если сервер недоступен, выкидывает его из зоны? Или придется самому плагин для Nagios писать? > 15.07.2011 14:58 пользователь "Sergey Kobzar" > написал: > > On 07/15/11 11:48, Alex Vorona wrote: > > > >> 15.07.2011 00:46, Sergey Kobzar wrote: > >>> В датаценте, где арендуем сервера установлен лимит по трафику. > Превышение лимита строго > >>> карается денгами. > >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а > кое-где и внутренняя > >> сеть безлимитная. > > > > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет больше > > $1k (в зависимости от того, на сколько превысил). > > > >>> Решили разнести нагрузку на несколько серверов. Но идея в следующем > - входящие запросы > >>> поступают на frontend (load balancer), а ответы уходят напрямую от > backend серверов клиентам. > >> исключительно средствами nginx это сделать не получится. Он позволит > только пропускать > >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд > ли приемлемо. > >> Пробуйте балансировку через DNS. > > > > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, > > Меняю A запись в ДНС - все равно запросы (не много конечно) идут на > > старый адрес даже если TTL истекло. > > > > Я уже не говорю о быстром переключении, если один из серверов помер. > > > >> > >> _______________________________________________ > >> nginx-ru mailing list > >> nginx-ru на nginx.org > >> http://nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From voron на amhost.net Tue Jul 19 21:14:47 2011 From: voron на amhost.net (Alex Vorona) Date: Tue, 19 Jul 2011 20:14:47 +0300 Subject: =?UTF-8?B?UmU6INCt0LrRgNCw0L3QuNGA0L7QstCw0L3QvdGL0LUg0L/QsNGA0LDQvNC10YI=?= =?UTF-8?B?0YDRiyB1cmw=?= In-Reply-To: References: <4E258A91.3000706@amhost.net> <4E259F94.2000203@amhost.net> Message-ID: <4E25BB87.8040500@amhost.net> 19.07.2011 19:43, Aleksey Chirkin wrote: > Моя задача состоит в том, чтобы сделать замену последовательности в > отдаваемом файле на данные, переданные в параметре. попробуйте для получения data из php использовать http://www.grid.net.ru/nginx/eval.ru.html From voron на amhost.net Tue Jul 19 21:31:57 2011 From: voron на amhost.net (Alex Vorona) Date: Tue, 19 Jul 2011 20:31:57 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E25BA8B.2090907@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> Message-ID: <4E25BF8D.2060102@amhost.net> 19.07.2011 20:10, Sergey Kobzar wrote: > On 07/17/11 15:22, Илья Шипицин wrote: >> Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс >> прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых >> роботов сразу уходят на новые адреса. > > ОК - еще раз перепроверю. В моих тестах с ttl 10 минут установка soa minimal 10 минут в зоне на глаз ничего не поменяла. From nginx-forum на nginx.us Tue Jul 19 21:33:34 2011 From: nginx-forum на nginx.us (Eugene Toropov) Date: Tue, 19 Jul 2011 13:33:34 -0400 Subject: =?UTF-8?B?UmU6INCa0LXRiNC40YDQvtCy0LDQvdC40LUgUE9TVCDQt9Cw0L/RgNC+0YHQvtCy?= In-Reply-To: References: Message-ID: Возникла аналогичная задача только в качестве клиента нескольких XML-RPC сервисов, ответы от которых необходимо кэшировать. Использовать md5($request_body) в URL кажется лучшим вариантом по сравнению с $request_body в proxy_cache_key. Может быть появились какие-то более модные варианты? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,151153,212654#msg-212654 From chipitsine на gmail.com Wed Jul 20 07:47:20 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Wed, 20 Jul 2011 09:47:20 +0600 Subject: =?UTF-8?B?UmU6IG5naW54IGh0dHBzIHJlZGlyZWN0INC90LUg0L/QvtC70YPRh9Cw0LXRgtGB?= =?UTF-8?B?0Y8=?= In-Reply-To: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> References: <50c3f9390142cf008812e852d51ae235.NginxMailingListRussian@forum.nginx.org> Message-ID: сделайте типа такого upstream site.ru { #ip_hash; server server1; server server2; } ..... proxy_pass http://site.ru; и про хедер Host вам правильно советуют. и не помешала бы конфигурация IIS (привязки, особенно их доменная часть и web.config для данного приложения), если есть правила IIS URL Rewrite, то их тоже. 17 июля 2011 г. 19:42 пользователь Magikanin написал: > Коллеги подскажите как решить > следующую проблему: > есть сервер c IIS. в качестве frontend решил > поставить nginx (0.8.54). > > Без fronеend работал следующий механизм: > при попытке зайти на https://site.ru/profile.aspx > сначала шел редирект на страницу > авторизации https://site.ru/login.apx а после > успешной авторизации идет редирект на > https://site.ru/profile.aspx > > после установки frontend такой механизм > работать перестал: > происходит редирект на https://site.ru/login.apx . > а там получаю Object moved here. и все. > > Часть конфига nginx: >    server { >        listen       80; >        server_name  site.ru; > > >        location / { >            proxy_pass         http://backend; >            proxy_redirect      http://www.site.ru/ /; >            proxy_set_header   Host             $host; >            proxy_set_header   X-Real-IP        $remote_addr; >            proxy_set_header   X-Forwarded-For > $proxy_add_x_forwarded_for; > >        } >    } >    server { >        ssl on; >        ssl_protocols SSLv3 TLSv1; >        ssl_ciphers > AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5; >        listen 443; >        ssl_certificate      /etc/nginx/www.site.pem; >        ssl_certificate_key  /etc/nginx/www.site.key; >        ssl_session_cache    shared:SSL:10m; >        ssl_session_timeout  10m; >        server_name  site.ru; >        location / { >        proxy_pass         http://backend; >        proxy_redirect          http://www.site.ru/ /; >        proxy_set_header   Host             $host; >        proxy_set_header   X-Real-IP        $remote_addr; >        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; >    } > > Что я сделал не так? > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212486,212486#msg-212486 > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > From jt на aaanet.ru Wed Jul 20 12:24:59 2011 From: jt на aaanet.ru (=?utf-8?B?0JXQstCz0LXQvdC40Lkg0KLQvtGA0L7Qv9C+0LI=?=) Date: Wed, 20 Jul 2011 12:24:59 +0400 Subject: =?UTF-8?B?0L3QtSDRgNCw0LHQvtGC0LDQtdGCIHByb3h5X2NhY2hl?= In-Reply-To: <4E25B9D3.9030402@itcraft.org> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> <4E0F170E.4080208@itcraft.org> <4E22C646.3000504@bestmx.ru> <4E25B9D3.9030402@itcraft.org> Message-ID: <53AA9109-8E29-4B66-A9D7-7BD1A4391926@aaanet.ru> Добрый день, Не могу понять, что мешает кэшированию. Кэш-конфиг: proxy_cache_path /opt/local/nginx/cache levels=1:2 keys_zone=sup:32m max_size=1024m inactive=1h; proxy_cache sup; proxy_cache_valid 1h; proxy_cache_key "$host$request_uri"; proxy_cache_methods POST; Отрывок дебаг лога: .................................................................................................................................... 2011/07/20 12:02:16 [debug] 99556#0: *15 http cache key: "hot/xml/listen_xml.jsp?md5=f092037f20486505cc4e20ff08254d3c" 2011/07/20 12:02:16 [debug] 99556#0: *15 add cleanup: 00000001008049E0 2011/07/20 12:02:16 [debug] 99556#0: slab alloc: 112 slot: 4 2011/07/20 12:02:16 [debug] 99556#0: slab alloc: 0000000101030080 2011/07/20 12:02:16 [debug] 99556#0: *15 http file cache exists: -5 e:0 2011/07/20 12:02:16 [debug] 99556#0: *15 cache file: "/opt/local/nginx/cache/4/8a/26028e075ed8e2149fcfaa2ecd1338a4" 2011/07/20 12:02:16 [debug] 99556#0: *15 http upstream cache: -5 2011/07/20 12:02:16 [debug] 99556#0: *15 http script copy: "Host: " 2011/07/20 12:02:16 [debug] 99556#0: *15 http script var: "xxxxxxxxxxxxxx" 2011/07/20 12:02:16 [debug] 99556#0: *15 http script copy: " " 2011/07/20 12:02:16 [debug] 99556#0: *15 http script copy: "Connection: close " 2011/07/20 12:02:16 [debug] 99556#0: *15 http proxy header: "User-agent: xxxxxxxxxx" 2011/07/20 12:02:16 [debug] 99556#0: *15 http proxy header: "Content-type: application/x-www-form-urlencoded" 2011/07/20 12:02:16 [debug] 99556#0: *15 http proxy header: "Te: trailers" 2011/07/20 12:02:16 [debug] 99556#0: *15 http proxy header: "Accept-encoding: deflate;" 2011/07/20 12:02:16 [debug] 99556#0: *15 http proxy header: "Content-length: 1151" 2011/07/20 12:02:16 [debug] 99556#0: *15 http proxy header: "Referer: http://hot:8080/xml/listen_xml.jsp?md5=f092037f20486505cc4e20ff08254d3c" 2011/07/20 12:02:16 [debug] 99556#0: *15 http proxy header: "POST /xml/listen_xml.jsp?md5=f092037f20486505cc4e20ff08254d3c HTTP/1.0 Host: xxxxxxxxxxxx Connection: close User-agent: xxxxxxxxx Content-type: application/x-www-form-urlencoded Te: trailers Accept-encoding: deflate; Content-length: 1151 Referer: http://hot:8080/xml/listen_xml.jsp?md5=f092037f20486505cc4e20ff08254d3c " 2011/07/20 12:02:16 [debug] 99556#0: *15 http cleanup add: 000000010082ACF8 .................................................................................................................................... .................................................................................................................................... 2011/07/20 12:02:16 [debug] 99557#0: http file cache expire 2011/07/20 12:02:16 [debug] 99557#0: malloc: 0000000100214EA0:61 2011/07/20 12:02:16 [debug] 99557#0: http file cache size: 0 2011/07/20 12:02:16 [debug] 99557#0: event timer add: -1: 10000:1311148946938 2011/07/20 12:02:16 [debug] 99557#0: posted events 0000000000000000 2011/07/20 12:02:16 [debug] 99557#0: kevent timer: 10000, changes: 0 2011/07/20 12:02:20 [debug] 99556#0: kevent events: 1 2011/07/20 12:02:20 [debug] 99556#0: kevent: 13: ft:-1 fl:0025 ff:00000000 d:1368 ud:000000010083CF50 2011/07/20 12:02:20 [debug] 99556#0: *15 http upstream request: "/xml/listen_xml.jsp?md5=f092037f20486505cc4e20ff08254d3c" 2011/07/20 12:02:20 [debug] 99556#0: *15 http upstream process header 2011/07/20 12:02:20 [debug] 99556#0: *15 malloc: 0000000100810200:4096 2011/07/20 12:02:20 [debug] 99556#0: *15 recv: eof:0, avail:1368, err:0 2011/07/20 12:02:20 [debug] 99556#0: *15 recv: fd:13 1368 of 3990 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy status 200 "200 OK" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Date: Wed, 20 Jul 2011 08:02:16 GMT" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Server: Apache/2.0.52 (Red Hat)" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Content-Encoding: deflate" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Vary: Accept-Encoding" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Set-Cookie: JSESSIONID=avIghzWKEQxa; path=/" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Connection: close" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Content-Type: text/xml; charset=ISO-8859-1" 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header done 2011/07/20 12:02:20 [debug] 99556#0: *15 HTTP/1.1 200 OK Server: nginx/0.8.54 Date: Wed, 20 Jul 2011 08:02:20 GMT Content-Type: text/xml; charset=ISO-8859-1 Transfer-Encoding: chunked Connection: close Content-Encoding: deflate Vary: Accept-Encoding Set-Cookie: JSESSIONID=avIghzWKEQxa; path=/ 2011/07/20 12:02:20 [debug] 99556#0: *15 write new buf t:1 f:0 000000010082B088, pos 000000010082B088, size: 264 file: 0, size: 0 2011/07/20 12:02:20 [debug] 99556#0: *15 http write filter: l:0 f:0 s:264 2011/07/20 12:02:20 [debug] 99556#0: *15 http cacheable: 0 2011/07/20 12:02:20 [debug] 99556#0: *15 http file cache free, fd: -1 2011/07/20 12:02:20 [debug] 99556#0: slab free: 0000000101030080 .................................................................................................................................... Подскажите, чего я не вижу. Евгений jt на aaanet.ru From mdounin на mdounin.ru Wed Jul 20 12:56:24 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 20 Jul 2011 12:56:24 +0400 Subject: =?UTF-8?B?UmU6INC90LUg0YDQsNCx0L7RgtCw0LXRgiBwcm94eV9jYWNoZQ==?= In-Reply-To: <53AA9109-8E29-4B66-A9D7-7BD1A4391926@aaanet.ru> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> <4E0F170E.4080208@itcraft.org> <4E22C646.3000504@bestmx.ru> <4E25B9D3.9030402@itcraft.org> <53AA9109-8E29-4B66-A9D7-7BD1A4391926@aaanet.ru> Message-ID: <20110720085623.GC1137@mdounin.ru> Hello! On Wed, Jul 20, 2011 at 12:24:59PM +0400, Евгений Торопов wrote: > Добрый день, > > Не могу понять, что мешает кэшированию. > > Кэш-конфиг: > > proxy_cache_path /opt/local/nginx/cache levels=1:2 keys_zone=sup:32m max_size=1024m inactive=1h; > > proxy_cache sup; > proxy_cache_valid 1h; > > proxy_cache_key "$host$request_uri"; > proxy_cache_methods POST; > > > > Отрывок дебаг лога: [...] > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy status 200 "200 OK" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Date: Wed, 20 Jul 2011 08:02:16 GMT" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Server: Apache/2.0.52 (Red Hat)" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Content-Encoding: deflate" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Vary: Accept-Encoding" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Set-Cookie: JSESSIONID=avIghzWKEQxa; path=/" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Connection: close" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Content-Type: text/xml; charset=ISO-8859-1" > 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header done Как минимум - ставится сессионная кука, nginx такой ответ кешировать не будет, если его специально не попросить. Попросить кешировать (и спрятать куки, чтобы не выставлять их всем клиентам из кеша) можно так: proxy_ignore_headers Set-Cookie; proxy_hide_header Set-Cookie; Ещё я бы рекомендовал либо добавить в ключ кеширования Accept-Encoding ($http_accept_encoding), либо выключить сжатие на бекендах. Сейчас nginx не понимает Vary, и в вашем случае в кеш ляжет ответ сжатый deflate'ом, что может не устроить браузер, который потом будет получать ответ из кеша. Простейший способ выключить сжатие - просто не пропускать на бекенд заголовок Accept-Encoding, как-то так: proxy_set_header Accept-Encoding ""; Maxim Dounin From jt на aaanet.ru Wed Jul 20 13:37:03 2011 From: jt на aaanet.ru (=?utf-8?B?0JXQstCz0LXQvdC40Lkg0KLQvtGA0L7Qv9C+0LI=?=) Date: Wed, 20 Jul 2011 13:37:03 +0400 Subject: =?UTF-8?B?UmU6INC90LUg0YDQsNCx0L7RgtCw0LXRgiBwcm94eV9jYWNoZQ==?= In-Reply-To: <20110720085623.GC1137@mdounin.ru> References: <0b84674b7bb627e3e20c3a9d5c832223.NginxMailingListRussian@forum.nginx.org> <4E0F170E.4080208@itcraft.org> <4E22C646.3000504@bestmx.ru> <4E25B9D3.9030402@itcraft.org> <53AA9109-8E29-4B66-A9D7-7BD1A4391926@aaanet.ru> <20110720085623.GC1137@mdounin.ru> Message-ID: On Jul 20, 2011, at 12:56 PM, Maxim Dounin wrote: > Hello! > > On Wed, Jul 20, 2011 at 12:24:59PM +0400, Евгений Торопов wrote: > >> Добрый день, >> >> Не могу понять, что мешает кэшированию. >> >> Кэш-конфиг: >> >> proxy_cache_path /opt/local/nginx/cache levels=1:2 keys_zone=sup:32m max_size=1024m inactive=1h; >> >> proxy_cache sup; >> proxy_cache_valid 1h; >> >> proxy_cache_key "$host$request_uri"; >> proxy_cache_methods POST; >> >> >> >> Отрывок дебаг лога: > > [...] > >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy status 200 "200 OK" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Date: Wed, 20 Jul 2011 08:02:16 GMT" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Server: Apache/2.0.52 (Red Hat)" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Content-Encoding: deflate" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Vary: Accept-Encoding" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Set-Cookie: JSESSIONID=avIghzWKEQxa; path=/" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Connection: close" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Content-Type: text/xml; charset=ISO-8859-1" >> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header done > > Как минимум - ставится сессионная кука, nginx такой ответ > кешировать не будет, если его специально не попросить. > > Попросить кешировать (и спрятать куки, чтобы не выставлять их всем > клиентам из кеша) можно так: > > proxy_ignore_headers Set-Cookie; > proxy_hide_header Set-Cookie; > > Ещё я бы рекомендовал либо добавить в ключ кеширования > Accept-Encoding ($http_accept_encoding), либо выключить сжатие на > бекендах. Сейчас nginx не понимает Vary, и в вашем случае в кеш > ляжет ответ сжатый deflate'ом, что может не устроить браузер, > который потом будет получать ответ из кеша. Простейший способ > выключить сжатие - просто не пропускать на бекенд заголовок > Accept-Encoding, как-то так: > > proxy_set_header Accept-Encoding ""; > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru Большое спасибо, заработало. Евгений jt на aaanet.ru From nginx-forum на nginx.us Wed Jul 20 14:41:09 2011 From: nginx-forum на nginx.us (RedRat) Date: Wed, 20 Jul 2011 06:41:09 -0400 Subject: =?UTF-8?B?0KDQtdCz0LXQutGBINC70L7QutC10LnRiNC10L3RiyDRgSDRgNGD0YHRgdC60Lg=?= =?UTF-8?B?0LzQuCDQuNC80LXQvdCw0LzQuA==?= Message-ID: <2da2bdc54546519f7f19a63601e4fdc5.NginxMailingListRussian@forum.nginx.org> Имеется nginx 1.0.4 под которым работает DokuWiki с русскими именами страниц. Понадобилось все запросы к одному диапазону имён редиректить на другой. В случае обычного локейшена это делается без проблем, всё замечательно работает с русскими именами в URI. Проблема вылезла, когда я обычный локейшн попытался поменять на регексповый (чтобы ловить в него запросы без учёта регистра) - в него попадают только те запросы, русские буквы в которых в точности соответствуют содержанию регекспа, невзирая на наличие ~*. Пример: location ~* ^/старый: { rewrite ^(.*):(.*)$ /новый:$2 permanent; } В него попадают запросы, начинающиеся с "/старый:", но не попадают запросы, начинающиеся со "/Старый:". ЧЯДНТ? P.S. Ещё один вопрос в догонку: в документации сказано, что выделения в регекс-локейшене можно потом использовать в других директивах. Я попробовал сделать так: location ~* ^(/старый:)(.*)$ { rewrite ^ /новый:$2 permanent; } Nginx на такой локейшн не ругается - но и не работает. Вдумчивое чтение документации (два раза) не помогло. Подскажите, где я ошибаюсь. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212675,212675#msg-212675 From mdounin на mdounin.ru Wed Jul 20 15:48:32 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 20 Jul 2011 15:48:32 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9C10LrRgSDQu9C+0LrQtdC50YjQtdC90Ysg0YEg0YDRg9GB0YE=?= =?UTF-8?B?0LrQuNC80Lgg0LjQvNC10L3QsNC80Lg=?= In-Reply-To: <2da2bdc54546519f7f19a63601e4fdc5.NginxMailingListRussian@forum.nginx.org> References: <2da2bdc54546519f7f19a63601e4fdc5.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110720114832.GD1137@mdounin.ru> Hello! On Wed, Jul 20, 2011 at 06:41:09AM -0400, RedRat wrote: > Имеется nginx 1.0.4 под которым работает > DokuWiki с русскими именами страниц. > Понадобилось все запросы к одному > диапазону имён редиректить на другой. В > случае обычного локейшена это делается > без проблем, всё замечательно работает > с русскими именами в URI. Проблема > вылезла, когда я обычный локейшн > попытался поменять на регексповый > (чтобы ловить в него запросы без учёта > регистра) - в него попадают только те > запросы, русские буквы в которых в > точности соответствуют содержанию > регекспа, невзирая на наличие ~*. > > Пример: > > location ~* ^/старый: { > rewrite ^(.*):(.*)$ /новый:$2 permanent; > } > > В него попадают запросы, начинающиеся с > "/старый:", но не попадают запросы, > начинающиеся со "/Старый:". > > ЧЯДНТ? Для case-insensitive matching'а UTF-8 строк можно сделать так (если конечно pcre собран с UTF-8 и т.п.): location ~* (*UTF8)^/старый: { ... } Но я *не* рекомендую так делать в общем случае, ибо на запросах с uri не являющимся валидной utf-8 строкой будет возвращена 500-я ошибка. Безопаснее решение - написать несколько статических location'ов или регулярное выражение с альтернативами, i.e. location /Старый: { ... } location /старый: { ... } location ~ ^/(?:С|с)тарый: { ... } > P.S. Ещё один вопрос в догонку: в > документации сказано, что выделения в > регекс-локейшене можно потом > использовать в других директивах. Я > попробовал сделать так: > > location ~* ^(/старый:)(.*)$ { > rewrite ^ /новый:$2 permanent; > } > > Nginx на такой локейшн не ругается - но и > не работает. Вдумчивое чтение > документации (два раза) не помогло. > Подскажите, где я ошибаюсь. Директива rewrite сама по себе выполняет регулярное выражение, соответственно $2 будет браться из него (последнего выполненного). Можно сделать с использованием именованных выделений, так: location ~ ^/старый:(?.*)$ { rewrite ^ /новый:$page permanent; } Maxim Dounin From universite на ukr.net Wed Jul 20 17:30:04 2011 From: universite на ukr.net (Vladislav V. Prodan) Date: Wed, 20 Jul 2011 16:30:04 +0300 Subject: =?UTF-8?B?0J3QtSDRgNCw0LHQvtGC0LDQtdGCIHhjYWNoZSAg0LIg0YLQsNC60L7QuSDRgdCy?= =?UTF-8?B?0Y/Qt9C60Lg6IG5naW54ICjQv9GA0L7QutGB0LgpICsgYXBhY2hlMjIgKyBs?= =?UTF-8?B?aWJwaHA1LnNv?= Message-ID: <4E26D85C.6040404@ukr.net> Если у кого работает ( видно в phpinfo и в статистике xcache ), то прошу отписаться сюда. -- Vladislav V. Prodan VVP24-UANIC +380[67]4584408 +380[99]4060508 vlad11 на jabber.ru From nginx-forum на nginx.us Wed Jul 20 17:42:22 2011 From: nginx-forum на nginx.us (hg_04) Date: Wed, 20 Jul 2011 09:42:22 -0400 Subject: index - nginx 1.0.4 In-Reply-To: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> References: <751a39e72b64d979e69008990a1415c1.NginxMailingListRussian@forum.nginx.org> Message-ID: <81794ad8a6fc167835f4c67d8530b5f8.NginxMailingListRussian@forum.nginx.org> > После server.com нет ';' точно, как я не заметил :) Спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212622,212679#msg-212679 From nginx-forum на nginx.us Wed Jul 20 17:46:17 2011 From: nginx-forum на nginx.us (hg_04) Date: Wed, 20 Jul 2011 09:46:17 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiB4Y2FjaGUg0LIg0YLQsNC60L7QuSA=?= =?UTF-8?B?0YHQstGP0LfQutC4OiBuZ2lueCAo0L/RgNC+0LrRgdC4KSArIGFwYWNoZTIy?= =?UTF-8?B?ICsgbGlicGhwNS5zbw==?= In-Reply-To: <4E26D85C.6040404@ukr.net> References: <4E26D85C.6040404@ukr.net> Message-ID: <35d3bab455104706ad8ce1e332c8cdb4.NginxMailingListRussian@forum.nginx.org> а причем тут nginx? ты хочеш сказать, что на прямую apache22 + libphp5.so используют xcache ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212678,212681#msg-212681 From nginx-forum на nginx.us Wed Jul 20 17:48:52 2011 From: nginx-forum на nginx.us (RedRat) Date: Wed, 20 Jul 2011 09:48:52 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9C10LrRgSDQu9C+0LrQtdC50YjQtdC90Ysg0YEg0YDRg9GB0YE=?= =?UTF-8?B?0LrQuNC80Lgg0LjQvNC10L3QsNC80Lg=?= In-Reply-To: <20110720114832.GD1137@mdounin.ru> References: <20110720114832.GD1137@mdounin.ru> Message-ID: Maxim Dounin Пишет: ------------------------------------------------------- > Для case-insensitive matching'а UTF-8 строк можно сделать так > (если конечно pcre собран с UTF-8 и т.п.): > > location ~* (*UTF8)^/старый: { > ... > } > > Но я *не* рекомендую так делать в общем случае, ибо > на запросах с uri не являющимся валидной utf-8 строкой будет > возвращена 500-я ошибка. > > Безопаснее решение - написать несколько > статических location'ов или регулярное выражение с > альтернативами, i.e. > > location /Старый: { ... } > location /старый: { ... } > > location ~ ^/(?:С|с)тарый: { ... } Да, наверное, так и сделаю. Просто хотелось одним локейшеном обойтись, но тут лучше перебдеть. Спасибо за совет! > Директива rewrite сама по себе выполняет регулярное выражение, > соответственно $2 будет браться из него (последнего выполненного). > Можно сделать с использованием именованных выделений, так: > > location ~ ^/старый:(?.*)$ { > rewrite ^ /новый:$page permanent; > } Я просто думал, что раз в первой части rewrite не используется выделение, то оно возьмётся из локейшена. Ещё раз спасибо, теперь всё ясно. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212675,212682#msg-212682 From chipitsine на gmail.com Wed Jul 20 18:04:50 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Wed, 20 Jul 2011 20:04:50 +0600 Subject: Load balancer with traffic limit In-Reply-To: <4E25BA8B.2090907@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> Message-ID: В недоступности сервера ничего смертельного нет. Если в днс указаны несколько серверов, при этом первый не вернул TCP fin, то запрос пойдет на следующие сервера. То, что вы хотите, совместную работу приложения, днс и взаимный мониторинг, насколько мне известно, есть только в коммерческих решениях, например в Brocade Server Iron, там оно называется GSLB 19.07.2011 23:10 пользователь "Sergey Kobzar" написал: > On 07/17/11 15:22, Илья Шипицин wrote: >> Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс >> прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых >> роботов сразу уходят на новые адреса. > > ОК - еще раз перепроверю. > > Существует ли тулза, которая может отслеживать доступность серверов и, > если сервер недоступен, выкидывает его из зоны? Или придется самому > плагин для Nagios писать? > > >> 15.07.2011 14:58 пользователь "Sergey Kobzar" > > написал: >> > On 07/15/11 11:48, Alex Vorona wrote: >> > >> >> 15.07.2011 00:46, Sergey Kobzar wrote: >> >>> В датаценте, где арендуем сервера установлен лимит по трафику. >> Превышение лимита строго >> >>> карается денгами. >> >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а >> кое-где и внутренняя >> >> сеть безлимитная. >> > >> > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет больше >> > $1k (в зависимости от того, на сколько превысил). >> > >> >>> Решили разнести нагрузку на несколько серверов. Но идея в следующем >> - входящие запросы >> >>> поступают на frontend (load balancer), а ответы уходят напрямую от >> backend серверов клиентам. >> >> исключительно средствами nginx это сделать не получится. Он позволит >> только пропускать >> >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд >> ли приемлемо. >> >> Пробуйте балансировку через DNS. >> > >> > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, >> > Меняю A запись в ДНС - все равно запросы (не много конечно) идут на >> > старый адрес даже если TTL истекло. >> > >> > Я уже не говорю о быстром переключении, если один из серверов помер. >> > >> >> >> >> _______________________________________________ >> >> nginx-ru mailing list >> >> nginx-ru на nginx.org >> >> http://nginx.org/mailman/listinfo/nginx-ru >> > >> > _______________________________________________ >> > nginx-ru mailing list >> > nginx-ru на nginx.org >> > http://nginx.org/mailman/listinfo/nginx-ru >> >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From universite на ukr.net Wed Jul 20 18:06:25 2011 From: universite на ukr.net (Vladislav V. Prodan) Date: Wed, 20 Jul 2011 17:06:25 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiB4Y2FjaGUg0LIg0YLQsNC60L7QuSA=?= =?UTF-8?B?0YHQstGP0LfQutC4OiBuZ2lueCAo0L/RgNC+0LrRgdC4KSArIGFwYWNoZTIy?= =?UTF-8?B?ICsgbGlicGhwNS5zbw==?= In-Reply-To: <35d3bab455104706ad8ce1e332c8cdb4.NginxMailingListRussian@forum.nginx.org> References: <4E26D85C.6040404@ukr.net> <35d3bab455104706ad8ce1e332c8cdb4.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E26E0E1.6090007@ukr.net> 20.07.2011 16:46, hg_04 пишет: > а причем тут nginx? > ты хочеш сказать, что на прямую apache22 + > libphp5.so используют xcache ? > та вот непонятно, то ли врет статистика xcache, то ли апач таки не юзает xcache Vladislav V. Prodan VVP24-UANIC +380[67]4584408 +380[99]4060508 vlad11 на jabber.ru From sad на bankir.ru Wed Jul 20 18:57:17 2011 From: sad на bankir.ru (sad на bankir.ru) Date: Wed, 20 Jul 2011 18:57:17 +0400 Subject: scopes of variables Message-ID: <1311173837704556500@bankir.ru> hi мне сначла был не совсем ясен я теперь совсем не ясен вопрос видимостей переменных в конфиге nginx. где почитать? чтобы полностью прояснить. From sergey.kobzar на itcraft.org Wed Jul 20 16:51:37 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 20 Jul 2011 19:51:37 +0300 Subject: =?UTF-8?Q?try=5Ffiles_=D0=B8_HTTP_status_code?= Message-ID: <4E270799.7090702@itcraft.org> Задача: если файл не существует, необходимо возвращать картинку и 404. location ~* \.(css|gif|html|ico|jpg|js|png)$ { root /home/www/site/htdocs; expires max; try_files $uri /resources/images/new_comp_def_img.jpg =404; } Картинка возвращается, а вот 404 ответа не получаю: 94.179.105.93 - - [20/Jul/2011:17:48:52 +0100] "GET /resources/images/cool_img__555.gif HTTP/1.0" 304 226 "-" "Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1" "-" Что не так? Спасибо. From igor на sysoev.ru Wed Jul 20 16:56:58 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Wed, 20 Jul 2011 20:56:58 +0400 Subject: =?UTF-8?Q?Re=3A_try=5Ffiles_=D0=B8_HTTP_status_code?= In-Reply-To: <4E270799.7090702@itcraft.org> References: <4E270799.7090702@itcraft.org> Message-ID: <20110720165657.GA5667@sysoev.ru> On Wed, Jul 20, 2011 at 07:51:37PM +0300, Sergey Kobzar wrote: > Задача: если файл не существует, необходимо возвращать картинку и 404. > > location ~* \.(css|gif|html|ico|jpg|js|png)$ { > root /home/www/site/htdocs; > expires max; > > try_files $uri /resources/images/new_comp_def_img.jpg =404; > } > > Картинка возвращается, а вот 404 ответа не получаю: > > 94.179.105.93 - - [20/Jul/2011:17:48:52 +0100] "GET > /resources/images/cool_img__555.gif HTTP/1.0" 304 226 "-" "Mozilla/5.0 > (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1" "-" > > Что не так? root /home/www/site/htdocs; location ~* \.(css|gif|html|ico|jpg|js|png)$ { expires max; error_page 404 /resources/images/new_comp_def_img.jpg; } location = /resources/images/new_comp_def_img.jpg { } Только не факт, что бразуры покажут картинку вместе с 404. MSIE раньше рисовал крестик. -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Wed Jul 20 16:57:49 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Wed, 20 Jul 2011 20:57:49 +0400 Subject: scopes of variables In-Reply-To: <1311173837704556500@bankir.ru> References: <1311173837704556500@bankir.ru> Message-ID: <20110720165749.GB5667@sysoev.ru> On Wed, Jul 20, 2011 at 06:57:17PM +0400, sad на bankir.ru wrote: > hi > > мне сначла был не совсем ясен я теперь совсем не ясен вопрос видимостей переменных в конфиге nginx. > > где почитать? чтобы полностью прояснить. У меня переменных глобальная видимость. -- Игорь Сысоев http://sysoev.ru From chipitsine на gmail.com Wed Jul 20 17:52:18 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Wed, 20 Jul 2011 23:52:18 +0600 Subject: Load balancer with traffic limit In-Reply-To: <4E25BF8D.2060102@amhost.net> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E25BF8D.2060102@amhost.net> Message-ID: а на вид ничего и не должно поменяться. то, что вы поставили 10 минут для negative ttl, означает, что если в днс записи не было, кто-то ее пропинговал (запомнил отрицательный ответ), то через 10 минут он снова пойдет в днс 19 июля 2011 г. 23:31 пользователь Alex Vorona написал: > 19.07.2011 20:10, Sergey Kobzar wrote: >> On 07/17/11 15:22, Илья Шипицин wrote: >>> Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс >>> прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых >>> роботов сразу уходят на новые адреса. >> >> ОК - еще раз перепроверю. > В моих тестах с ttl 10 минут установка soa minimal 10 минут в зоне на глаз ничего не поменяла. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru > From nginx-forum на nginx.us Wed Jul 20 17:59:16 2011 From: nginx-forum на nginx.us (yokodzun) Date: Wed, 20 Jul 2011 13:59:16 -0400 Subject: rewrite rul Message-ID: Пытаюсь сконвертить следующие rewrite правила из синтаксиса mod_rewrite в синтаксис Nginx: RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Administration URL rewriting. RewriteRule ^admin(.*)$ admin/index.php?$1 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Main URL rewriting. RewriteRule ^(.*)$ index.php?PAGE=$1 [L,QSA] второе правило удалось застравить работать, первое - никак. конфиг такой: server { listen 80; server_name domain.tld location / { root /v/http/domain.tld; try_files $uri $uri/ @rewrite; autoindex off; } location @rewrite { rewrite ^/admin/(.*)$ /admin/index.php?$1; rewrite ^/(.*)$ /index.php?PAGE=$1; } location ~ \.php$ { fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /v/http/domain.tld; fastcgi_param SCRIPT_FILENAME /v/http/domain.tld$fastcgi_script_name; include fastcgi_params; } } Где я ошибся? Почему для /admin/ не срабатывает правило? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212699,212699#msg-212699 From sergey.kobzar на itcraft.org Wed Jul 20 18:22:49 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 20 Jul 2011 21:22:49 +0300 Subject: =?UTF-8?Q?Re=3A_try=5Ffiles_=D0=B8_HTTP_status_code?= In-Reply-To: <20110720165657.GA5667@sysoev.ru> References: <4E270799.7090702@itcraft.org> <20110720165657.GA5667@sysoev.ru> Message-ID: <4E271CF9.2090905@itcraft.org> On 07/20/11 19:56, Igor Sysoev wrote: > On Wed, Jul 20, 2011 at 07:51:37PM +0300, Sergey Kobzar wrote: >> Задача: если файл не существует, необходимо возвращать картинку и 404. >> >> location ~* \.(css|gif|html|ico|jpg|js|png)$ { >> root /home/www/site/htdocs; >> expires max; >> >> try_files $uri /resources/images/new_comp_def_img.jpg =404; >> } >> >> Картинка возвращается, а вот 404 ответа не получаю: >> >> 94.179.105.93 - - [20/Jul/2011:17:48:52 +0100] "GET >> /resources/images/cool_img__555.gif HTTP/1.0" 304 226 "-" "Mozilla/5.0 >> (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1" "-" >> >> Что не так? > > root /home/www/site/htdocs; > > location ~* \.(css|gif|html|ico|jpg|js|png)$ { > expires max; > error_page 404 /resources/images/new_comp_def_img.jpg; > } > > location = /resources/images/new_comp_def_img.jpg { > } > > Только не факт, что бразуры покажут картинку вместе с 404. > MSIE раньше рисовал крестик. Игорь, спасибо. Конструкция работает, но IE как всегда отличился. From sergey.kobzar на itcraft.org Wed Jul 20 18:23:26 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 20 Jul 2011 21:23:26 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> Message-ID: <4E271D1E.3020704@itcraft.org> On 07/20/11 17:04, Илья Шипицин wrote: > В недоступности сервера ничего смертельного нет. Если в днс указаны > несколько серверов, при этом первый не вернул TCP fin, то запрос пойдет > на следующие сервера. Этот принцип работает для SMTP, но вот для http - я не уверен. Наверно придется потестить. > То, что вы хотите, совместную работу приложения, > днс и взаимный мониторинг, насколько мне известно, есть только в > коммерческих решениях, например в Brocade Server Iron, там оно > называется GSLB Если bind собрать с поддержкой dlz и зпны хранить в SQL, то думаю малыми усилиями можно написать приложение, которое апдейтит зону если какой-то сервер становится недоступен. > > 19.07.2011 23:10 пользователь "Sergey Kobzar" > написал: > > On 07/17/11 15:22, Илья Шипицин wrote: > >> Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс > >> прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых > >> роботов сразу уходят на новые адреса. > > > > ОК - еще раз перепроверю. > > > > Существует ли тулза, которая может отслеживать доступность серверов и, > > если сервер недоступен, выкидывает его из зоны? Или придется самому > > плагин для Nagios писать? > > > > > >> 15.07.2011 14:58 пользователь "Sergey Kobzar" > > >> >> написал: > >> > On 07/15/11 11:48, Alex Vorona wrote: > >> > > >> >> 15.07.2011 00:46, Sergey Kobzar wrote: > >> >>> В датаценте, где арендуем сервера установлен лимит по трафику. > >> Превышение лимита строго > >> >>> карается денгами. > >> >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а > >> кое-где и внутренняя > >> >> сеть безлимитная. > >> > > >> > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет больше > >> > $1k (в зависимости от того, на сколько превысил). > >> > > >> >>> Решили разнести нагрузку на несколько серверов. Но идея в следующем > >> - входящие запросы > >> >>> поступают на frontend (load balancer), а ответы уходят напрямую от > >> backend серверов клиентам. > >> >> исключительно средствами nginx это сделать не получится. Он позволит > >> только пропускать > >> >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд > >> ли приемлемо. > >> >> Пробуйте балансировку через DNS. > >> > > >> > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, > >> > Меняю A запись в ДНС - все равно запросы (не много конечно) идут на > >> > старый адрес даже если TTL истекло. > >> > > >> > Я уже не говорю о быстром переключении, если один из серверов помер. > >> > > >> >> > >> >> _______________________________________________ > >> >> nginx-ru mailing list > >> >> nginx-ru на nginx.org > > > >> >> http://nginx.org/mailman/listinfo/nginx-ru > >> > > >> > _______________________________________________ > >> > nginx-ru mailing list > >> > nginx-ru на nginx.org > > > >> > http://nginx.org/mailman/listinfo/nginx-ru > >> > >> > >> > >> _______________________________________________ > >> nginx-ru mailing list > >> nginx-ru на nginx.org > >> http://nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://nginx.org/mailman/listinfo/nginx-ru From igor на sysoev.ru Wed Jul 20 19:04:38 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Wed, 20 Jul 2011 23:04:38 +0400 Subject: rewrite rul In-Reply-To: References: Message-ID: <20110720190438.GA8399@sysoev.ru> On Wed, Jul 20, 2011 at 01:59:16PM -0400, yokodzun wrote: > Пытаюсь сконвертить следующие rewrite > правила из синтаксиса mod_rewrite в > синтаксис Nginx: > > RewriteBase / > > RewriteCond %{REQUEST_FILENAME} !-f > RewriteCond %{REQUEST_FILENAME} !-d > RewriteCond %{REQUEST_FILENAME} !-l > # Administration URL rewriting. > RewriteRule ^admin(.*)$ admin/index.php?$1 [L,QSA] > > RewriteCond %{REQUEST_FILENAME} !-f > RewriteCond %{REQUEST_FILENAME} !-d > RewriteCond %{REQUEST_FILENAME} !-l > # Main URL rewriting. > RewriteRule ^(.*)$ index.php?PAGE=$1 [L,QSA] > > второе правило удалось застравить > работать, первое - никак. > > конфиг такой: > > server { > listen 80; > server_name domain.tld > location / { > root /v/http/domain.tld; > try_files $uri $uri/ @rewrite; > autoindex off; > } > > location @rewrite { > rewrite ^/admin/(.*)$ /admin/index.php?$1; > rewrite ^/(.*)$ /index.php?PAGE=$1; > } > > > location ~ \.php$ { > fastcgi_pass unix:/tmp/php-fpm.sock; > fastcgi_index index.php; > fastcgi_param DOCUMENT_ROOT /v/http/domain.tld; > fastcgi_param SCRIPT_FILENAME > /v/http/domain.tld$fastcgi_script_name; > include fastcgi_params; > } > } > > Где я ошибся? Почему для /admin/ не > срабатывает правило? Не надо rewrite. Тогда всё будет работать: server { listen 80; server_name domain.tld root /v/http/domain.tld; location ~ \.php$ { fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_param DOCUMENT_ROOT /v/http/domain.tld; fastcgi_param SCRIPT_FILENAME /v/http/domain.tld$fastcgi_script_name; include fastcgi_params; } location ~ ^/admin/(.*)$ { try_files $uri $uri/ /admin/index.php?$1; } location ~ ^/(.*)$ { try_files $uri $uri/ /index.php; } } -- Игорь Сысоев http://sysoev.ru From gmm на csdoc.com Wed Jul 20 19:24:42 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 20 Jul 2011 22:24:42 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E271D1E.3020704@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> Message-ID: <4E272B7A.5020601@csdoc.com> On 20.07.2011 21:23, Sergey Kobzar wrote: >> То, что вы хотите, совместную работу приложения, >> днс и взаимный мониторинг, насколько мне известно, есть только в >> коммерческих решениях, например в Brocade Server Iron, там оно >> называется GSLB > Если bind собрать с поддержкой dlz и зпны хранить в SQL, то думаю малыми > усилиями можно написать приложение, которое апдейтит зону если какой-то > сервер становится недоступен. тупиковый путь, что первый что второй. может быть лучше делать через UCARP [1] [2] или что-то аналогичное? кстати, таким образом через High availability имеет смысл делать только две машины с nginx frontend, потому что вышедшие из строя backend-сервера nginx сам умеет дисейблить на некоторое время. кстати, пока что я не видел на рынке ни одной компании, которая предлагает настройку High availability nginx frontend с использованием только free and open source software. Есть только аппаратные решения за много денег производства F5, Cisco и т.п. (или же я плохо искал) [1] http://www.ucarp.org/project/ucarp [2] http://iarlyy.wordpress.com/2010/03/11/ip-failover-with-ucarp-centos/ -- Best regards, Gena From nefer05 на gmail.com Wed Jul 20 19:36:03 2011 From: nefer05 на gmail.com (=?KOI8-R?B?8s/Nwc4g7c/Ty9fJ1MnO?=) Date: Wed, 20 Jul 2011 23:36:03 +0400 Subject: Load balancer with traffic limit In-Reply-To: <4E272B7A.5020601@csdoc.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: Порекомендую посмотреть в сторону pacemaker'а. Я его сейчас активно изучаю. По крайней мере оно может отслеживать живость сервера-сервиса, достаточно будет написать скрипт обновления зоны. From gmm на csdoc.com Wed Jul 20 19:52:39 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 20 Jul 2011 22:52:39 +0300 Subject: rewrite In-Reply-To: <20110720190438.GA8399@sysoev.ru> References: <20110720190438.GA8399@sysoev.ru> Message-ID: <4E273207.3070405@csdoc.com> On 20.07.2011 22:04, Igor Sysoev wrote: > Не надо rewrite. кстати, в официальной документации к nginx не отражена возможность использования "хорошей" директивы return вместо "плохой" (deprecated?) директивы rewrite: http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#return примеры такого использования "хорошей" директивы return вместо rewrite можно найти только в списке рассылки nginx: On 06.06.2011 16:40, Igor Sysoev wrote: > location = /file.rpm { > return 301 http://www.domain2.com/folder/file.rpm; > } ================================================================ это было бы полезно отразить в документации, чтобы все знали, что например, вместо location ~* ^(/старый:)(.*)$ { rewrite ^ /новый:$2 permanent; } просто писать гораздо проще: location ~* ^(/старый:)(.*)$ { return 301 /новый:$2; } потому что сейчас с rewrite имеем достаточно нетривиальные "грабли" в таких случаях: On 20.07.2011 14:48, Maxim Dounin wrote: ... >> location ~* ^(/старый:)(.*)$ { >> rewrite ^ /новый:$2 permanent; >> } ... > Директива rewrite сама по себе выполняет регулярное выражение, > соответственно $2 будет браться из него (последнего выполненного). > Можно сделать с использованием именованных выделений, так: > > location ~ ^/старый:(?.*)$ { > rewrite ^ /новый:$page permanent; > } ============================================================= как вариант - имеет смысл сделать "оптимизацию" при парсинге конфиге nginx и если встречается rewrite ^ URL permanent; транслировать этот "исходник" в "машинный код" return 301 URL; аналогично и для случая rewrite ^ URL redirect; транслировать в return 302 URL; ----------------------------- обратная совместимость со старыми версиями nginx при этом не пострадает, но зато будет меньше вопросов в списке рассылки nginx - почему фрагмент конфига не работает. а если high performance уже не нужно - то хотя бы поправить доку... (код "return 301" работает быстрее чем обращение к библиотеке pcre) но такая оптимизация имеет смысл, потому что с появлением возможности делать выделения в аргументах директивы location и писать в конфиге вложенные location`ы - большинство старых rewrite теперь имеет смысл писать так: location /uri-static-prefix/ location ~ regexp { rewrite ^ URL permanent; } } вместо неэффективного и трудночитаемого location / { rewrite regexp URL permanent; } неэффективного - потому что prce будет пытаться матчить regexp на каждый $uri, а трудночитаемого - потому что судя по документации к rewrite - в нем нельзя использовать именованные выделения, а только $1 $2 $3 $4 $5 $6 $7 $8 $9 которые труднее читать и понимать, чем обычные $переменнные. -- Best regards, Gena From gmm на csdoc.com Wed Jul 20 20:02:19 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 20 Jul 2011 23:02:19 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: <4E27344B.7030805@csdoc.com> On 20.07.2011 22:36, Роман Москвитин wrote: > Порекомендую посмотреть в сторону pacemaker'а. Я его сейчас активно > изучаю. По крайней мере оно может отслеживать живость сервера-сервиса, > достаточно будет написать скрипт обновления зоны. если ставить небольшое время жизни записи в DNS - сайт будет достаточно медленно открываться из-за того, что никто из кеширующих DNS серверов не будет знать IP сервера и его надо будет ресолвить с нуля при обращении к сайту в первый раз и через небольшой промежуток времени. если ставить большое время жизни записи в DNS, например, N минут - то сайт будет полностью не доступен эти 0 ... N минут, пока в кеше DNS не устареет старая запись и клиент не заресолвит имя сайта и не получит новый IP сервера. при любом значении N == 1 час, 10 минут, 1 минута - будут проблемы. так что DNS не очень хороший вариант обеспечения High availability. -- Best regards, Gena From sergey.kobzar на itcraft.org Wed Jul 20 20:33:56 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 20 Jul 2011 23:33:56 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E272B7A.5020601@csdoc.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: <4E273BB4.4000204@itcraft.org> On 07/20/11 22:24, Gena Makhomed wrote: > On 20.07.2011 21:23, Sergey Kobzar wrote: > >>> То, что вы хотите, совместную работу приложения, >>> днс и взаимный мониторинг, насколько мне известно, есть только в >>> коммерческих решениях, например в Brocade Server Iron, там оно >>> называется GSLB > >> Если bind собрать с поддержкой dlz и зпны хранить в SQL, то думаю малыми >> усилиями можно написать приложение, которое апдейтит зону если какой-то >> сервер становится недоступен. > > тупиковый путь, что первый что второй. > > может быть лучше делать через UCARP [1] [2] или что-то аналогичное? > > кстати, таким образом через High availability имеет смысл делать > только две машины с nginx frontend, потому что вышедшие из строя > backend-сервера nginx сам умеет дисейблить на некоторое время. > > кстати, пока что я не видел на рынке ни одной компании, которая > предлагает настройку High availability nginx frontend с использованием > только free and open source software. Есть только аппаратные решения > за много денег производства F5, Cisco и т.п. (или же я плохо искал) > > [1] http://www.ucarp.org/project/ucarp > [2] http://iarlyy.wordpress.com/2010/03/11/ip-failover-with-ucarp-centos/ Решение на базе виртуального IP, который шарится между серверами довольно таки распространенное: - VRRP - Cisco HSRP - OpenBSD CARP - VLC (Virtual Linux Server) ... Проблема в том, что не все датацентры могут предоставить эту услугу. Хотя видимо вы правы - пришло задуматься о смене DC, а не изобретать велосипед с DNS... From sergey.kobzar на itcraft.org Wed Jul 20 20:35:03 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 20 Jul 2011 23:35:03 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: <4E273BF7.1040800@itcraft.org> Линк можно на pacemaker? Отслеживать доступность сервиса и Nagios прекрасно умеет. К нему можно написать плагин, который будет модифицировать зону по событию. On 07/20/11 22:36, Роман Москвитин wrote: > Порекомендую посмотреть в сторону pacemaker'а. Я его сейчас активно > изучаю. По крайней мере оно может отслеживать живость сервера-сервиса, > достаточно будет написать скрипт обновления зоны. > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From sergey.kobzar на itcraft.org Wed Jul 20 20:36:16 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Wed, 20 Jul 2011 23:36:16 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E27344B.7030805@csdoc.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> <4E27344B.7030805@csdoc.com> Message-ID: <4E273C40.1020707@itcraft.org> Наверно мне тут стоит согласиться и искать другие решения. On 07/20/11 23:02, Gena Makhomed wrote: > On 20.07.2011 22:36, Роман Москвитин wrote: > >> Порекомендую посмотреть в сторону pacemaker'а. Я его сейчас активно >> изучаю. По крайней мере оно может отслеживать живость сервера-сервиса, >> достаточно будет написать скрипт обновления зоны. > > если ставить небольшое время жизни записи в DNS > - сайт будет достаточно медленно открываться из-за того, > что никто из кеширующих DNS серверов не будет знать IP > сервера и его надо будет ресолвить с нуля при обращении > к сайту в первый раз и через небольшой промежуток времени. > > если ставить большое время жизни записи в DNS, > например, N минут - то сайт будет полностью не доступен > эти 0 ... N минут, пока в кеше DNS не устареет старая запись > и клиент не заресолвит имя сайта и не получит новый IP сервера. > > при любом значении N == 1 час, 10 минут, 1 минута - будут проблемы. > так что DNS не очень хороший вариант обеспечения High availability. > From ruslan.usifov на gmail.com Wed Jul 20 21:52:35 2011 From: ruslan.usifov на gmail.com (ruslan usifov) Date: Thu, 21 Jul 2011 01:52:35 +0400 Subject: Load balancer with traffic limit In-Reply-To: <4E273BF7.1040800@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> <4E273BF7.1040800@itcraft.org> Message-ID: http://clusterlabs.org/ Вы немножко не понимаете для чего нужен pacemaker, он позволяет например прозрачно осуществлять миграцию ресурсов с ноды на ноду в зависимости от условий 21 июля 2011 г. 0:35 пользователь Sergey Kobzar написал: > Линк можно на pacemaker? > > Отслеживать доступность сервиса и Nagios прекрасно умеет. К нему можно > написать плагин, который будет модифицировать зону по событию. > > > > On 07/20/11 22:36, Роман Москвитин wrote: > >> Порекомендую посмотреть в сторону pacemaker'а. Я его сейчас активно >> изучаю. По крайней мере оно может отслеживать живость сервера-сервиса, >> достаточно будет написать скрипт обновления зоны. >> ______________________________**_________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/**mailman/listinfo/nginx-ru >> > > ______________________________**_________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/**mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chipitsine на gmail.com Thu Jul 21 03:23:03 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Thu, 21 Jul 2011 09:23:03 +0600 Subject: Load balancer with traffic limit In-Reply-To: <4E271D1E.3020704@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> Message-ID: потестить - это очень правильная мысль. мы тестировали, нас устраивает все, кроме дурацкой ситуации, когда соединение уходит в таймаут, тогда тоже работает, но у клиента все подтупливает. tcp reset - и клиент уходит на следующий хост 21 июля 2011 г. 0:23 пользователь Sergey Kobzar написал: > On 07/20/11 17:04, Илья Шипицин wrote: >> >> В недоступности сервера ничего смертельного нет. Если в днс указаны >> несколько серверов, при этом первый не вернул TCP fin, то запрос пойдет >> на следующие сервера. > > Этот принцип работает для SMTP, но вот для http - я не уверен. Наверно > придется потестить. > >> То, что вы хотите, совместную работу приложения, >> днс и взаимный мониторинг, насколько мне известно, есть только в >> коммерческих решениях, например в Brocade Server Iron, там оно >> называется GSLB > > Если bind собрать с поддержкой dlz и зпны хранить в SQL, то думаю малыми > усилиями можно написать приложение, которое апдейтит зону если какой-то > сервер становится недоступен. > >> >> 19.07.2011 23:10 пользователь "Sergey Kobzar" > > написал: >>  > On 07/17/11 15:22, Илья Шипицин wrote: >>  >> Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс >>  >> прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых >>  >> роботов сразу уходят на новые адреса. >>  > >>  > ОК - еще раз перепроверю. >>  > >>  > Существует ли тулза, которая может отслеживать доступность серверов и, >>  > если сервер недоступен, выкидывает его из зоны? Или придется самому >>  > плагин для Nagios писать? >>  > >>  > >>  >> 15.07.2011 14:58 пользователь "Sergey Kobzar" >> >>  >> > >> написал: >>  >> > On 07/15/11 11:48, Alex Vorona wrote: >>  >> > >>  >> >> 15.07.2011 00:46, Sergey Kobzar wrote: >>  >> >>> В датаценте, где арендуем сервера установлен лимит по трафику. >>  >> Превышение лимита строго >>  >> >>> карается денгами. >>  >> >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а >>  >> кое-где и внутренняя >>  >> >> сеть безлимитная. >>  >> > >>  >> > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет >> больше >>  >> > $1k (в зависимости от того, на сколько превысил). >>  >> > >>  >> >>> Решили разнести нагрузку на несколько серверов. Но идея в >> следующем >>  >> - входящие запросы >>  >> >>> поступают на frontend (load balancer), а ответы уходят напрямую от >>  >> backend серверов клиентам. >>  >> >> исключительно средствами nginx это сделать не получится. Он >> позволит >>  >> только пропускать >>  >> >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд >>  >> ли приемлемо. >>  >> >> Пробуйте балансировку через DNS. >>  >> > >>  >> > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, >>  >> > Меняю A запись в ДНС - все равно запросы (не много конечно) идут на >>  >> > старый адрес даже если TTL истекло. >>  >> > >>  >> > Я уже не говорю о быстром переключении, если один из серверов помер. >>  >> > >>  >> >> >>  >> >> _______________________________________________ >>  >> >> nginx-ru mailing list >>  >> >> nginx-ru на nginx.org >> > >>  >> >> http://nginx.org/mailman/listinfo/nginx-ru >>  >> > >>  >> > _______________________________________________ >>  >> > nginx-ru mailing list >>  >> > nginx-ru на nginx.org >> > >>  >> > http://nginx.org/mailman/listinfo/nginx-ru >>  >> >>  >> >>  >> >>  >> _______________________________________________ >>  >> nginx-ru mailing list >>  >> nginx-ru на nginx.org >>  >> http://nginx.org/mailman/listinfo/nginx-ru >>  > >>  > _______________________________________________ >>  > nginx-ru mailing list >>  > nginx-ru на nginx.org >>  > http://nginx.org/mailman/listinfo/nginx-ru >> >> >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://nginx.org/mailman/listinfo/nginx-ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From chipitsine на gmail.com Thu Jul 21 03:26:29 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Thu, 21 Jul 2011 09:26:29 +0600 Subject: Load balancer with traffic limit In-Reply-To: <4E272B7A.5020601@csdoc.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: это не тупиковый путь, это просто разные задачи. обеспечить доступность из одного датацентра, с одного IP-адреса - да, можно при помощи CARP (я бы постеснялся в этот список включать ucarp, если честно, вы его на практике пробовали ?). обеспечить доступность с нескольких географически распределенных датацентров - это манипуляции с DNS (либо публикуем сразу несколько записей, либо публикуем только одну, но с маленьким ttl и по-быстрому меняем ее при failover-е) 21 июля 2011 г. 1:24 пользователь Gena Makhomed написал: > On 20.07.2011 21:23, Sergey Kobzar wrote: > >>> То, что вы хотите, совместную работу приложения, >>> днс и взаимный мониторинг, насколько мне известно, есть только в >>> коммерческих решениях, например в Brocade Server Iron, там оно >>> называется GSLB > >> Если bind собрать с поддержкой dlz и зпны хранить в SQL, то думаю малыми >> усилиями можно написать приложение, которое апдейтит зону если какой-то >> сервер становится недоступен. > > тупиковый путь, что первый что второй. > > может быть лучше делать через UCARP [1] [2] или что-то аналогичное? > > кстати, таким образом через High availability имеет смысл делать > только две машины с nginx frontend, потому что вышедшие из строя > backend-сервера nginx сам умеет дисейблить на некоторое время. > > кстати, пока что я не видел на рынке ни одной компании, которая > предлагает настройку High availability nginx frontend с использованием > только free and open source software. Есть только аппаратные решения > за много денег производства F5, Cisco и т.п. (или же я плохо искал) > > [1] http://www.ucarp.org/project/ucarp > [2] http://iarlyy.wordpress.com/2010/03/11/ip-failover-with-ucarp-centos/ > > -- > Best regards, >  Gena > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From chipitsine на gmail.com Thu Jul 21 03:29:34 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Thu, 21 Jul 2011 09:29:34 +0600 Subject: Load balancer with traffic limit In-Reply-To: <4E27344B.7030805@csdoc.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> <4E27344B.7030805@csdoc.com> Message-ID: у нас для продакшен систем ttl=300 сек. никаких проблем из-за этого не ощущаем. советую все-таки потестировать, прежде, чем делать такие выводы. 21 июля 2011 г. 2:02 пользователь Gena Makhomed написал: > On 20.07.2011 22:36, Роман Москвитин wrote: > >> Порекомендую посмотреть в сторону pacemaker'а. Я его сейчас активно >> изучаю. По крайней мере оно может отслеживать живость сервера-сервиса, >> достаточно будет написать скрипт обновления зоны. > > если ставить небольшое время жизни записи в DNS > - сайт будет достаточно медленно открываться из-за того, > что никто из кеширующих DNS серверов не будет знать IP > сервера и его надо будет ресолвить с нуля при обращении > к сайту в первый раз и через небольшой промежуток времени. > > если ставить большое время жизни записи в DNS, > например, N минут - то сайт будет полностью не доступен > эти 0 ... N минут, пока в кеше DNS не устареет старая запись > и клиент не заресолвит имя сайта и не получит новый IP сервера. > > при любом значении N == 1 час, 10 минут, 1 минута - будут проблемы. > так что DNS не очень хороший вариант обеспечения High availability. > > -- > Best regards, >  Gena > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From pasha на klets.name Thu Jul 21 06:03:33 2011 From: pasha на klets.name (Pasha Klets) Date: Thu, 21 Jul 2011 09:03:33 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: >> обеспечить доступность из одного датацентра, с одного IP-адреса - да, можно при помощи CARP (я бы постеснялся в этот список включать ucarp, если честно, вы его на практике пробовали ?). Про ucarp - могу скачать что это очень сырая и кривая реализация, которую непонятно кто использует в продакшене, я так и не нашел упоминаний. Мы когда-то пытались использовать его пару недель. Это была жуть, некоторые особенности его поведения до сих не понятны. Зато из бесплатных решений есть просто отличное - Heartbeat из Linux-HA. После перехода на него, все проблемы связанные с ucarp забыли, например: случайные переключения на фейловер, невозможность контролировать запуск на фейловере всего необходимого софта, в вашем случае nginx. Насчет доступности такого решения в дата-центрах, то тут я особых проблем не встречал, надо всего два бокса в одной подсети + еще один айпишник без привязки к MAC-адресу. Плюс отсутствие на свичах различных sticky-arp. Если боитесь, что шаренный айпишик может быть доступен соседям по подсети, то попросите отдельный VLAN. За умеренные деньги ДЦ скорее всего пойдет навстречу. Мы с двумя разными нормально договаривались. 21 июля 2011 г. 6:26 пользователь Илья Шипицин написал: > это не тупиковый путь, это просто разные задачи. > > обеспечить доступность из одного датацентра, с одного IP-адреса - да, > можно при помощи CARP (я бы постеснялся в этот список включать ucarp, > если честно, вы его на практике пробовали ?). > > обеспечить доступность с нескольких географически распределенных > датацентров - это манипуляции с DNS (либо публикуем сразу несколько > записей, либо публикуем только одну, но с маленьким ttl и по-быстрому > меняем ее при failover-е) > > > > 21 июля 2011 г. 1:24 пользователь Gena Makhomed написал: > > On 20.07.2011 21:23, Sergey Kobzar wrote: > > > >>> То, что вы хотите, совместную работу приложения, > >>> днс и взаимный мониторинг, насколько мне известно, есть только в > >>> коммерческих решениях, например в Brocade Server Iron, там оно > >>> называется GSLB > > > >> Если bind собрать с поддержкой dlz и зпны хранить в SQL, то думаю малыми > >> усилиями можно написать приложение, которое апдейтит зону если какой-то > >> сервер становится недоступен. > > > > тупиковый путь, что первый что второй. > > > > может быть лучше делать через UCARP [1] [2] или что-то аналогичное? > > > > кстати, таким образом через High availability имеет смысл делать > > только две машины с nginx frontend, потому что вышедшие из строя > > backend-сервера nginx сам умеет дисейблить на некоторое время. > > > > кстати, пока что я не видел на рынке ни одной компании, которая > > предлагает настройку High availability nginx frontend с использованием > > только free and open source software. Есть только аппаратные решения > > за много денег производства F5, Cisco и т.п. (или же я плохо искал) > > > > [1] http://www.ucarp.org/project/ucarp > > [2] > http://iarlyy.wordpress.com/2010/03/11/ip-failover-with-ucarp-centos/ > > > > -- > > Best regards, > > Gena > > > > _______________________________________________ > > nginx-ru mailing list > > nginx-ru на nginx.org > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- @p01nt ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Thu Jul 21 06:21:34 2011 From: nginx-forum на nginx.us (Craken) Date: Thu, 21 Jul 2011 02:21:34 -0400 Subject: =?UTF-8?B?0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUgcHJveHkgcGFzcyDQvdCwINGB0LA=?= =?UTF-8?B?0LnRgtC1INGBINC60LDRgNGC0LjQvdC60LDQvNC4INC4IEpT?= Message-ID: <947c02d044db5fe570c1d09bba8a2db3.NginxMailingListRussian@forum.nginx.org> Здравствуйте товарищи! Опять столкнулся с небольшой проблемой использование nginx! Суть проблемы: В некоторых случаях для доступа пользователей на один из сайтов, решил использовать директиву proxy_pass! То есть пользователь заходит на страницу, nginx локейшном определяет соответствие и проксирут на страницу... ну вот пример использования: location /my_url$ { proxy_pass http://site.com:80; } Проксирование работает, но грузит только основной текст! То есть джаваскрипты и картинки не подгружаются! Они имеют вот такую ссылку " "! Подскажите пожалуйста, как можно обойти? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212721,212721#msg-212721 From pasha на klets.name Thu Jul 21 06:35:29 2011 From: pasha на klets.name (Pasha Klets) Date: Thu, 21 Jul 2011 09:35:29 +0300 Subject: =?UTF-8?B?UmU6INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1IHByb3h5IHBhc3Mg0L3QsCA=?= =?UTF-8?B?0YHQsNC50YLQtSDRgSDQutCw0YDRgtC40L3QutCw0LzQuCDQuCBKUw==?= In-Reply-To: <947c02d044db5fe570c1d09bba8a2db3.NginxMailingListRussian@forum.nginx.org> References: <947c02d044db5fe570c1d09bba8a2db3.NginxMailingListRussian@forum.nginx.org> Message-ID: Это происходит того, что /js/jquery-min.js != /my_url$ У вас же в этот location попадает исключительно то, что заканчивается на /my_url. Все что не заканчивается на /my_url proxy_passом обрабатываться не будет. Правильнее как-то так. location ~* ^.[^&?]+\.(css|js|jpg|jpeg|gif|png)$ { root /path/to/srcipts_styles_images; } location ~ ^/my_uri { proxy_pass 127.0.0.1:80; } З.Ы. Написал по памяти, мог немного ошибиться. 21 июля 2011 г. 9:21 пользователь Craken написал: > Здравствуйте товарищи! > Опять столкнулся с небольшой проблемой > использование nginx! > Суть проблемы: > В некоторых случаях для доступа > пользователей на один из сайтов, решил > использовать директиву proxy_pass! > То есть пользователь заходит на > страницу, nginx локейшном определяет > соответствие и проксирут на страницу... > ну вот пример использования: > > location /my_url$ { > proxy_pass http://site.com:80; > } > > Проксирование работает, но грузит > только основной текст! То есть > джаваскрипты и картинки не > подгружаются! > Они имеют вот такую ссылку " "! > > Подскажите пожалуйста, как можно > обойти? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,212721,212721#msg-212721 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- @p01nt ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Thu Jul 21 07:23:47 2011 From: nginx-forum на nginx.us (yokodzun) Date: Thu, 21 Jul 2011 03:23:47 -0400 Subject: rewrite rul In-Reply-To: <20110720190438.GA8399@sysoev.ru> References: <20110720190438.GA8399@sysoev.ru> Message-ID: <19d17282a146c81916febe3de3d318e0.NginxMailingListRussian@forum.nginx.org> Igor Sysoev Wrote: ------------------------------------------------------- > Не надо rewrite. Тогда всё > будет работать: > > server { > listen 80; > server_name domain.tld > > root /v/http/domain.tld; > > location ~ \.php$ { > fastcgi_pass > unix:/tmp/php-fpm.sock; > fastcgi_param DOCUMENT_ROOT > /v/http/domain.tld; > fastcgi_param SCRIPT_FILENAME > > /v/http/domain.tld$fastcgi_script_name; > include fastcgi_params; > } > > location ~ ^/admin/(.*)$ { > try_files $uri $uri/ > /admin/index.php?$1; > } > > location ~ ^/(.*)$ { > try_files $uri $uri/ /index.php; > } > } > В таком виде слетает мерозпакастный CSS. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212699,212724#msg-212724 From igor на sysoev.ru Thu Jul 21 07:30:29 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Thu, 21 Jul 2011 11:30:29 +0400 Subject: rewrite rul In-Reply-To: <19d17282a146c81916febe3de3d318e0.NginxMailingListRussian@forum.nginx.org> References: <20110720190438.GA8399@sysoev.ru> <19d17282a146c81916febe3de3d318e0.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110721073029.GA22227@sysoev.ru> On Thu, Jul 21, 2011 at 03:23:47AM -0400, yokodzun wrote: > Igor Sysoev Wrote: > ------------------------------------------------------- > > > Не надо rewrite. Тогда всё > > будет работать: > > > > server { > > listen 80; > > server_name domain.tld > > > > root /v/http/domain.tld; > > > > location ~ \.php$ { > > fastcgi_pass > > unix:/tmp/php-fpm.sock; > > fastcgi_param DOCUMENT_ROOT > > /v/http/domain.tld; > > fastcgi_param SCRIPT_FILENAME > > > > /v/http/domain.tld$fastcgi_script_name; > > include fastcgi_params; > > } > > > > location ~ ^/admin/(.*)$ { > > try_files $uri $uri/ > > /admin/index.php?$1; > > } > > > > location ~ ^/(.*)$ { > > try_files $uri $uri/ /index.php; > > } > > } > > > > В таком виде слетает мерозпакастный CSS. Как выглядит URL css и какая ошибка в error_log ? -- Игорь Сысоев http://sysoev.ru From vladimir на greenmice.info Thu Jul 21 08:45:58 2011 From: vladimir на greenmice.info (Vladimir Rusinov) Date: Thu, 21 Jul 2011 12:45:58 +0400 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiB4Y2FjaGUg0LIg0YLQsNC60L7QuSA=?= =?UTF-8?B?0YHQstGP0LfQutC4OiBuZ2lueCAo0L/RgNC+0LrRgdC4KSArIGFwYWNoZTIy?= =?UTF-8?B?ICsgbGlicGhwNS5zbw==?= In-Reply-To: <4E26E0E1.6090007@ukr.net> References: <4E26D85C.6040404@ukr.net> <35d3bab455104706ad8ce1e332c8cdb4.NginxMailingListRussian@forum.nginx.org> <4E26E0E1.6090007@ukr.net> Message-ID: 2011/7/20 Vladislav V. Prodan > 20.07.2011 16:46, hg_04 пишет: > > а причем тут nginx? >> ты хочеш сказать, что на прямую apache22 + >> libphp5.so используют xcache ? >> >> та вот непонятно, то ли врет статистика xcache, то ли апач таки не юзает > xcache А апач и не должен. xcache - расширение php, а не апача, так что веб-сервер тут не играет практически никакой роли. Смотрите доки по установке xcache, подозреваю что у вас банальное не включен екстеншн. -- Vladimir Rusinov http://greenmice.info/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From universite на ukr.net Thu Jul 21 09:50:51 2011 From: universite на ukr.net (Vladislav V. Prodan) Date: Thu, 21 Jul 2011 12:50:51 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiB4Y2FjaGUg0LIg0YLQsNC60L7QuSA=?= =?UTF-8?B?0YHQstGP0LfQutC4OiBuZ2lueCAo0L/RgNC+0LrRgdC4KSArIGFwYWNoZTIy?= =?UTF-8?B?ICsgbGlicGhwNS5zbw==?= In-Reply-To: References: <4E26D85C.6040404@ukr.net> <35d3bab455104706ad8ce1e332c8cdb4.NginxMailingListRussian@forum.nginx.org> <4E26E0E1.6090007@ukr.net> Message-ID: <4E27F67B.3010308@ukr.net> 21.07.2011 11:45, Vladimir Rusinov пишет: > А апач и не должен. xcache - расширение php, а не апача, так что > веб-сервер тут не играет практически никакой роли. Смотрите доки по > установке xcache, подозреваю что у вас банальное не включен екстеншн. Еще раз прочтите внимательно мое сообщение. -- Vladislav V. Prodan VVP24-UANIC +380[67]4584408 +380[99]4060508 vlad11 на jabber.ru From vladimir на greenmice.info Thu Jul 21 10:09:30 2011 From: vladimir на greenmice.info (Vladimir Rusinov) Date: Thu, 21 Jul 2011 14:09:30 +0400 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiB4Y2FjaGUg0LIg0YLQsNC60L7QuSA=?= =?UTF-8?B?0YHQstGP0LfQutC4OiBuZ2lueCAo0L/RgNC+0LrRgdC4KSArIGFwYWNoZTIy?= =?UTF-8?B?ICsgbGlicGhwNS5zbw==?= In-Reply-To: <4E27F67B.3010308@ukr.net> References: <4E26D85C.6040404@ukr.net> <35d3bab455104706ad8ce1e332c8cdb4.NginxMailingListRussian@forum.nginx.org> <4E26E0E1.6090007@ukr.net> <4E27F67B.3010308@ukr.net> Message-ID: 2011/7/21 Vladislav V. Prodan > 21.07.2011 11:45, Vladimir Rusinov пишет: > > А апач и не должен. xcache - расширение php, а не апача, так что >> веб-сервер тут не играет практически никакой роли. Смотрите доки по >> установке xcache, подозреваю что у вас банальное не включен екстеншн. >> > > Еще раз прочтите внимательно мое сообщение. > Прочитал. По-прежнему не понятно при чем тут apache и тем более nginx. Кроме того кстати не ясно что именно не работает, но ясно что это в общем-то оффтопик в данной рассылке. На самое первое сообщение отвечаю: да, у меня все работает: nginx -> apache22 -> mod_php с xcache -- Vladimir Rusinov http://greenmice.info/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From askjuise на gmail.com Thu Jul 21 10:13:29 2011 From: askjuise на gmail.com (Alexander Petrovsky) Date: Thu, 21 Jul 2011 18:13:29 +0800 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiB4Y2FjaGUg0LIg0YLQsNC60L7QuSA=?= =?UTF-8?B?0YHQstGP0LfQutC4OiBuZ2lueCAo0L/RgNC+0LrRgdC4KSArIGFwYWNoZTIy?= =?UTF-8?B?ICsgbGlicGhwNS5zbw==?= In-Reply-To: References: <4E26D85C.6040404@ukr.net> <35d3bab455104706ad8ce1e332c8cdb4.NginxMailingListRussian@forum.nginx.org> <4E26E0E1.6090007@ukr.net> <4E27F67B.3010308@ukr.net> Message-ID: 21 июля 2011 г. 18:09 пользователь Vladimir Rusinov написал: > > > 2011/7/21 Vladislav V. Prodan >> >> 21.07.2011 11:45, Vladimir Rusinov пишет: >>> >>> А апач и не должен. xcache - расширение php, а не апача, так что >>> веб-сервер тут не играет практически никакой роли. Смотрите доки по >>> установке xcache, подозреваю что у вас банальное не включен екстеншн. >> >> Еще раз прочтите внимательно мое сообщение. > > Прочитал. По-прежнему не понятно при чем тут apache и тем более nginx. Кроме > того кстати не ясно что именно не работает, но ясно что это в общем-то > оффтопик в данной рассылке. > На самое первое сообщение отвечаю: да, у меня все работает: nginx -> > apache22 -> mod_php с xcache Ну покажите уж тогда php -m -- Петровский Александр / Alexander Petrovsky, Jabber: juise на jabber.ru Phone: +7 914 8 820 815 From sergey.kobzar на itcraft.org Thu Jul 21 10:16:17 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Thu, 21 Jul 2011 13:16:17 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> Message-ID: <4E27FC71.6060000@itcraft.org> Кто сделает tcp reset если основной сервер в дауне? :) On 07/21/11 06:23, Илья Шипицин wrote: > потестить - это очень правильная мысль. > мы тестировали, нас устраивает все, кроме дурацкой ситуации, когда > соединение уходит в таймаут, тогда тоже работает, но у клиента все > подтупливает. > > tcp reset - и клиент уходит на следующий хост > > 21 июля 2011 г. 0:23 пользователь Sergey Kobzar > написал: >> On 07/20/11 17:04, Илья Шипицин wrote: >>> >>> В недоступности сервера ничего смертельного нет. Если в днс указаны >>> несколько серверов, при этом первый не вернул TCP fin, то запрос пойдет >>> на следующие сервера. >> >> Этот принцип работает для SMTP, но вот для http - я не уверен. Наверно >> придется потестить. >> >>> То, что вы хотите, совместную работу приложения, >>> днс и взаимный мониторинг, насколько мне известно, есть только в >>> коммерческих решениях, например в Brocade Server Iron, там оно >>> называется GSLB >> >> Если bind собрать с поддержкой dlz и зпны хранить в SQL, то думаю малыми >> усилиями можно написать приложение, которое апдейтит зону если какой-то >> сервер становится недоступен. >> >>> >>> 19.07.2011 23:10 пользователь "Sergey Kobzar">> > написал: >>> > On 07/17/11 15:22, Илья Шипицин wrote: >>> >> Если не забывать уменьшать так же и SOA minimal (negative ttl), то днс >>> >> прекрасно всё отрабатывает. Проверено тыщу раз. Все кроме поисковых >>> >> роботов сразу уходят на новые адреса. >>> > >>> > ОК - еще раз перепроверю. >>> > >>> > Существует ли тулза, которая может отслеживать доступность серверов и, >>> > если сервер недоступен, выкидывает его из зоны? Или придется самому >>> > плагин для Nagios писать? >>> > >>> > >>> >> 15.07.2011 14:58 пользователь "Sergey Kobzar" >>> >>> >> >> >> написал: >>> >> > On 07/15/11 11:48, Alex Vorona wrote: >>> >> > >>> >> >> 15.07.2011 00:46, Sergey Kobzar wrote: >>> >> >>> В датаценте, где арендуем сервера установлен лимит по трафику. >>> >> Превышение лимита строго >>> >> >>> карается денгами. >>> >> >> 100TB за $200 по-моему уже давно реальность на нормальном железе, а >>> >> кое-где и внутренняя >>> >> >> сеть безлимитная. >>> >> > >>> >> > Какие датацентры? 1and1 за превышение лимита в 6TB/month берет >>> больше >>> >> > $1k (в зависимости от того, на сколько превысил). >>> >> > >>> >> >>> Решили разнести нагрузку на несколько серверов. Но идея в >>> следующем >>> >> - входящие запросы >>> >> >>> поступают на frontend (load balancer), а ответы уходят напрямую от >>> >> backend серверов клиентам. >>> >> >> исключительно средствами nginx это сделать не получится. Он >>> позволит >>> >> только пропускать >>> >> >> весь трафик через фронтенд или же выдавать http-редиректы, что вряд >>> >> ли приемлемо. >>> >> >> Пробуйте балансировку через DNS. >>> >> > >>> >> > DNS плох своим propagation time. Пробовал выставлять TTL в 5-15 min, >>> >> > Меняю A запись в ДНС - все равно запросы (не много конечно) идут на >>> >> > старый адрес даже если TTL истекло. >>> >> > >>> >> > Я уже не говорю о быстром переключении, если один из серверов помер. >>> >> > >>> >> >> >>> >> >> _______________________________________________ >>> >> >> nginx-ru mailing list >>> >> >> nginx-ru на nginx.org >>> > >>> >> >> http://nginx.org/mailman/listinfo/nginx-ru >>> >> > >>> >> > _______________________________________________ >>> >> > nginx-ru mailing list >>> >> > nginx-ru на nginx.org >>> > >>> >> > http://nginx.org/mailman/listinfo/nginx-ru >>> >> >>> >> >>> >> >>> >> _______________________________________________ >>> >> nginx-ru mailing list >>> >> nginx-ru на nginx.org >>> >> http://nginx.org/mailman/listinfo/nginx-ru >>> > >>> > _______________________________________________ >>> > nginx-ru mailing list >>> > nginx-ru на nginx.org >>> > http://nginx.org/mailman/listinfo/nginx-ru >>> >>> >>> >>> _______________________________________________ >>> nginx-ru mailing list >>> nginx-ru на nginx.org >>> http://nginx.org/mailman/listinfo/nginx-ru >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From sad на bankir.ru Thu Jul 21 10:58:25 2011 From: sad на bankir.ru (sad на bankir.ru) Date: Thu, 21 Jul 2011 14:58:25 +0400 Subject: scopes of variables In-Reply-To: <20110720165749.GB5667@sysoev.ru> References: <1311173837704556500@bankir.ru> <20110720165749.GB5667@sysoev.ru> Message-ID: <1311245905887818500@bankir.ru> Igor Sysoev wrote: > On Wed, Jul 20, 2011 at 06:57:17PM +0400, sad на bankir.ru wrote: > > hi > > > > мне сначла был не совсем ясен я теперь совсем не ясен вопрос видимостей переменных в конфиге nginx. > > > > где почитать? чтобы полностью прояснить. > > У меня переменных глобальная видимость. в разных 3rd party модулях я нарвался на разнообразные эффекты, одни переменные определённые в location не видны даже в под-location... следует ли это считать ошибкой? с другой стороны очень сильно огорчил nginx_accept_language_module который не даёт в нескольких РАЗНЫХ server сделать set_from_accept_language $lang en ru; следует ли смириться и выдумывать новое имя для переменной lang для каждого сервера? From marck на rinet.ru Thu Jul 21 13:34:14 2011 From: marck на rinet.ru (Dmitry Morozovsky) Date: Thu, 21 Jul 2011 17:34:14 +0400 (MSD) Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: On Thu, 21 Jul 2011, Илья Шипицин wrote: > это не тупиковый путь, это просто разные задачи. > > обеспечить доступность из одного датацентра, с одного IP-адреса - да, > можно при помощи CARP (я бы постеснялся в этот список включать ucarp, > если честно, вы его на практике пробовали ?). > > обеспечить доступность с нескольких географически распределенных > датацентров - это манипуляции с DNS (либо публикуем сразу несколько > записей, либо публикуем только одну, но с маленьким ttl и по-быстрому > меняем ее при failover-е) Ещё anycast для серьёзных применений можно использовать (правда, остаётся проблема синхронизации контента и/или сессионных данных) -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck на FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck на rinet.ru *** ------------------------------------------------------------------------ From voron на amhost.net Thu Jul 21 14:33:42 2011 From: voron на amhost.net (Alex Vorona) Date: Thu, 21 Jul 2011 17:33:42 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E25BF8D.2060102@amhost.net> Message-ID: <4E2838C6.4050709@amhost.net> 20.07.2011 20:52, Илья Шипицин wrote: > а на вид ничего и не должно поменяться. > то, что вы поставили 10 минут для negative ttl, означает, что если в > днс записи не было, кто-то ее пропинговал (запомнил отрицательный > ответ), то через 10 минут он снова пойдет в днс То есть для случая DNS-балансинга site in A IP1 site in A IP2 site in A IP3 site in A IP4 и вываливания одного из IP из зоны это ничего не меняет, а поменяет в случае отсутствия site в зоне. From chipitsine на gmail.com Thu Jul 21 17:30:54 2011 From: chipitsine на gmail.com (=?KOI8-R?B?6czY0SD7ydDJw8nO?=) Date: Thu, 21 Jul 2011 23:30:54 +0600 Subject: Load balancer with traffic limit In-Reply-To: <4E2838C6.4050709@amhost.net> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E25BF8D.2060102@amhost.net> <4E2838C6.4050709@amhost.net> Message-ID: да. и еще ма-а-а-а-ленькое уточнение - если у вас BIND, если вы не указали явно макрос $TTL, не указали ttl для записи SOA и не указали ttl для конкретной записи, то тогда negative ttl берется в качестве ttl для нее. 21 июля 2011 г. 20:33 пользователь Alex Vorona написал: > 20.07.2011 20:52, Илья Шипицин wrote: >> а на вид ничего и не должно поменяться. >> то, что вы поставили 10 минут для negative ttl, означает, что если в >> днс записи не было, кто-то ее пропинговал (запомнил отрицательный >> ответ), то через 10 минут он снова пойдет в днс > То есть для случая DNS-балансинга > site in A IP1 > site in A IP2 > site in A IP3 > site in A IP4 > и вываливания одного из IP из зоны это ничего не меняет, а поменяет в случае отсутствия > site в зоне. > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From gmm на csdoc.com Thu Jul 21 20:54:25 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 21 Jul 2011 23:54:25 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: <4E289201.3030704@csdoc.com> On 21.07.2011 6:26, Илья Шипицин wrote: > обеспечить доступность с нескольких географически распределенных > датацентров - это манипуляции с DNS (либо публикуем сразу несколько > записей, либо публикуем только одну, но с маленьким ttl и по-быстрому > меняем ее при failover-е) при очень большом желании - это можно делать и через BGP. например, презентация OpenDNS CEO David Ulevitch на эту тему: http://www.slideshare.net/techdude/bgp-blackmagic-load-balancing-in-the-cloud но дешевле, проще и надежнее - поставить несколько серверов в одном дата-центре для обеспечения High availability с помощью Linux Virtual Server или CARP и т.п. а о том, чтобы весь дата-центр не ушел в offline - думают администраторы дата-цента через BGP и множественные подключения к интернету, использование Gateway Load Balancing Protocol и т.п. -- Best regards, Gena From nginx-forum на nginx.us Thu Jul 21 21:11:18 2011 From: nginx-forum на nginx.us (yokodzun) Date: Thu, 21 Jul 2011 17:11:18 -0400 Subject: rewrite rul In-Reply-To: <20110721073029.GA22227@sysoev.ru> References: <20110721073029.GA22227@sysoev.ru> Message-ID: Igor Sysoev Wrote: ------------------------------------------------------- > > В таком виде слетает > мерозпакастный CSS. > > Как выглядит URL css и какая > ошибка в error_log ? URL /public/themes/normal/print.css /public/themes/normal/screen.css /admin/themes/black_and_white/styles.css /admin/stylesheets/toolbar.css В логе ошибок нет. Логирование настроено так: log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; Спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212699,212774#msg-212774 From gmm на csdoc.com Thu Jul 21 21:25:14 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Fri, 22 Jul 2011 00:25:14 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> <4E27344B.7030805@csdoc.com> Message-ID: <4E28993A.2020805@csdoc.com> On 21.07.2011 6:29, Илья Шипицин wrote: > у нас для продакшен систем ttl=300 сек. никаких проблем из-за этого не ощущаем. > советую все-таки потестировать, прежде, чем делать такие выводы. в случае выхода из строя одного из этих серверов/датацентров - сайт будет полностью не доступен части клиентов 1-300 секунд... это не есть самое оптимальное решение, потому что сравнительно небольшими затратами можно получить ~= 0 downtime вместо 1-300 сек. P.S. проверил, google.com и youtube.com устанавливают ttl == 300 сек. но это не повод копировать. почему они так делают - совсем не понятно. facebook.com, yandex.ru и rambler.ru делают нормальный ttl == 3600 сек. yahoo.com - вообще устанавливает ttl == 21600 секунд. хотя Goolge рассказывает о том, какая это плохо - DNS latency http://code.google.com/speed/public-dns/docs/performance.html и встраивает в свой браузер Chrome/Chromium механизм DNS Prefetching http://www.chromium.org/developers/design-documents/dns-prefetching -- Best regards, Gena From sergey.kobzar на itcraft.org Thu Jul 21 21:32:42 2011 From: sergey.kobzar на itcraft.org (Sergey Kobzar) Date: Fri, 22 Jul 2011 00:32:42 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E289201.3030704@csdoc.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> <4E289201.3030704@csdoc.com> Message-ID: <4E289AFA.5090100@itcraft.org> On 07/21/11 23:54, Gena Makhomed wrote: > On 21.07.2011 6:26, Илья Шипицин wrote: > >> обеспечить доступность с нескольких географически распределенных >> датацентров - это манипуляции с DNS (либо публикуем сразу несколько >> записей, либо публикуем только одну, но с маленьким ttl и по-быстрому >> меняем ее при failover-е) > > при очень большом желании - это можно делать и через BGP. > например, презентация OpenDNS CEO David Ulevitch на эту тему: > http://www.slideshare.net/techdude/bgp-blackmagic-load-balancing-in-the-cloud Отдельную AS на несколько серверов не дадут. Да и не каждый ДЦ за такое возмется. > но дешевле, проще и надежнее - поставить несколько серверов > в одном дата-центре для обеспечения High availability > с помощью Linux Virtual Server или CARP и т.п. Опять же - не всегда возможно. Вот я запрос сделал, возможно ли получить виртуальный IP на несколько серверов. Получил ответ: We don't offer Virtual IP addresses. Конечно как вариант - сменить ДЦ, но когда уже выстроена инфраструктура, такое сделать не просто. Пока единственный вариант - DNS-nased load balancing/failover. > а о том, чтобы весь дата-центр не ушел в offline - думают > администраторы дата-цента через BGP и множественные подключения > к интернету, использование Gateway Load Balancing Protocol и т.п. Бывают случаи, когда и BGP не панацея... Географически разнессенный Backup разве что :) From gmm на csdoc.com Thu Jul 21 23:10:51 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Fri, 22 Jul 2011 02:10:51 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E289AFA.5090100@itcraft.org> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> <4E289201.3030704@csdoc.com> <4E289AFA.5090100@itcraft.org> Message-ID: <4E28B1FB.9020405@csdoc.com> On 22.07.2011 0:32, Sergey Kobzar wrote: > Пока единственный вариант - DNS-nased load balancing/failover. согласен, downtime не более 300 сек. - это лучше чем вообще ничего. только немного смущают статьи http://www.tenereillo.com/GSLBPageOfShame.htm Why DNS Based Global Server Load Balancing (GSLB) Doesn?t Work http://www.tenereillo.com/GSLBPageOfShameII.htm Why DNS Based GSLB Doesn?t Work, Part II http://www.tenereillo.com/BrowserDNSCache.htm Addendum to ?Why DNS Based GSLB Doesn?t Work? -- Best regards, Gena From zzz на zzz.org.ua Fri Jul 22 00:21:17 2011 From: zzz на zzz.org.ua (Alexandr Gomoliako) Date: Fri, 22 Jul 2011 03:21:17 +0300 Subject: Load balancer with traffic limit In-Reply-To: <4E28B1FB.9020405@csdoc.com> References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> <4E289201.3030704@csdoc.com> <4E289AFA.5090100@itcraft.org> <4E28B1FB.9020405@csdoc.com> Message-ID: On 7/22/11, Gena Makhomed wrote: > только немного смущают статьи > > http://www.tenereillo.com/GSLBPageOfShame.htm > Why DNS Based Global Server Load Balancing (GSLB) Doesn't Work > > http://www.tenereillo.com/GSLBPageOfShameII.htm > Why DNS Based GSLB Doesn't Work, Part II > > http://www.tenereillo.com/BrowserDNSCache.htm > Addendum to "Why DNS Based GSLB Doesn't Work" Статьи эти слишком древние. Есть где-то современные публикации на эту же тему, не помню только где. Если маленький TTL и несколько записей, то современные браузеры попробуют следующую после небольшого таймаута. Сам проверял оперу, файрфокс и ие6. Если мониторить и удалить запись, то у всех клиентов с нормальным днс все будет хорошо сразу, могут наткнуться только на этот небольшой таймаут, но ошибки не увидят. А те, кому днс кэширует записи и игнорирует TTL будут натыкаться на таймаут еще какое-то время, тоже без ошибки. А если упавший сервер еще и будет возвращать RST, то таймаут будет очень маленький. From nginx-forum на nginx.us Fri Jul 22 06:35:18 2011 From: nginx-forum на nginx.us (gatesat) Date: Fri, 22 Jul 2011 02:35:18 -0400 Subject: =?UTF-8?B?TmdpbngrbW9kIHppcCAtINGB0LjQvNCy0L7QuyArINCyINC/0YPRgtC4INC6INGE?= =?UTF-8?B?0LDQudC70YMu?= Message-ID: Всем привет ! Вопрос следующего плана. При использовании nginx и mod_zip, если попадается файл с + в имени, получаем file not found =( В list-файле все пути сохранены через php-ный urlencode и в нем + правильно перекодированы в %2B. А вот когда nginx mod_zip читает собственно из list-файле, то получаем file not found. т.к. + воспринимается как пробел, и естественно файла с таким путем нет... Кто подскажет как решить ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212792,212792#msg-212792 From jt на aaanet.ru Fri Jul 22 10:04:20 2011 From: jt на aaanet.ru (=?utf-8?B?0JXQstCz0LXQvdC40Lkg0KLQvtGA0L7Qv9C+0LI=?=) Date: Fri, 22 Jul 2011 14:04:20 +0400 Subject: large_client_header_buffers Message-ID: <56D6D786-FFE5-432F-AB56-DB818D5F73F4@aaanet.ru> Добрый день. В описании директивы large_client_header_buffers указано "По умолчанию размер одного буфера равен размеру страницы, в зависимости от платформы это или 4K, или 8K". В моем случае некоторые запросы к XML API могут превышать 8k. Таких запросов очень мало, но они есть, и их надо обслуживать (с чем согласен даже RFC 2616 - http://www.ietf.org/rfc/rfc2616.txt - "...Servers MUST be able to handle the URI of any resource they serve...". Да и нам самим удобнее видеть в логе все параметры запроса. Чем грозит увеличение этих буферов, к примеру, до 64k? Есть ли какие-то рекоммендации на макс. значение этого параметра для конкретной машины? Евгений jt на aaanet.ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Fri Jul 22 12:44:48 2011 From: nginx-forum на nginx.us (el) Date: Fri, 22 Jul 2011 08:44:48 -0400 Subject: memcached status In-Reply-To: <4B1783BE.3060804@gmail.com> References: <4B1783BE.3060804@gmail.com> Message-ID: <9d34488bc24abfa954dc87605d4eeed9.NginxMailingListRussian@forum.nginx.org> Подниму старую тему :) Можно ли сделать так, чтобы 200 ответ так же можно было перехватывать? Т.к. иногда в зависимости от наличия ключа или его содержимого нужно сделать различные действия. Зачем это может быть нужно: У меня на сайте есть различные блоки, которые могут отличаться для разных пользователей и для разных страниц. Если пользователь премиум, то он видит всегда один и тот же блок, который сам настраивает. Если он простой пользователь, то он должен видеть блок, который зависит от url страницы. Первое проверяется и кешируется в мемкеше легко - просто кладутся ключики "premium$sid" с содержимым блока. Но отсутствие ключа ничего не обозначает - значит для каждого непремиума (а таких большинство) придется лезть в приложение. Хотелось бы проверять содержимое ключа в nginx, если там просто текст, то отправить пользователю, если там ключевое слово ХХХ (признак непримиальности), то пойти в мемкеш и взять данные по ключу "standard$uri". Если ключа нет, то лезть в приложение и отдавать данные оттуда, попутно поставив ключи в нужном виде. Альтернатива: создать ключи "non-premium$sid" и положить туда сессии простых пользователей. Но все равно, мне не надо отдавать данные, которые лежат по этому ключу, а нужно взять по-другому. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,27190,212805#msg-212805 From igor на sysoev.ru Fri Jul 22 13:26:51 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 22 Jul 2011 17:26:51 +0400 Subject: rewrite rul In-Reply-To: References: <20110721073029.GA22227@sysoev.ru> Message-ID: <20110722132651.GA55866@sysoev.ru> On Thu, Jul 21, 2011 at 05:11:18PM -0400, yokodzun wrote: > Igor Sysoev Wrote: > ------------------------------------------------------- > > > > В таком виде слетает > > мерозпакастный CSS. > > > > Как выглядит URL css и какая > > ошибка в error_log ? > > > URL > /public/themes/normal/print.css > /public/themes/normal/screen.css > /admin/themes/black_and_white/styles.css > /admin/stylesheets/toolbar.css И им соответсвуют /v/http/domain.tld/public/themes/normal/print.css и /v/http/domain.tld/public/admin/themes/black_and_white/styles.css ? > В логе ошибок нет. В error_log'е. -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Fri Jul 22 15:24:21 2011 From: nginx-forum на nginx.us (yokodzun) Date: Fri, 22 Jul 2011 11:24:21 -0400 Subject: rewrite rul In-Reply-To: <20110722132651.GA55866@sysoev.ru> References: <20110722132651.GA55866@sysoev.ru> Message-ID: <5d94ef81d14352ed4c45705e6c7f1cab.NginxMailingListRussian@forum.nginx.org> Igor Sysoev Wrote: > > И им соответсвуют > /v/http/domain.tld/public/themes/normal/print.css да, /vault/http/comapsystems.com.ua/public/themes/normal/print.css > и > /v/http/domain.tld/public/admin/themes/black_and_w > hite/styles.css /vault/http/comapsystems.com.ua/admin/themes/black_and_white/styles.css > > > В логе ошибок нет. > > В error_log'е. > да, я про него. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212699,212811#msg-212811 From igor на sysoev.ru Fri Jul 22 15:27:31 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 22 Jul 2011 19:27:31 +0400 Subject: rewrite rul In-Reply-To: <5d94ef81d14352ed4c45705e6c7f1cab.NginxMailingListRussian@forum.nginx.org> References: <20110722132651.GA55866@sysoev.ru> <5d94ef81d14352ed4c45705e6c7f1cab.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110722152731.GA58519@sysoev.ru> On Fri, Jul 22, 2011 at 11:24:21AM -0400, yokodzun wrote: > Igor Sysoev Wrote: > > > > > И им соответсвуют > > /v/http/domain.tld/public/themes/normal/print.css > > да, > > /vault/http/comapsystems.com.ua/public/themes/normal/print.css > > > и > > /v/http/domain.tld/public/admin/themes/black_and_w > > hite/styles.css > > /vault/http/comapsystems.com.ua/admin/themes/black_and_white/styles.css - server_name domain.tld + server_name domain.tld; root /v/http/domain.tld; -- Igor Sysoev From bazilek на gmail.com Fri Jul 22 18:06:31 2011 From: bazilek на gmail.com (Vasil Mikhalenya) Date: Fri, 22 Jul 2011 21:06:31 +0300 Subject: =?UTF-8?B?0YHQsdGA0LDRgdGL0LLQsNC10YLRgdGPINCy0YvQtNC10LvQtdC90LjQtSDQsiBM?= =?UTF-8?B?b2NhdGlvbg==?= Message-ID: Уважаемые, подскажите где описано данное поведение location ~ ^/node-([0-9])$ { rewrite ^ /status break; #rewrite сбрасывает выделение в $1, соответсвенно получаем unknown host при fastcgi fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_pass node-$1.local.worldoftanks.ru:9000; Помогает set перед реврайтом. Но интересно, где это задокументировано. Спасибо -- Best regards, Vasil Mikhalenya From mdounin на mdounin.ru Fri Jul 22 18:23:52 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 22 Jul 2011 22:23:52 +0400 Subject: =?UTF-8?B?UmU6INGB0LHRgNCw0YHRi9Cy0LDQtdGC0YHRjyDQstGL0LTQtdC70LXQvdC40LUg?= =?UTF-8?B?0LIgTG9jYXRpb24=?= In-Reply-To: References: Message-ID: <20110722182352.GP1137@mdounin.ru> Hello! On Fri, Jul 22, 2011 at 09:06:31PM +0300, Vasil Mikhalenya wrote: > Уважаемые, подскажите где описано данное поведение > > location ~ ^/node-([0-9])$ { > rewrite ^ /status break; #rewrite сбрасывает выделение в $1, > соответсвенно получаем unknown host при fastcgi Переменная $1 - это выделение из последнего выполявшегося регулярного выражения. Поскольку rewrite выполняет регулярное выражение ("^"), и в этом регулярном выражении нет сработавших выделений, то $1 будет пустым. > fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; > include fastcgi_params; > fastcgi_pass node-$1.local.worldoftanks.ru:9000; > > Помогает set перед реврайтом. Правильнее использовать именованные выделения: location ~ ^/node-(?[0-9])$ { ... fastcgi_pass node-${node}.local.worldoftanks.ru:9000; } > Но интересно, где это задокументировано. Явно - подозреваю, что нигде. Maxim Dounin From igor на sysoev.ru Fri Jul 22 18:25:55 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 22 Jul 2011 22:25:55 +0400 Subject: =?UTF-8?B?UmU6INGB0LHRgNCw0YHRi9Cy0LDQtdGC0YHRjyDQstGL0LTQtdC70LXQvdC40LUg?= =?UTF-8?B?0LIgTG9jYXRpb24=?= In-Reply-To: References: Message-ID: <20110722182555.GB61477@sysoev.ru> On Fri, Jul 22, 2011 at 09:06:31PM +0300, Vasil Mikhalenya wrote: > Уважаемые, подскажите где описано данное поведение > > location ~ ^/node-([0-9])$ { > rewrite ^ /status break; #rewrite сбрасывает выделение в $1, > соответсвенно получаем unknown host при fastcgi > fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; > include fastcgi_params; > fastcgi_pass node-$1.local.worldoftanks.ru:9000; > > Помогает set перед реврайтом. Но интересно, где это задокументировано. Пока нигде. Любое регулярное выражение сбрасывает предыдущие выделения. Но в данном случае rewrite не нужен: /status можно сразу указать в fastcgi_param: fastcgi_param SCRIPT_FILENAME $document_root/status; Кроме того, можно использовать именованное выделение: location ~ ^/node-(?[0-9])$ { fastcgi_pass node-$NODE.local.worldoftanks.ru:9000; Ну и наконец, если думать о масштабируемой конфигруации, то я бы сделал так: location /node- { location ~ ^/node-(?[0-9])$ { fastcgi_pass node-$NODE.local.worldoftanks.ru:9000; fastcgi_param SCRIPT_FILENAME $document_root/status; include fastcgi_params; } } -- Игорь Сысоев http://sysoev.ru From gmm на csdoc.com Fri Jul 22 18:26:27 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Fri, 22 Jul 2011 21:26:27 +0300 Subject: =?UTF-8?B?UmU6INGB0LHRgNCw0YHRi9Cy0LDQtdGC0YHRjyDQstGL0LTQtdC70LXQvdC40LUg?= =?UTF-8?B?0LIgTG9jYXRpb24=?= In-Reply-To: References: Message-ID: <4E29C0D3.3050007@csdoc.com> On 22.07.2011 21:06, Vasil Mikhalenya wrote: > где описано данное поведение > > location ~ ^/node-([0-9])$ { > rewrite ^ /status break; #rewrite сбрасывает выделение в $1, > соответсвенно получаем unknown host при fastcgi > fastcgi_pass node-$1.local.worldoftanks.ru:9000; > > Помогает set перед реврайтом. Но интересно, где это задокументировано. в http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#rewrite символ '^' - это regexp. в нем нет выделений, поэтому $1 сбрасывается. возможно так будет нормально работать: location ~ ^/node-(?[0-9])$ { rewrite ^ /status break; fastcgi_pass node-$nodenum.local.worldoftanks.ru:9000; ... -- Best regards, Gena From bazilek на gmail.com Fri Jul 22 18:32:56 2011 From: bazilek на gmail.com (Vasil Mikhalenya) Date: Fri, 22 Jul 2011 21:32:56 +0300 Subject: =?UTF-8?B?UmU6INGB0LHRgNCw0YHRi9Cy0LDQtdGC0YHRjyDQstGL0LTQtdC70LXQvdC40LUg?= =?UTF-8?B?0LIgTG9jYXRpb24=?= In-Reply-To: <4E29C0D3.3050007@csdoc.com> References: <4E29C0D3.3050007@csdoc.com> Message-ID: Всем огромное спасибо. -- Best regards, Vasil Mikhalenya From minisotm на gmail.com Sat Jul 23 05:57:19 2011 From: minisotm на gmail.com (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0JzQsNGB0LvQtdC90L3QuNC60L7Qsg==?=) Date: Sat, 23 Jul 2011 09:57:19 +0400 Subject: =?UTF-8?B?0YHQsdC+0YDQutCwIGMgd2l0aC1odHRwX2ltYWdlX2ZpbHRlcl9tb2R1bGU=?= Message-ID: Добрый всем. Не получается собрать с --with-http_image_filter_module Пишет нет: checking for GD library in /usr/local/ ... not found checking for GD library in /usr/pkg/ ... not found checking for GD library in /opt/local/ ... not found ./configure: error: the HTTP image filter module requires the GD library. You can either do not enable the module or install the libraries. Хотя GD есть $ whereis libgd.so.2.0.0 libgd.so.2.0: /usr/lib/libgd.so.2.0.0 /usr/lib64/libgd.so.2.0.0 Как победить ? _______________________ С Уважением, Алексей Масленников Jabber: minisotm на jabber.ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From igor на sysoev.ru Sat Jul 23 06:02:21 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Sat, 23 Jul 2011 10:02:21 +0400 Subject: =?UTF-8?B?UmU6INGB0LHQvtGA0LrQsCBjIHdpdGgtaHR0cF9pbWFnZV9maWx0ZXJfbW9kdWxl?= In-Reply-To: References: Message-ID: <20110723060221.GB73233@sysoev.ru> On Sat, Jul 23, 2011 at 09:57:19AM +0400, Алексей Масленников wrote: > Добрый всем. > > Не получается собрать с --with-http_image_filter_module > > Пишет нет: > > checking for GD library in /usr/local/ ... not found > checking for GD library in /usr/pkg/ ... not found > checking for GD library in /opt/local/ ... not found > > ./configure: error: the HTTP image filter module requires the GD library. > You can either do not enable the module or install the libraries. > > > Хотя GD есть > > $ whereis libgd.so.2.0.0 > libgd.so.2.0: /usr/lib/libgd.so.2.0.0 /usr/lib64/libgd.so.2.0.0 > > Как победить ? Скорее всего, поставить что-то вроде libgd-devel. -- Игорь Сысоев http://sysoev.ru From minisotm на gmail.com Sat Jul 23 07:22:34 2011 From: minisotm на gmail.com (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0JzQsNGB0LvQtdC90L3QuNC60L7Qsg==?=) Date: Sat, 23 Jul 2011 11:22:34 +0400 Subject: =?UTF-8?B?UmU6INGB0LHQvtGA0LrQsCBjIHdpdGgtaHR0cF9pbWFnZV9maWx0ZXJfbW9kdWxl?= In-Reply-To: <20110723060221.GB73233@sysoev.ru> References: <20110723060221.GB73233@sysoev.ru> Message-ID: Спасибо большое! помогло. _______________________________ С Уважением, Алексей Масленников Jabber: minisotm на jabber.ru 23 июля 2011 г. 10:02 пользователь Igor Sysoev написал: > On Sat, Jul 23, 2011 at 09:57:19AM +0400, Алексей Масленников wrote: > > Добрый всем. > > > > Не получается собрать с --with-http_image_filter_module > > > > Пишет нет: > > > > checking for GD library in /usr/local/ ... not found > > checking for GD library in /usr/pkg/ ... not found > > checking for GD library in /opt/local/ ... not found > > > > ./configure: error: the HTTP image filter module requires the GD library. > > You can either do not enable the module or install the libraries. > > > > > > Хотя GD есть > > > > $ whereis libgd.so.2.0.0 > > libgd.so.2.0: /usr/lib/libgd.so.2.0.0 /usr/lib64/libgd.so.2.0.0 > > > > Как победить ? > > Скорее всего, поставить что-то вроде libgd-devel. > > > -- > Игорь Сысоев > http://sysoev.ru > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From marck на rinet.ru Sat Jul 23 12:59:21 2011 From: marck на rinet.ru (Dmitry Morozovsky) Date: Sat, 23 Jul 2011 16:59:21 +0400 (MSD) Subject: =?UTF-8?B?UmU6INGB0LHQvtGA0LrQsCBjIHdpdGgtaHR0cF9pbWFnZV9maWx0ZXJfbW9kdWxl?= In-Reply-To: <20110723060221.GB73233@sysoev.ru> References: <20110723060221.GB73233@sysoev.ru> Message-ID: On Sat, 23 Jul 2011, Igor Sysoev wrote: > > Пишет нет: > > > > checking for GD library in /usr/local/ ... not found > > checking for GD library in /usr/pkg/ ... not found > > checking for GD library in /opt/local/ ... not found > > > > ./configure: error: the HTTP image filter module requires the GD library. > > You can either do not enable the module or install the libraries. может быть, чтоб меньше было вопросов, писать что-то вроде s/library /library headers / s/the libraries/the libraries with headers (ususally both lib and lib-devel packages)/ ? -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck на FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck на rinet.ru *** ------------------------------------------------------------------------ From swood на fotofor.biz Sat Jul 23 13:34:53 2011 From: swood на fotofor.biz (Anton Kiryushkin) Date: Sat, 23 Jul 2011 17:34:53 +0400 Subject: =?UTF-8?B?UmU6INGB0LHQvtGA0LrQsCBjIHdpdGgtaHR0cF9pbWFnZV9maWx0ZXJfbW9kdWxl?= In-Reply-To: References: <20110723060221.GB73233@sysoev.ru> Message-ID: В некоторых дистрибутивах работает панель управления DirectAdmin, которая для сборки прописывает путь /usr/local. Nginx при этом не ищет по этому пути. Возможно этот путь стоит так же добавить для поиска заголовочных файлов. Тогда и проблем и вопросов будет точно меньше. 23 июля 2011 г. 16:59 пользователь Dmitry Morozovsky написал: > On Sat, 23 Jul 2011, Igor Sysoev wrote: > >> > Пишет нет: >> > >> > checking for GD library in /usr/local/ ... not found >> > checking for GD library in /usr/pkg/ ... not found >> > checking for GD library in /opt/local/ ... not found >> > >> > ./configure: error: the HTTP image filter module requires the GD library. >> > You can either do not enable the module or install the libraries. > > может быть, чтоб меньше было вопросов, писать что-то вроде > > s/library /library headers / > s/the libraries/the libraries with headers (ususally both lib and lib-devel > packages)/ > > ? > > -- > Sincerely, > D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN] > [ FreeBSD committer:                                 marck на FreeBSD.org ] > ------------------------------------------------------------------------ > *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck на rinet.ru *** > ------------------------------------------------------------------------ > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Anton Kiryushkin, From gmm на csdoc.com Sat Jul 23 14:38:16 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sat, 23 Jul 2011 17:38:16 +0300 Subject: =?UTF-8?B?ItCy0LvQvtC20LXQvdC90YvQtSBsb2NhdGlvbifRiyAtINGN0YLQviDQvdCw0Yg=?= =?UTF-8?B?0LUg0LLRgdGRIg==?= Message-ID: <4E2ADCD8.10707@csdoc.com> On 23.07.2011 10:18, Igor Sysoev wrote: > location /index.php { > > location = /index.php { > fastcgi_pass ... > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > fastcgi_param QUERY_STRING $args; > } > > location ~ ^/index.php(/.*)$ { > fastcgi_pass ... > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > fastcgi_param QUERY_STRING do=$1; > } > > return 404; > } учитывая, что "вложенные location'ы - это наше всё" (с) Igor Sysoev (полная копия сообщения - http://www.lexa.ru/nginx-ru/msg34286.html) в связи с этим вопрос: вышеприведенный фрагмент конфига наверное можно переписать и более эффективным способом? location /index.php { location = /index.php { fastcgi_pass ... include fastcgi_params; fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; fastcgi_param QUERY_STRING $args; } fastcgi_pass ... include fastcgi_params; fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; fastcgi_param QUERY_STRING do=$1; } ведь каждый запрос всегда обрабатывается в одном и только в одном location`е, и если он уже попал в /index.php - то дальше есть всего два варианта - или он точно равен /index.php или нет. -- Best regards, Gena From voron на amhost.net Sat Jul 23 15:03:07 2011 From: voron на amhost.net (Alex Vorona) Date: Sat, 23 Jul 2011 18:03:07 +0300 Subject: =?UTF-8?B?UmU6ICLQstC70L7QttC10L3QvdGL0LUgbG9jYXRpb24n0YsgLSDRjdGC0L4g0L0=?= =?UTF-8?B?0LDRiNC1INCy0YHRkSI=?= In-Reply-To: <4E2ADCD8.10707@csdoc.com> References: <4E2ADCD8.10707@csdoc.com> Message-ID: <4E2AE2AB.2070703@amhost.net> 23.07.2011 17:38, Gena Makhomed wrote: [...] > location /index.php { > > location = /index.php { > fastcgi_pass ... > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > fastcgi_param QUERY_STRING $args; > } > > fastcgi_pass ... > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > fastcgi_param QUERY_STRING do=$1; > } > > ведь каждый запрос всегда обрабатывается в одном и только в одном > location`е, и если он уже попал в /index.php - то дальше есть > всего два варианта - или он точно равен /index.php или нет. > Или он равен /index.php4 или /index.php5 или /index.php.html http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location Если совпадение с регулярным выражением не найдено, то используется конфигурация максимально совпавшего location'а. From igor на sysoev.ru Sat Jul 23 15:07:47 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Sat, 23 Jul 2011 19:07:47 +0400 Subject: =?UTF-8?B?UmU6ICLQstC70L7QttC10L3QvdGL0LUgbG9jYXRpb24n0YsgLSDRjdGC0L4g0L0=?= =?UTF-8?B?0LDRiNC1INCy0YHRkSI=?= In-Reply-To: <4E2ADCD8.10707@csdoc.com> References: <4E2ADCD8.10707@csdoc.com> Message-ID: <20110723150747.GA81458@sysoev.ru> On Sat, Jul 23, 2011 at 05:38:16PM +0300, Gena Makhomed wrote: > On 23.07.2011 10:18, Igor Sysoev wrote: > > > location /index.php { > > > > location = /index.php { > > fastcgi_pass ... > > include fastcgi_params; > > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > > fastcgi_param QUERY_STRING $args; > > } > > > > location ~ ^/index.php(/.*)$ { > > fastcgi_pass ... > > include fastcgi_params; > > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > > fastcgi_param QUERY_STRING do=$1; > > } > > > > return 404; > > } > > учитывая, что "вложенные location'ы - это наше всё" (с) Igor Sysoev > (полная копия сообщения - http://www.lexa.ru/nginx-ru/msg34286.html) > > в связи с этим вопрос: вышеприведенный фрагмент конфига > наверное можно переписать и более эффективным способом? > > location /index.php { > > location = /index.php { > fastcgi_pass ... > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > fastcgi_param QUERY_STRING $args; > } > > fastcgi_pass ... > include fastcgi_params; > fastcgi_param SCRIPT_FILENAME /path/to/files/index.php; > fastcgi_param QUERY_STRING do=$1; > } > > ведь каждый запрос всегда обрабатывается в одном и только в одном > location`е, и если он уже попал в /index.php - то дальше есть > всего два варианта - или он точно равен /index.php или нет. Нет, location ~ ^/index.php(/.*)$ { вытаскивает значение для QUERY_STRING. -- Igor Sysoev From igor на sysoev.ru Sat Jul 23 15:12:31 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Sat, 23 Jul 2011 19:12:31 +0400 Subject: =?UTF-8?B?UmU6INGB0LHQvtGA0LrQsCBjIHdpdGgtaHR0cF9pbWFnZV9maWx0ZXJfbW9kdWxl?= In-Reply-To: References: <20110723060221.GB73233@sysoev.ru> Message-ID: <20110723151231.GB81458@sysoev.ru> On Sat, Jul 23, 2011 at 05:34:53PM +0400, Anton Kiryushkin wrote: > В некоторых дистрибутивах работает панель управления DirectAdmin, > которая для сборки прописывает путь /usr/local. Nginx при этом не ищет > по этому пути. Возможно этот путь стоит так же добавить для поиска > заголовочных файлов. Тогда и проблем и вопросов будет точно меньше. checking for GD library in /usr/local/ ... not found проверяет пакет, установленный в /usr/local/include, a /usr/local/lib. Это вариант, используемый во FreeBSD. > 23 июля 2011 г. 16:59 пользователь Dmitry Morozovsky написал: > > On Sat, 23 Jul 2011, Igor Sysoev wrote: > > > >> > Пишет нет: > >> > > >> > checking for GD library in /usr/local/ ... not found > >> > checking for GD library in /usr/pkg/ ... not found > >> > checking for GD library in /opt/local/ ... not found > >> > > >> > ./configure: error: the HTTP image filter module requires the GD library. > >> > You can either do not enable the module or install the libraries. > > > > может быть, чтоб меньше было вопросов, писать что-то вроде > > > > s/library /library headers / > > s/the libraries/the libraries with headers (ususally both lib and lib-devel > > packages)/ > > > > ? -- Igor Sysoev From gmm на csdoc.com Sat Jul 23 16:24:11 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sat, 23 Jul 2011 19:24:11 +0300 Subject: use In-Reply-To: <4E143157.2090001@csdoc.com> References: <4E143157.2090001@csdoc.com> Message-ID: <4E2AF5AB.7070901@csdoc.com> On 06.07.2011 12:56, Gena Makhomed wrote: > предложение по дальнейшему развитию/улучшению nginx. > Игорь, хотелось бы узнать Ваше мнение по этому вопросу. вот дополнение к тому первому, моему оригинальному сообщению: -------- Original Message -------- Subject: use Date: Sat, 23 Jul 2011 19:17:08 +0300 From: Gena Makhomed To: nginx-devel на nginx.org On 23.07.2011 17:42, Ant?nio P. P. Almeida wrote: >> Igor, likely nginx now need something like httpd mod_macro >> to eliminate multiple duplicates of small config fragments > I followed the discussion on the russian ML. Yes something like your > use suggestion would be great. that my message in russian ML: http://www.lexa.ru/nginx-ru/msg41221.html in that proposal I make one mistake: "local" site config files also includes in main nginx.conf config via include directive, for example include /etc/nginx/virtual/*.conf; and all blocks will have global scope after this include in nginx.conf now I can see only three solutions: 1. make two include-like directives, for example, 'include' and 'require' - one inherit blocks/macros from included files and one - not inherit. 2. make two block/macro-like directives, one with strict scope to one local config file and one - with scope extendible by include. 3. allow silently overwrite prevous defined macros (DANGEROUS) I think the best way for solution is two include-like directives: 'include' directive - leave intact, and new 'require' directive - do not import any block/macro definitions from included files. in this case - all 'global' include-files with block/macro definitions will be included in 'local' site configuration files via dumb include directive, and all 'local' site config files will be included in main nginx.conf via require directive: require /etc/nginx/virtual/*.conf; in this case - any 'local' site config file can have its own blocks/macros with same names, as in other 'local' site config files, and all errors with accidental macro redefinitions will be easy detected at phrase of nginx config parsing. and my original proposal also add to nginx third variant of include-like directive: 'use' - for block/macro substitution, like in mod_macro - http://www.cri.ensmp.fr/~coelho/mod_macro/ ================================================================ also httpd mod_macro is feature-rich - it have macro arguments. same feature can be implemented also for nginx. for example: define macro_name {...} - macro without arguments define macro_name( ARG1, ARG2, ARG3, ... ) {...} - macro with arguments 'define' - new nginx keyword instead of 'block' (as in original message) this is something like well known C-preprocessor #define directive. because nginx have C-like syntax, not html-like, as apache one. ================================================================ for now - this is my current version of proposal for three new nginx directives: define / use / require happen what 1/2 text of my proposal - in russian language, and 1/2 - in english language (probably with many errors). -- Best regards, Gena From nginx-forum на nginx.us Sun Jul 24 11:20:59 2011 From: nginx-forum на nginx.us (somebi) Date: Sun, 24 Jul 2011 07:20:59 -0400 Subject: =?UTF-8?B?0KDQtdCz0YPQu9GP0YDQutCwINC40LPQvdC+0YDQuNGA0YPQtdGCIEdFVCDQv9Cw?= =?UTF-8?B?0YDQsNC80LXRgtGA0Ysg0LIgTG9jYXRpb24g0LHQu9C+0LrQtQ==?= Message-ID: Собственно хотел сделать так: location ~* ^\/ru\/videos/?$ { ... } Но GET запросы игнорируются и получается nginx направляет и запросы типа .../ru/videos?foo=bar&... в вышеуказанный location блок. Можно ли как-то указать, чтобы GET параметры тоже учитывались при прогоне через регулярное выражение, так как $ на это не влияет в данном случае? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212887,212887#msg-212887 From onokonem на gmail.com Sun Jul 24 11:49:25 2011 From: onokonem на gmail.com (Daniel Podolsky) Date: Sun, 24 Jul 2011 15:49:25 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQsCDQuNCz0L3QvtGA0LjRgNGD0LXRgiBHRVQg?= =?UTF-8?B?0L/QsNGA0LDQvNC10YLRgNGLINCyIExvY2F0aW9uINCx0LvQvtC60LU=?= In-Reply-To: References: Message-ID: 2011/7/24 somebi : > Но GET запросы игнорируются и получается > nginx направляет и запросы типа > .../ru/videos?foo=bar&... в вышеуказанный location > блок. Да, игнорируются. Не GET-запросы, а параметры GET-запросов. прийдется вам анализировать параметры через переменные, и играть с if и return From nginx-forum на nginx.us Sun Jul 24 12:16:30 2011 From: nginx-forum на nginx.us (somebi) Date: Sun, 24 Jul 2011 08:16:30 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQsCDQuNCz0L3QvtGA0LjRgNGD0LXRgiBHRVQg?= =?UTF-8?B?0L/QsNGA0LDQvNC10YLRgNGLINCyIExvY2F0aW9uINCx0LvQvtC60LU=?= In-Reply-To: References: Message-ID: Daniel Podolsky Wrote: ------------------------------------------------------- > 2011/7/24 somebi : > > Но GET запросы игнорируются > и получается > > nginx направляет и запросы > типа > > .../ru/videos?foo=bar&... в > вышеуказанный location > > блок. > Да, игнорируются. Не > GET-запросы, а параметры > GET-запросов. > > прийдется вам > анализировать параметры > через переменные, и играть > с if и return > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Я попробовал создать if блок внутри указанного выше location блока, но анализатор конфига выдал, что не знает такой директивы. if($is_args=="") {...} Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212887,212889#msg-212889 From nginx-forum на nginx.us Sun Jul 24 12:17:48 2011 From: nginx-forum на nginx.us (somebi) Date: Sun, 24 Jul 2011 08:17:48 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQsCDQuNCz0L3QvtGA0LjRgNGD0LXRgiBHRVQg?= =?UTF-8?B?0L/QsNGA0LDQvNC10YLRgNGLINCyIExvY2F0aW9uINCx0LvQvtC60LU=?= In-Reply-To: References: Message-ID: <791a54d9527d9eb3c5742d51a7bd70a6.NginxMailingListRussian@forum.nginx.org> # /usr/local/nginx/sbin/nginx -V nginx: nginx version: nginx/1.0.2 nginx: built by gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4) nginx: configure arguments: # Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212887,212890#msg-212890 From ne на vbart.ru Sun Jul 24 13:35:17 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sun, 24 Jul 2011 17:35:17 +0400 Subject: =?UTF-8?B?UmU6ICDQoNC10LPRg9C70Y/RgNC60LAg0LjQs9C90L7RgNC40YDRg9C10YIgR0VU?= =?UTF-8?B?INC/0LDRgNCw0LzQtdGC0YDRiyDQsiBMb2NhdGlvbiDQsdC70L7QutC1?= In-Reply-To: References: Message-ID: <201107241735.17958.ne@vbart.ru> On Sunday 24 July 2011 16:16:30 somebi wrote: > Я попробовал создать if блок внутри > указанного выше location блока, но > анализатор конфига выдал, что не знает > такой директивы. > > if($is_args=="") {...} А еще полезно читать документацию: http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if Где вы там оператор == нашли? Вам видимо нужно: if($is_args = "") {...} или, обратное условие: if($is_args) {...} -- Валентин Бартенев http://vbart.ru/ From gmm на csdoc.com Sun Jul 24 13:41:50 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sun, 24 Jul 2011 16:41:50 +0300 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQsCDQuNCz0L3QvtGA0LjRgNGD0LXRgiBHRVQg?= =?UTF-8?B?0L/QsNGA0LDQvNC10YLRgNGLINCyIExvY2F0aW9uINCx0LvQvtC60LU=?= In-Reply-To: <201107241735.17958.ne@vbart.ru> References: <201107241735.17958.ne@vbart.ru> Message-ID: <4E2C211E.1040704@csdoc.com> On 24.07.2011 16:35, Валентин Бартенев wrote: >> if($is_args=="") {...} > А еще полезно читать документацию: > http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if > > Где вы там оператор == нашли? конфиг у nginx C-like, оператор if выглядит точно так же... P.S. И всё таки, как же бывает обманчива природа, думал ёжик слезая с кактуса. -- Best regards, Gena From ne на vbart.ru Sun Jul 24 13:46:10 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sun, 24 Jul 2011 17:46:10 +0400 Subject: =?UTF-8?B?UmU6ICDQoNC10LPRg9C70Y/RgNC60LAg0LjQs9C90L7RgNC40YDRg9C10YIgR0VU?= =?UTF-8?B?INC/0LDRgNCw0LzQtdGC0YDRiyDQsiBMb2NhdGlvbiDQsdC70L7QutC1?= In-Reply-To: <201107241735.17958.ne@vbart.ru> References: <201107241735.17958.ne@vbart.ru> Message-ID: <201107241746.10921.ne@vbart.ru> On Sunday 24 July 2011 17:35:17 Валентин Бартенев wrote: > On Sunday 24 July 2011 16:16:30 somebi wrote: > > Я попробовал создать if блок внутри > > указанного выше location блока, но > > анализатор конфига выдал, что не знает > > такой директивы. > > > > if($is_args=="") {...} > > А еще полезно читать документацию: > http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if > > Где вы там оператор == нашли? > > Вам видимо нужно: > if($is_args = "") {...} > или, обратное условие: > if($is_args) {...} Причем, пробелы то не забываем ставить после директивы: if ($is_args = "") {...} if ($is_args) {...} то я с вашего дурного примера с ошибкой в свое сообщение скопировал. -- Валентин Бартенев http://vbart.ru/ From gmm на csdoc.com Sun Jul 24 13:56:25 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sun, 24 Jul 2011 16:56:25 +0300 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQsCDQuNCz0L3QvtGA0LjRgNGD0LXRgiBHRVQg?= =?UTF-8?B?0L/QsNGA0LDQvNC10YLRgNGLINCyIExvY2F0aW9uINCx0LvQvtC60LU=?= In-Reply-To: <201107241746.10921.ne@vbart.ru> References: <201107241735.17958.ne@vbart.ru> <201107241746.10921.ne@vbart.ru> Message-ID: <4E2C2489.20808@csdoc.com> On 24.07.2011 16:46, Валентин Бартенев wrote: >> Вам видимо нужно: >> if($is_args = "") {...} >> или, обратное условие: >> if($is_args) {...} > Причем, пробелы то не забываем ставить после директивы: > if ($is_args = "") {...} > if ($is_args) {...} > то я с вашего дурного примера с ошибкой в свое сообщение скопировал. есть два стиля записи условий: if( условие ) if (условие) в языке C - допустимы оба, в конфиге nginx - возможен только второй. это еще одна несовместимость с синтаксисом С без реальных на то причин. ничего ведь не сломается, если в nginx разрешить писать if( условие ) ? -- Best regards, Gena From ne на vbart.ru Sun Jul 24 13:58:55 2011 From: ne на vbart.ru (=?koi8-r?b?98HMxc7Uyc4g4sHS1MXOxdc=?=) Date: Sun, 24 Jul 2011 17:58:55 +0400 Subject: =?UTF-8?B?UmU6ICDQoNC10LPRg9C70Y/RgNC60LAg0LjQs9C90L7RgNC40YDRg9C10YIgR0VU?= =?UTF-8?B?INC/0LDRgNCw0LzQtdGC0YDRiyDQsiBMb2NhdGlvbiDQsdC70L7QutC1?= In-Reply-To: <4E2C211E.1040704@csdoc.com> References: <201107241735.17958.ne@vbart.ru> <4E2C211E.1040704@csdoc.com> Message-ID: <201107241758.55777.ne@vbart.ru> On Sunday 24 July 2011 17:41:50 Gena Makhomed wrote: > конфиг у nginx C-like, оператор if выглядит точно так же... Кроме фигурных скобок и точек с запятой, больше никаких сходств с C нет. -- Валентин Бартенев http://vbart.ru/ From zcrendel на gmail.com Sun Jul 24 19:21:13 2011 From: zcrendel на gmail.com (Grigory A. Mozhaev) Date: Sun, 24 Jul 2011 23:21:13 +0400 Subject: nginx-1.0.5 In-Reply-To: <20110719144245.GE29692@sysoev.ru> References: <20110719144245.GE29692@sysoev.ru> Message-ID: <201107242321.13313.zcrendel@gmail.com> Спасибо за новые версии! >     *) Исправление: при использовании кэширования в рабочем процессе мог >        произойти segmentation fault. >        Спасибо Lanshun Zhou. > >     *) Исправление: при использовании кэширования рабочие процессы могли >        зациклиться во время переконфигурации; ошибка появилась в 0.8.48. >        Спасибо Максиму Дунину. Хотел бы уточнить вопрос, почему данное исправление (в отличие от исправления выше) не вошло в 0.8.55, там эта ошибка отсутствует? -- С уважением, Можаев Григорий From nginx-forum на nginx.us Mon Jul 25 07:22:07 2011 From: nginx-forum на nginx.us (yokodzun) Date: Mon, 25 Jul 2011 03:22:07 -0400 Subject: rewrite rul In-Reply-To: <20110722152731.GA58519@sysoev.ru> References: <20110722152731.GA58519@sysoev.ru> Message-ID: Igor Sysoev Wrote: ------------------------------------------------------- > > root /v/http/domain.tld; > Спасибо, это решило проблему! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212699,212911#msg-212911 From jt на aaanet.ru Mon Jul 25 14:25:09 2011 From: jt на aaanet.ru (=?utf-8?B?0JXQstCz0LXQvdC40Lkg0KLQvtGA0L7Qv9C+0LI=?=) Date: Mon, 25 Jul 2011 18:25:09 +0400 Subject: large_client_header_buffers In-Reply-To: <56D6D786-FFE5-432F-AB56-DB818D5F73F4@aaanet.ru> References: <56D6D786-FFE5-432F-AB56-DB818D5F73F4@aaanet.ru> Message-ID: <7E377257-6871-436A-A926-9207A99758B6@aaanet.ru> On Jul 22, 2011, at 2:04 PM, Евгений Торопов wrote: > Добрый день. > > В описании директивы large_client_header_buffers указано "По умолчанию размер одного буфера равен размеру страницы, в зависимости от платформы это или 4K, или 8K". В моем случае некоторые запросы к XML API могут превышать 8k. Таких запросов очень мало, но они есть, и их надо обслуживать (с чем согласен даже RFC 2616 - http://www.ietf.org/rfc/rfc2616.txt - "...Servers MUST be able to handle the URI of any resource they serve...". Да и нам самим удобнее видеть в логе все параметры запроса. > > Чем грозит увеличение этих буферов, к примеру, до 64k? Есть ли какие-то рекоммендации на макс. значение этого параметра для конкретной машины? > > Евгений > jt на aaanet.ru > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Пробую задать свои вопросы еще раз. Евгений jt на aaanet.ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From mdounin на mdounin.ru Mon Jul 25 15:01:51 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 25 Jul 2011 19:01:51 +0400 Subject: large_client_header_buffers In-Reply-To: <7E377257-6871-436A-A926-9207A99758B6@aaanet.ru> References: <56D6D786-FFE5-432F-AB56-DB818D5F73F4@aaanet.ru> <7E377257-6871-436A-A926-9207A99758B6@aaanet.ru> Message-ID: <20110725150151.GW1137@mdounin.ru> Hello! On Mon, Jul 25, 2011 at 06:25:09PM +0400, Евгений Торопов wrote: > On Jul 22, 2011, at 2:04 PM, Евгений Торопов wrote: > > > Добрый день. > > > > В описании директивы large_client_header_buffers указано "По > > умолчанию размер одного буфера равен размеру страницы, в > > зависимости от платформы это или 4K, или 8K". В моем случае Just a side note: документация устарела, начиная с 0.8.30 на всех платформах 4 буфера по 8k. > > некоторые запросы к XML API могут превышать 8k. Таких запросов Всмысле URI длиннее 8k? К размеру всего запроса эта директива отношения не имеет. Размер одного буфера ограничивает максимальную длину одного заголовка запроса и длину URI. > > очень мало, но они есть, и их надо обслуживать (с чем согласен > > даже RFC 2616 - http://www.ietf.org/rfc/rfc2616.txt - > > "...Servers MUST be able to handle the URI of any resource > > they serve...". Да и нам самим удобнее видеть в логе все > > параметры запроса. > > > > Чем грозит увеличение этих буферов, к примеру, до 64k? Есть ли > > какие-то рекоммендации на макс. значение этого параметра для > > конкретной машины? [...] > Пробую задать свои вопросы еще раз. Увеличить - можно, из результатов - памяти будет есть больше (если large_client_header_buffers используются, т.е. запрос не влез в client_header_buffer_size). Реальные ограничения многих браузеров (читай: IE) на длину URI - по прежнему 2k, так что в общем случае тюнинг под длину URI малоактуален. Может иметь смысл тюнинг под размеры/количество кук, но это уже определяется работой конкретных приложений. Maxim Dounin From nginx-forum на nginx.us Mon Jul 25 15:14:00 2011 From: nginx-forum на nginx.us (xganet) Date: Mon, 25 Jul 2011 11:14:00 -0400 Subject: =?UTF-8?B?0J3QtSDRgNCw0LHQvtGC0LDQtdGCICBsaW1pdCBjb25u?= Message-ID: <05a53fa87e28f619ba2ae0cdf7d83a5b.NginxMailingListRussian@forum.nginx.org> Не работает limit_conn при f5 сервер падает Bad Gateway 502 , пример конфига: http { limit_zone one $binary_remote_addr 10m; ... server { ... limit_conn one 25; location /download/ { ... } limit_req_zone работает, от f5 спасает, но от флуда не спасает, 1000-2000 коннектов с одного ip проходят и сервер в аут (( Или бесполезно это для nginx? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212919,212919#msg-212919 From jt на aaanet.ru Mon Jul 25 15:37:40 2011 From: jt на aaanet.ru (=?utf-8?B?0JXQstCz0LXQvdC40Lkg0KLQvtGA0L7Qv9C+0LI=?=) Date: Mon, 25 Jul 2011 19:37:40 +0400 Subject: large_client_header_buffers In-Reply-To: <20110725150151.GW1137@mdounin.ru> References: <56D6D786-FFE5-432F-AB56-DB818D5F73F4@aaanet.ru> <7E377257-6871-436A-A926-9207A99758B6@aaanet.ru> <20110725150151.GW1137@mdounin.ru> Message-ID: On Jul 25, 2011, at 7:01 PM, Maxim Dounin wrote: > Hello! > > On Mon, Jul 25, 2011 at 06:25:09PM +0400, Евгений Торопов wrote: > >> On Jul 22, 2011, at 2:04 PM, Евгений Торопов wrote: >> >>> Добрый день. >>> >>> В описании директивы large_client_header_buffers указано "По >>> умолчанию размер одного буфера равен размеру страницы, в >>> зависимости от платформы это или 4K, или 8K". В моем случае > > Just a side note: документация устарела, начиная с 0.8.30 на всех > платформах 4 буфера по 8k. > >>> некоторые запросы к XML API могут превышать 8k. Таких запросов > > Всмысле URI длиннее 8k? Да > К размеру всего запроса эта директива > отношения не имеет. Размер одного буфера ограничивает > максимальную длину одного заголовка запроса и длину URI. > >>> очень мало, но они есть, и их надо обслуживать (с чем согласен >>> даже RFC 2616 - http://www.ietf.org/rfc/rfc2616.txt - >>> "...Servers MUST be able to handle the URI of any resource >>> they serve...". Да и нам самим удобнее видеть в логе все >>> параметры запроса. >>> >>> Чем грозит увеличение этих буферов, к примеру, до 64k? Есть ли >>> какие-то рекоммендации на макс. значение этого параметра для >>> конкретной машины? > > [...] > >> Пробую задать свои вопросы еще раз. > > Увеличить - можно, из результатов - памяти будет есть больше (если > large_client_header_buffers используются, т.е. запрос не влез в > client_header_buffer_size). > > Реальные ограничения многих браузеров (читай: IE) на длину URI - > по прежнему 2k, так что в общем случае тюнинг под длину URI > малоактуален. Может иметь смысл тюнинг под размеры/количество > кук, но это уже определяется работой конкретных приложений. Браузеры как раз не интересуют, API пользуют в основном роботы. Спасибо за подробный ответ. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Евгений jt на aaanet.ru From mdounin на mdounin.ru Mon Jul 25 17:40:17 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 25 Jul 2011 21:40:17 +0400 Subject: =?UTF-8?B?UmU6INCd0LUg0YDQsNCx0L7RgtCw0LXRgiBsaW1pdCBjb25u?= In-Reply-To: <05a53fa87e28f619ba2ae0cdf7d83a5b.NginxMailingListRussian@forum.nginx.org> References: <05a53fa87e28f619ba2ae0cdf7d83a5b.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110725174017.GX1137@mdounin.ru> Hello! On Mon, Jul 25, 2011 at 11:14:00AM -0400, xganet wrote: > Не работает limit_conn при f5 сервер падает > Bad Gateway 502 , пример конфига: Директива limit_conn позволяет ограничить количество одновременно соединений с выполняющимися в них запросами, e.g. запретить скачивание большого количества файлов одновременно. При нажатии в браузере кнопки F5 - соединение будет приблизительно одно, т.е. limit_conn'у делать будет нечего. А вот во что у вас превратится бекенд от подобной нагрузки - вопрос отдельный, и судя по всему он у вас превращается в тыкву. Что в общем-то не удивительно - запрос получен, бекенд пошёл работать, и обычно код на бекенде даже не пытается узнать, было ли соединение закрыто. Можно пытаться использовать proxy_ignore_client_abort (в этом случае nginx будет ждать ответа бекенда даже если клиент закрыл соединение, и limit_conn будет лучше отражать реальность с точки зрения бекенда). Но правильнее и эффективнее защищаться от F5 с помощью limit_req. > http { > limit_zone one $binary_remote_addr 10m; > ... > server { > ... > limit_conn one 25; > > location /download/ { > ... > } > > > limit_req_zone работает, от f5 спасает, но от > флуда не спасает, 1000-2000 коннектов с > одного ip проходят и сервер в аут (( Совмещайте. limit_req для защиты бекендов от нагрузки, limit_conn для защиты от любителей качать много одновременно, accept-фильтры и/или firewall - для защиты от атак типа slowloris. Ну и про правильную настройку системы и nginx'а забывать не стоит. Работать с worker_connections 1024 - можно, но не нужно; nginx без проблем держит десятки тысяч соединений на одной машине, достаточно его об этом попросить и систему соответствующим образом настроить (читай: лимиты на количество файлов/сокетов поднять). Maxim Dounin From nginx-forum на nginx.us Tue Jul 26 03:49:26 2011 From: nginx-forum на nginx.us (rimeko) Date: Mon, 25 Jul 2011 23:49:26 -0400 Subject: =?UTF-8?B?U1NJINC+0LHRgNCw0LHQvtGC0LrQsCDQvtGI0LjQsdC+0Log0L/QvtC00LfQsNC/?= =?UTF-8?B?0YDQvtGB0L7Qsg==?= Message-ID: <5a6817ad05ba52917d63bf45f9e2f74d.NginxMailingListRussian@forum.nginx.org> Здравствуйте. Как сделать, чтобы ssi выдавал ошибку 404 на весь запрос, когда бакенд возвратил 404 на подзапрос? Сейчас соответствующий блок просто не выводится. Теперь подробности. Сделано так: ssi_types text/xml; location /ssi/ { fastcgi_pass unix:/var/run/fcgiperl/fcgiperl.sock; include fastcgi_params; fastcgi_cache off; } location ~ ^(.*)/index\.xtpl$ { types { text/xml xtpl; } ssi on; } Проверяю: $ wget http://localhost/ssi/err Распознаётся localhost... 127.0.0.1 Устанавливается соединение с localhost|127.0.0.1|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 404 Not Found 2011-07-24 14:19:55 ОШИБКА 404: Not Found. В логе: 127.0.0.1 - - [skip] "GET /ssi/err HTTP/1.0" 404 103 "-" "Wget/1.12 (linux-gnu)" "-" Не вдаваясь в подробности, бакенд просто возвращает на любой запрос: Status: 404 Not Found Делаю темплейт /index.xtpl "> $ wget http://localhost/index.xtpl Распознаётся localhost... 127.0.0.1 Устанавливается соединение с localhost|127.0.0.1|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 200 OK Длина: нет информации [text/xml] Saving to: ?index.xtpl? Получаю index.xtpl от сервера: /index.xtpl /index.xtpl А хочу получить ошибку 404. В логах вижу: 127.0.0.1 - - [skip] "GET /index.xtpl HTTP/1.0" 404 0 "-" "Wget/1.12 (linux-gnu)" "-" 127.0.0.1 - - [skip] "GET /index.xtpl HTTP/1.0" 200 304 "-" "Wget/1.12 (linux-gnu)" "-" Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212933,212933#msg-212933 From mdounin на mdounin.ru Tue Jul 26 05:47:15 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 26 Jul 2011 09:47:15 +0400 Subject: =?UTF-8?B?UmU6IFNTSSDQvtCx0YDQsNCx0L7RgtC60LAg0L7RiNC40LHQvtC6INC/0L7QtNC3?= =?UTF-8?B?0LDQv9GA0L7RgdC+0LI=?= In-Reply-To: <5a6817ad05ba52917d63bf45f9e2f74d.NginxMailingListRussian@forum.nginx.org> References: <5a6817ad05ba52917d63bf45f9e2f74d.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110726054715.GZ1137@mdounin.ru> Hello! On Mon, Jul 25, 2011 at 11:49:26PM -0400, rimeko wrote: > Как сделать, чтобы ssi выдавал ошибку 404 > на весь запрос, когда бакенд возвратил > 404 на подзапрос? > Сейчас соответствующий блок просто не > выводится. Никак. К тому моменту, как ssi начинает парсить тело и узнаёт, что вообще нужно сделать подзапрос, - заголовки ответа уже отправлены клиенту. Maxim Dounin From nginx-forum на nginx.us Tue Jul 26 21:24:47 2011 From: nginx-forum на nginx.us (ast) Date: Tue, 26 Jul 2011 17:24:47 -0400 Subject: nginx+php5-fpm = 404 Message-ID: <1c797cce661365f46e819325bf6ed25d.NginxMailingListRussian@forum.nginx.org> Hello. Понадобилось мне добавить поддержку php в nginx. Поставил php5-fpm и сопутсвующие пакеты. Конфиг nginx: server { listen 80; server_name gr.com; charset utf-8; location / { root /var/www/test; index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/test$fastcgi_script_name; include fastcgi_params; include /etc/nginx/fastcgi_params; } } netstat -nat | grep 9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN В ответ получаю следующее(заодно версии): curl -i gr.com HTTP/1.1 404 Not Found Server: nginx/0.8.54 Date: Tue, 26 Jul 2011 20:48:50 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive X-Powered-By: PHP/5.3.6-6~dotdeb.1 Подскажите советом, или хотя бы чем продебажить что здесь не так. Спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212964,212964#msg-212964 From nginx-forum на nginx.us Wed Jul 27 02:30:49 2011 From: nginx-forum на nginx.us (debugger87) Date: Tue, 26 Jul 2011 22:30:49 -0400 Subject: how to configure multiple virtual server on nginx? Message-ID: Hi,all Pardon please,I'm not an russian native speaker.So,I write my mail post in english. I have 4 IP address on my ubuntu server computer.For the convenience to ditinguish them ,I name them as IP-1,IP-2,IP-3 and IP-4. Now,I configure 3 virtual servers on nginx.The key content of configuration is following. #upstream upstream my_upstream{ server IP-3:8080; server IP-4:8080; } #the first server server { listen IP-1:80; location / { index index.php; root /usr/share/nginx/www; } location ~.*\.(php|php5)$ { root /usr/share/nginx/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } } #the second server server { listen IP-2:80; location / { index index.php; root /usr/share/nginx/www; } location ~.*\.(php|php5)$ { root /usr/share/nginx/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } } #the third server server { listen IP-3:80; location / { proxy_pass http://my_upstream; } location ~.*\.(php|php5)$ { root /usr/share/nginx/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } } ######################################################## In my opinion,those 3 virtual servers can wholely work right.But I met a very surprising problem:the 1st and 2nd server can work right,nevertheless?the third virtual server can not access.I look over nginx.conf,and never find out any configuration mistake.Then,I change the 3rd server's LISTEN IP address IP-3 to IP-2,and change the 2nd server's LISTEN IP address IP-2 to IP-3.Oh my god,the 2nd server can not access,but the 3rd can.I just exchange their LISTEN IP address.If you have understood my problem description,would you please give me some good suggestion? Thanks! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212970,212970#msg-212970 From nginx-forum на nginx.us Wed Jul 27 02:33:28 2011 From: nginx-forum на nginx.us (debugger87) Date: Tue, 26 Jul 2011 22:33:28 -0400 Subject: how to configure multiple virtual server on nginx? In-Reply-To: References: Message-ID: <393dc78126009a8288cbf793fec53b0a.NginxMailingListRussian@forum.nginx.org> I have ever guess that IP-3:80 is not listened by nginx.But when I run "netstat -antup" in command line of shell,the result following tell me that I guess wrong. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 IP-3:80 0.0.0.0:* LISTEN 7346/nginx tcp 0 0 IP-2:80 0.0.0.0:* LISTEN 7346/nginx tcp 0 0 IP-1:80 0.0.0.0:* LISTEN 7346/nginx OMG,It's a very strange problem. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212970,212972#msg-212972 From nginx-forum на nginx.us Wed Jul 27 05:52:12 2011 From: nginx-forum на nginx.us (ast) Date: Wed, 27 Jul 2011 01:52:12 -0400 Subject: nginx+php5-fpm = 404 In-Reply-To: <1c797cce661365f46e819325bf6ed25d.NginxMailingListRussian@forum.nginx.org> References: <1c797cce661365f46e819325bf6ed25d.NginxMailingListRussian@forum.nginx.org> Message-ID: <1a5060c6182218b916dfda667c3cf9b5.NginxMailingListRussian@forum.nginx.org> Разобрался. Был неправильный конфиг. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212964,212978#msg-212978 From mdounin на mdounin.ru Wed Jul 27 07:22:07 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 27 Jul 2011 11:22:07 +0400 Subject: how to configure multiple virtual server on nginx? In-Reply-To: References: Message-ID: <20110727072207.GM1137@mdounin.ru> Hello! On Tue, Jul 26, 2011 at 10:30:49PM -0400, debugger87 wrote: > Hi,all > Pardon please,I'm not an russian native speaker.So,I write my mail post > in english. Please use english mailing list for english posts unless you really need to join ongoing discussion in russian. Maxim Dounin From nginx-forum на nginx.us Wed Jul 27 10:08:07 2011 From: nginx-forum на nginx.us (debugger87) Date: Wed, 27 Jul 2011 06:08:07 -0400 Subject: how to configure multiple virtual server on nginx? In-Reply-To: <20110727072207.GM1137@mdounin.ru> References: <20110727072207.GM1137@mdounin.ru> Message-ID: <5dc81142a168e163f092da52992e4d22.NginxMailingListRussian@forum.nginx.org> Maxim Dounin Wrote: ------------------------------------------------------- > Hello! > > On Tue, Jul 26, 2011 at 10:30:49PM -0400, > debugger87 wrote: > > > Hi,all > > Pardon please,I'm not an russian native > speaker.So,I write my mail post > > in english. > > Please use english mailing list for english posts > unless you > really need to join ongoing discussion in russian. > > Maxim Dounin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Ok,I will follow the rules. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212970,212993#msg-212993 From nginx-forum на nginx.us Thu Jul 28 15:41:07 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Thu, 28 Jul 2011 11:41:07 -0400 Subject: =?UTF-8?B?bmdpbnggKyBJSVM2LjAgKyBhc3AubmV0INC4INC60LXRiNC40YDQvtCy0LDQvdC4?= =?UTF-8?B?0LUg0YHRgtGA0LDQvdC40YYg0YbQtdC70LjQutC+0Lw=?= Message-ID: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> Добрый день. Имеем связку nginx 1.0.5 + IIS c сайтом на asp.net Не получается кешировать нужные страницы целиком. Страница загружается но в /tmp/nginx/cache пусто и запрос этой страницы есть в логах nginx и IIS. В error.log чисто Подскажите, пожалуйста, что я делаю не так. Перепробовал разные варианты конфигов, но так ничего и не добился. Если llocation /Widgets/Widget.aspx { proxy_pass http://10.0.2.71:80/Widgets/Widget.aspx; ...... заменить на location / { proxy_pass http://10.0.2.71:80/; ...... то в /tmp/nginx/cache файлы начинают создаваться т.е. как я понимаю с записью в кеш проблем нет. Nginx 1.0.5 установлен с ключами ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin --with-http_ssl_module на Linux 2.6.37.1-1.2 x86_64 Конфиг nginx: nginx.conf user root; error_log /etc/nginx/logs/error.log; pid /etc/nginx/logs/nginx.pid; daemon on; worker_processes 2; #worker_priority -1; events { worker_connections 1024; use epoll; } http { include 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 log/access.log main; log_format '$remote_addr - $remote_user [$time_local] "$request" $status $bytes_sent' ' "$host" "$http_user_agent" "$http_referer" "$gzip_ratio" "$request_time"'; access_log /etc/nginx/logs/access.log; charset off; client_body_buffer_size 32k; client_body_timeout 60; client_header_buffer_size 4k; client_header_timeout 50; client_max_body_size 512m; keepalive_requests 200; keepalive_timeout 60 58; tcp_nodelay on; tcp_nopush off; sendfile off; large_client_header_buffers 4 16k; # limit_rate_after 3m; # limit_rate 700k; # Директива разрешает или запрещает записывать в error_log ошибки о том, что файл не найден. log_not_found off; # Директива разрешает или запрещает записывать в access_log подзапросы. log_subrequest on; merge_slashes on; open_file_cache max=1000 inactive=40s; open_file_cache_errors on; open_file_cache_min_uses 1; open_file_cache_valid 120s; reset_timedout_connection on; server_names_hash_max_size 1024; server_names_hash_bucket_size 512; server_tokens off; proxy_buffer_size 32k; proxy_buffering on; proxy_buffers 8 32k; proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=one:2048m inactive=120m max_size=3072m; proxy_cache_min_uses 1; proxy_cache_valid 200 302 15m; proxy_cache_valid 301 30m; proxy_cache_valid any 1m; proxy_connect_timeout 40; proxy_ignore_client_abort off; proxy_intercept_errors off; proxy_read_timeout 360; proxy_send_timeout 120; proxy_set_header Host $host; proxy_set_header X-URI $request_uri; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_store off; proxy_temp_path /tmp/nginx/temp 1 2; postpone_output 2920; gzip off; gzip_min_length 1024; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types application/x-javascript text/css; gzip_vary on; server_name_in_redirect off; connection_pool_size 1024; request_pool_size 16k; include /etc/nginx/conf/mirrors.conf; } Конфиг сайта: mirrors.conf server { listen 10.0.2.232:80; server_name myservername server_name_in_redirect off; location / { proxy_pass http://10.0.2.71:80/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 100m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 10m; gzip on; gzip_min_length 1100; gzip_buffers 16 8k; gzip_comp_level 3; gzip_types text/plain application/xml application/x-javascript text/css; } location /Widgets/Widget.aspx { proxy_pass http://10.0.2.71:80/Widgets/Widget.aspx; proxy_cache one; proxy_cache_key "$request_method|$is_args|$host|$request_uri"; proxy_hide_header "Set-Cookie"; proxy_ignore_headers "X-Accel-Redirect" "X-Accel-Expires" "Expires" "Cache-Control"; proxy_cache_valid 200 302 304 30m; proxy_cache_valid 301 1h; proxy_cache_valid 503 30s; proxy_cache_valid any 5m; proxy_cache_use_stale http_502 http_503 http_504; expires 1y; } } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213044#msg-213044 From andy.karimov на gmail.com Thu Jul 28 15:49:02 2011 From: andy.karimov на gmail.com (andy karimov) Date: Thu, 28 Jul 2011 18:49:02 +0300 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> References: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> Message-ID: <1129928763.20110728184902@gmail.com> Hello Dmitry, Thursday, July 28, 2011, 6:41:07 PM, you wrote: DA> Имеем связку nginx 1.0.5 + IIS c сайтом на asp.net DA> Не получается кешировать нужные DA> страницы целиком. DA> Страница загружается но в /tmp/nginx/cache DA> пусто и запрос этой страницы есть в DA> логах nginx и IIS. The cache and other modules which require shared memory support do not work in Windows Vista and later due to address space layout randomization being enabled in these Windows versions. http://nginx.org/en/docs/windows.html -- NictaTech Software http://www.nictasoft.com Thursday, July 28, 2011, 6:48:32 PM (GMT+2) From andy.karimov на gmail.com Thu Jul 28 15:50:29 2011 From: andy.karimov на gmail.com (andy karimov) Date: Thu, 28 Jul 2011 18:50:29 +0300 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> References: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> Message-ID: <1192106099.20110728185029@gmail.com> Hello Dmitry, Thursday, July 28, 2011, 6:41:07 PM, you wrote: DA> Nginx 1.0.5 установлен с ключами ./configure DA> --prefix=/etc/nginx --sbin-path=/usr/sbin --with-http_ssl_module DA> на Linux 2.6.37.1-1.2 x86_64 Упс, пропустил, что у вас nginx на линуксе. -- NictaTech Software http://www.nictasoft.com Thursday, July 28, 2011, 6:50:03 PM (GMT+2) From nginx-forum на nginx.us Thu Jul 28 15:58:26 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Thu, 28 Jul 2011 11:58:26 -0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <1192106099.20110728185029@gmail.com> References: <1192106099.20110728185029@gmail.com> Message-ID: > Упс, пропустил, что у вас nginx > на линуксе. С проблемой кеширования на Windows я уже столкнулся. На Windows server 2003 R2 x64 nginx не работает пока не уберешь параметры относящиеся к кешированию. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213047#msg-213047 From askjuise на gmail.com Thu Jul 28 17:01:14 2011 From: askjuise на gmail.com (Alexander Petrovsky) Date: Fri, 29 Jul 2011 01:01:14 +0800 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> References: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> Message-ID: Попробуйте так location /Widgets/Widget.aspx { proxy_pass http://10.0.2.71:80; proxy_ignore_headers Set-Cookie; proxy_hide_header Set-Cookie; ... } -- Петровский Александр / Alexander Petrovsky, Jabber: juise на jabber.ru Phone: +7 914 8 820 815 From nginx-forum на nginx.us Thu Jul 28 18:43:55 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Thu, 28 Jul 2011 14:43:55 -0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: References: Message-ID: <12499a0c40851902105a4e96a3a7e7f9.NginxMailingListRussian@forum.nginx.org> Alexander Petrovsky Wrote: ------------------------------------------------------- > Попробуйте так > > location /Widgets/Widget.aspx { > proxy_pass http://10.0.2.71:80; > proxy_ignore_headers Set-Cookie; > proxy_hide_header Set-Cookie; > ... > } Увы, так тоже не кеширует. :( Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213051#msg-213051 From nginx-forum на nginx.us Thu Jul 28 19:53:11 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Thu, 28 Jul 2011 15:53:11 -0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> References: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> Message-ID: <5930fd4852ee7cade1d0186df1c03569.NginxMailingListRussian@forum.nginx.org> Пока игрался с настройками заметил, что нормально кешируются стандартные ошибки IIS типа 404, 403. Что бы это значило? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213053#msg-213053 From askjuise на gmail.com Fri Jul 29 01:35:37 2011 From: askjuise на gmail.com (Alexander Petrovsky) Date: Fri, 29 Jul 2011 10:35:37 +0900 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <5930fd4852ee7cade1d0186df1c03569.NginxMailingListRussian@forum.nginx.org> References: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> <5930fd4852ee7cade1d0186df1c03569.NginxMailingListRussian@forum.nginx.org> Message-ID: 29 июля 2011 г. 4:53 пользователь Dmitry AT написал: > Пока игрался с настройками заметил, что > нормально кешируются стандартные > ошибки IIS типа 404, 403. > Что бы это значило? Попробуйте убрать proxy_cache_valid 200 302 304 30m; proxy_cache_valid 301 1h; proxy_cache_valid 503 30s; proxy_cache_valid any 5m; и поставить proxy_cache_valid 200 301 302 304 30m; и посмотреть что будет. -- Петровский Александр / Alexander Petrovsky, Jabber: juise на jabber.ru Phone: +7 914 8 820 815 From igor на sysoev.ru Fri Jul 29 06:20:16 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 10:20:16 +0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: References: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> <5930fd4852ee7cade1d0186df1c03569.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110729062016.GB50032@sysoev.ru> On Fri, Jul 29, 2011 at 10:35:37AM +0900, Alexander Petrovsky wrote: > 29 июля 2011 г. 4:53 пользователь Dmitry AT написал: > > Пока игрался с настройками заметил, что > > нормально кешируются стандартные > > ошибки IIS типа 404, 403. > > Что бы это значило? > > Попробуйте убрать > > proxy_cache_valid 200 302 304 30m; > proxy_cache_valid 301 1h; > proxy_cache_valid 503 30s; > proxy_cache_valid any 5m; > > и поставить > > proxy_cache_valid 200 301 302 304 30m; > > и посмотреть что будет. 304 кэшироваться не будут. Вообще, их кэшировать вредно. -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Fri Jul 29 06:43:26 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Fri, 29 Jul 2011 02:43:26 -0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: References: Message-ID: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> Alexander Petrovsky Wrote: ------------------------------------------------------- > Попробуйте убрать > > proxy_cache_valid 200 302 304 30m; > proxy_cache_valid 301 1h; > proxy_cache_valid 503 30s; > proxy_cache_valid any 5m; > > и поставить > > proxy_cache_valid 200 301 302 304 30m; > > и посмотреть что будет. И так не получается. Пробую с таким конфигом. location /Widgets { proxy_pass http://10.0.2.71:80; proxy_cache one; proxy_cache_key "$request_method|$is_args|$host|$request_uri"; proxy_hide_header "Set-Cookie"; proxy_ignore_headers "Cache-Control"; #"Expires" proxy_cache_valid 200 301 302 304 30m; #proxy_cache_valid 200 302 304 30m; #proxy_cache_valid 301 1h; #proxy_cache_valid 503 30s; #proxy_cache_valid any 5m; proxy_cache_use_stale http_502 http_503 http_504; #expires 1y; } Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213064#msg-213064 From nginx-forum на nginx.us Fri Jul 29 06:49:30 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Fri, 29 Jul 2011 02:49:30 -0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <20110729062016.GB50032@sysoev.ru> References: <20110729062016.GB50032@sysoev.ru> Message-ID: <21ba82f282288a50a737abcdc3096df4.NginxMailingListRussian@forum.nginx.org> Igor Sysoev Wrote: ------------------------------------------------------- > 304 кэшироваться не будут. > Вообще, их кэшировать > вредно. Убрал 304. Не кеширует. Но судя по логу nginx и IIS при переходе по ссылке я получаю 200. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213065#msg-213065 From igor на sysoev.ru Fri Jul 29 06:52:08 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 10:52:08 +0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> References: <6cea12e204509bc8ddf14bae1afa40a6.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110729065208.GC50032@sysoev.ru> On Thu, Jul 28, 2011 at 11:41:07AM -0400, Dmitry AT wrote: > Добрый день. > > Имеем связку nginx 1.0.5 + IIS c сайтом на asp.net > > Не получается кешировать нужные > страницы целиком. Что означает фраза "не получается кешировать нужные страницы целиком" ? Страницы кэшируются до половины или как ? -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Fri Jul 29 06:54:09 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 10:54:09 +0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> References: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110729065409.GD50032@sysoev.ru> On Fri, Jul 29, 2011 at 02:43:26AM -0400, Dmitry AT wrote: > Alexander Petrovsky Wrote: > ------------------------------------------------------- > > Попробуйте убрать > > > > proxy_cache_valid 200 302 304 30m; > > proxy_cache_valid 301 1h; > > proxy_cache_valid 503 30s; > > proxy_cache_valid any 5m; > > > > и поставить > > > > proxy_cache_valid 200 301 302 304 30m; > > > > и посмотреть что будет. > > И так не получается. Пробую с таким > конфигом. > > location /Widgets { > proxy_pass http://10.0.2.71:80; > > proxy_cache one; > proxy_cache_key "$request_method|$is_args|$host|$request_uri"; > proxy_hide_header "Set-Cookie"; > proxy_ignore_headers "Cache-Control"; #"Expires" > > proxy_cache_valid 200 301 302 304 30m; proxy_cache_key "$host$uri?$args"; proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie"; proxy_hide_header "Set-Cookie"; proxy_cache_valid 200 301 302 30m; -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Fri Jul 29 07:04:09 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 11:04:09 +0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> References: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110729070409.GE50032@sysoev.ru> On Fri, Jul 29, 2011 at 02:43:26AM -0400, Dmitry AT wrote: > proxy_cache_key "$request_method|$is_args|$host|$request_uri"; Не знаю, в чьей голове впервые появился такой ключ, я вижу его достаточно часто, но по сути он бестолков, особенно в районе $is_args. Вот какие значения получит ключ в зависимости от запроса: GET http://www.site.com/index.html GET||www.site.com|/index.html HEAD http://www.site.com/index.html HEAD||www.site.com|/index.html GET http://www.site.com//index.html GET||www.site.com|//index.html GET http://www.site.com/index.html?one=1 GET|?|www.site.com|/index.html?one=1 Нормальный ключ: proxy_cache_key "$host|$uri$is_args$args"; GET http://www.site.com/index.html www.site.com/index.html HEAD http://www.site.com/index.html www.site.com/index.html GET http://www.site.com//index.html www.site.com/index.html GET http://www.site.com/index.html?one=1 www.site.com/index.html?one=1 Как видно, для первых трёх запросов ключ будет один и тот же, и ответ для них будет обслужен из одного закэшированного ответа. -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Fri Jul 29 07:17:42 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 11:17:42 +0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <20110729070409.GE50032@sysoev.ru> References: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> <20110729070409.GE50032@sysoev.ru> Message-ID: <20110729071742.GF50032@sysoev.ru> On Fri, Jul 29, 2011 at 11:04:09AM +0400, Igor Sysoev wrote: > Нормальный ключ: > proxy_cache_key "$host|$uri$is_args$args"; - proxy_cache_key "$host|$uri$is_args$args"; + proxy_cache_key "$host$uri$is_args$args"; Конечно же. -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Fri Jul 29 07:32:56 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Fri, 29 Jul 2011 03:32:56 -0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <20110729065208.GC50032@sysoev.ru> References: <20110729065208.GC50032@sysoev.ru> Message-ID: <234edb1ff9c409331bc39f9f8fa1619b.NginxMailingListRussian@forum.nginx.org> Igor Sysoev Wrote: ------------------------------------------------------- > Что означает фраза "не > получается кешировать > нужные страницы целиком" ? > Страницы кэшируются до > половины или как ? Не кеширует совсем. Igor Sysoev Wrote: ------------------------------------------------------- proxy_cache_key "$host$uri?$args"; proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie"; proxy_hide_header "Set-Cookie"; proxy_cache_valid 200 301 302 30m; Игорь, спасибо большое! Так кеширование заработало! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213070#msg-213070 From nginx-forum на nginx.us Fri Jul 29 07:54:15 2011 From: nginx-forum на nginx.us (Dmitry AT) Date: Fri, 29 Jul 2011 03:54:15 -0400 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <20110729071742.GF50032@sysoev.ru> References: <20110729071742.GF50032@sysoev.ru> Message-ID: <525a75d2be0b84fc9ccdb1815cb7a5c6.NginxMailingListRussian@forum.nginx.org> Igor Sysoev Wrote: ------------------------------------------------------- > On Fri, Jul 29, 2011 at 11:04:09AM +0400, Igor > Sysoev wrote: > > > Нормальный ключ: > > proxy_cache_key "$host|$uri$is_args$args"; > > - proxy_cache_key "$host|$uri$is_args$args"; > + proxy_cache_key "$host$uri$is_args$args"; > > Конечно же. Игорь, спасибо еще раз! Теперь кеширование работает. :) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213044,213072#msg-213072 From vlisenko.3s на gmail.com Fri Jul 29 08:41:32 2011 From: vlisenko.3s на gmail.com (Vitaliy Lisenko) Date: Fri, 29 Jul 2011 15:41:32 +0700 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: <20110729070409.GE50032@sysoev.ru> References: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> <20110729070409.GE50032@sysoev.ru> Message-ID: > Нормальный ключ: > proxy_cache_key "$host|$uri$is_args$args"; > > GET http://www.site.com/index.html > www.site.com/index.html > > HEAD http://www.site.com/index.html > www.site.com/index.html > > Как видно, для первых трёх запросов ключ будет один и тот же, и ответ > для них будет обслужен из одного закэшированного ответа. что-то видимо пятница на меня действует - не соображу, а что же в нем нормального то? а если в вашем же примере первым будет HEAD запрос ? то что получит в этом раскладе Следующий за ним пользователь попросивший GET???? дырку от бублика? From sin на altlinux.ru Fri Jul 29 09:01:54 2011 From: sin на altlinux.ru (Evgeny Sinelnikov) Date: Fri, 29 Jul 2011 13:01:54 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: <20110729073430.GG50032@sysoev.ru> References: <20110729073430.GG50032@sysoev.ru> Message-ID: Здравствуйте, 29 июля 2011 г. 11:34 пользователь Igor Sysoev написал: > On Fri, Jul 29, 2011 at 06:53:32AM +0400, Evgeny Sinelnikov wrote: >> Здравствуйте, Игорь, >> >> сегодня я написал письмо по поводу исправления nginx при использовании >> сервера для обновлений в ALT Linux. Написал и подумал, что стоило бы и >> вам отправить копию этого сообщения. Постфактум пересылаю уже >> отправленное сообщение, надеюсь мои соображения смогут найти отражение >> при доработках сервера nginx. > > Спасибо. И вам, спасибо... Мне тут коллеги подсказали, что стоило бы сразу писать в рассылку: http://mailman.nginx.org/mailman/listinfo/nginx-ru Делаю копию в nginx-ru@ > Lingering close не связан с SO_LINGER, про него можно почитать > здесь (во второй ссылке много всего, нужно искать lingering close): > http://sysoev.ru/web/upload.html > http://httpd.apache.org/docs/1.3/misc/perf-tuning.html > > Тут похоже на проблему с pipelined. > Скорее всего, в следующей версии будет исправлено. Это было бы замечательно. Хотя, на счёт того, что "Lingering close не связан с SO_LINGER" мне не совсем понятно. Ведь как раз во второй ссылке есть такое: "There are two ways of accomplishing this. One is the socket option SO_LINGER. But as fate would have it, this has never been implemented properly in most TCP/IP stacks." Кроме того, я на тесте проверил, что это именно проблема слишком раннего закрытия. Мне пришлось убрать lingering_close, поскольку когда заканчивается keep alive time соединение сразу закрывается, а значение lingering_timeout игнорируется. В большинстве случаев (не всегда) у меня это приводит к тому, что клиентская сторона фиксирует обрыв соединения со стороны сервера. Для вот этого момента: Get:99 http://download.etersoft.ru i586/classic xorg-dri-savage 4:7.10.3-alt2 [829kB] Get:100 http://download.etersoft.ru i586/classic xorg-dri-mga 4:7.10.3-alt2 [835kB] Err http://download.etersoft.ru i586/classic xorg-dri-mga 4:7.10.3-alt2 Error reading from server - read (104 Connection reset by peer) Отладка выглядит следующим образом .... 2011/07/28 20:47:11 [debug] 26411#0: *5 sendfile: @806978 22183 2011/07/28 20:47:11 [debug] 26411#0: *5 sendfile: 22183, @806978 22183:22183 2011/07/28 20:47:11 [debug] 26411#0: *5 http write filter 00000000 2011/07/28 20:47:11 [debug] 26411#0: *5 http copy filter: 0 "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-savage-7.10.3-alt2.i586.rpm?" 2011/07/28 20:47:11 [debug] 26411#0: *5 http writer output filter: 0, "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-savage-7.10.3-alt2. i586.rpm?" 2011/07/28 20:47:11 [debug] 26411#0: *5 http writer done: "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-savage-7.10.3-alt2.i586.rpm?" 2011/07/28 20:47:11 [debug] 26411#0: *5 http finalize request: 0, "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-savage-7.10.3-alt2.i586 .rpm?" a:1, c:1 2011/07/28 20:47:11 [debug] 26411#0: *5 event timer del: 12: 1906665834 2011/07/28 20:47:11 [debug] 26411#0: *5 set http keepalive handler 2011/07/28 20:47:11 [debug] 26411#0: *5 http close request 2011/07/28 20:47:11 [debug] 26411#0: *5 http log handler 2011/07/28 20:47:11 [debug] 26411#0: *5 run cleanup: 081D7658 2011/07/28 20:47:11 [debug] 26411#0: *5 file cleanup: fd:17 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 081D7060, unused: 1932 2011/07/28 20:47:11 [debug] 26411#0: *5 event timer add: 12: 75000:1906680901 2011/07/28 20:47:11 [debug] 26411#0: *5 pipelined request 2011/07/28 20:47:11 [debug] 26411#0: *5 post event 081BD108 2011/07/28 20:47:11 [debug] 26411#0: *5 delete posted event 081BD108 2011/07/28 20:47:11 [debug] 26411#0: *5 event timer del: 12: 1906680901 2011/07/28 20:47:11 [debug] 26411#0: *5 generic phase: 0 2011/07/28 20:47:11 [debug] 26411#0: *5 rewrite phase: 1 ..... ..... ..... 2011/07/28 20:47:11 [debug] 26411#0: *5 sendfile: @833137 1607 2011/07/28 20:47:11 [debug] 26411#0: *5 sendfile: 1607, @833137 1607:1607 2011/07/28 20:47:11 [debug] 26411#0: *5 http write filter 00000000 2011/07/28 20:47:11 [debug] 26411#0: *5 http copy filter: 0 "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-mga-7.10.3-alt2.i586.rpm?" 2011/07/28 20:47:11 [debug] 26411#0: *5 http writer output filter: 0, "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-mga-7.10.3-alt2.i58 6.rpm?" 2011/07/28 20:47:11 [debug] 26411#0: *5 http writer done: "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-mga-7.10.3-alt2.i586.rpm?" 2011/07/28 20:47:11 [debug] 26411#0: *5 http finalize request: 0, "/pub/ALTLinux/p6/branch/i586/RPMS.classic/xorg-dri-mga-7.10.3-alt2.i586.rp m?" a:1, c:1 2011/07/28 20:47:11 [debug] 26411#0: *5 event timer del: 12: 1906665901 2011/07/28 20:47:11 [debug] 26411#0: *5 http request count:1 blk:0 2011/07/28 20:47:11 [debug] 26411#0: *5 http close request 2011/07/28 20:47:11 [debug] 26411#0: *5 http log handler 2011/07/28 20:47:11 [debug] 26411#0: *5 run cleanup: 081D7654 2011/07/28 20:47:11 [debug] 26411#0: *5 file cleanup: fd:17 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 081D7060, unused: 1940 2011/07/28 20:47:11 [debug] 26411#0: *5 close http connection: 12 2011/07/28 20:47:11 [debug] 26411#0: *5 reusable connection: 0 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 08154C18 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 08154430 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 081D8078 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 0810DCB0, unused: 16 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 08156E50, unused: 32 2011/07/28 20:47:11 [debug] 26411#0: *5 free: 08154B00, unused: 84 2011/07/28 20:47:11 [debug] 26412#0: *6 event timer del: 11: 1906665976 2011/07/28 20:47:11 [debug] 26412#0: *6 generic phase: 0 2011/07/28 20:47:11 [debug] 26412#0: *6 rewrite phase: 1 .... Более полный лог прилагаю. >> ---------- Пересланное сообщение ---------- >> От кого: Evgeny Sinelnikov >> Дата: 29 июля 2011 г. 6:36 >> Тема: Nginx при обновлении большого числа пакетов APT >> Кому: Рассылка разработчиков Etersoft >> Копия: Денис Смирнов , Anton Farygin >> , "Dmitry V. Levin" , >> mike на altlinux.org >> >> >> Здравствуйте, >> >> хочу сообщить, что вчера мы, в очередной раз, столкнулись с проблемой >> обновления большого числа пакетов аптом, при подключенном >> http-репозитории, когда на севере установлен nginx. Суть проблемы в >> том, что при загрузке пакетов, скачивание некоторых пакетов >> периодически отваливается... >> >> Get:99 http://download.etersoft.ru i586/classic xorg-dri-savage >> 4:7.10.3-alt2 [829kB] >> Get:100 http://download.etersoft.ru i586/classic xorg-dri-mga >> 4:7.10.3-alt2 [835kB] >> Err http://download.etersoft.ru i586/classic xorg-dri-mga 4:7.10.3-alt2 >>  Error reading from server - read (104 Connection reset by peer) >> Get:101 http://download.etersoft.ru i586/classic xorg-dri-nouveau >> 4:7.10.3-alt2 [1273kB] >> Get:102 http://download.etersoft.ru i586/classic xorg-drv-nouveau >> 2:0.0.16-alt4 [77.4kB] >> ... >> Get:199 http://download.etersoft.ru i586/classic thunderbird >> 3.1.9-alt1.20110409 [9581kB] >> Get:200 http://download.etersoft.ru noarch/classic firefox-yandexbar >> 5.2.3-alt1 [1693kB] >> Err http://download.etersoft.ru noarch/classic firefox-yandexbar >> 5.2.3-alt1 >>  Error reading from server - read (104 Connection reset by peer) >> Get:201 http://download.etersoft.ru i586/classic xulrunner-2.0 >> 2.0.1.0-alt1 [1268kB] >> Get:202 http://download.etersoft.ru i586/classic firefox-4.0 4.0.1-alt1 [1228kB] >> ... >> Get:299 http://download.etersoft.ru i586/classic libpulseaudio >> 0.9.22-alt3 [431kB] >> Get:300 http://download.etersoft.ru i586/classic libSDL 1.2.14-alt6 >> [169kB] >> Err http://download.etersoft.ru i586/classic libSDL 1.2.14-alt6 >>  Error reading from server - read (104 Connection reset by peer) >> Get:301 http://download.etersoft.ru i586/classic libjasper >> 1.900.1-alt2.qa2 [124kB] >> Get:302 http://download.etersoft.ru i586/classic libopenraw-gnome >> 0.0.8-alt2 [4799B] >> ... >> >> Просмотрев код nginx и поотлаживая его, на воспроизводимом примере >> (примерно каждый 100 пакет, как видно выше, стабильно отваливался), я >> нашёл точку, в которой возникает беда. Беда возникает при отключении >> соединения. В keep_alive режиме соединение на сервере закрывалось не >> сразу, а после некоторого числа итераций. Собственно проблема с >> закрытием возникает из-за использования в nginx SO_LINGER, небольшое >> описание этого режима я нашёл здесь: >>  http://kalinin.ru/programming/network/29_10_00.shtml >> >> В итоге я сделал такой патч: >> diff --git a/nginx/src/http/ngx_http_request.c >> b/nginx/src/http/ngx_http_request.c >> index 2cef4fa..e2973c8 100644 (file) >> --- a/nginx/src/http/ngx_http_request.c >> +++ b/nginx/src/http/ngx_http_request.c >> @@ -2146,7 +2146,7 @@ ngx_http_finalize_connection(ngx_http_request_t *r) >>         ngx_http_set_keepalive(r); >>         return; >> >> -    } else if (r->lingering_close && clcf->lingering_timeout > 0) { >> +    } else if (clcf->lingering_timeout > 0) { >>         ngx_http_set_lingering_close(r); >>         return; >>     } >> >> Изменение доступно здесь: >> http://git.altlinux.org/people/sin/packages/nginx.git >> http://git.etersoft.ru/people/sin/packages/nginx.git >> >> Суть патча в том, чтобы не использовать принудительное отключение >> соединения при использовании опции lingering_timeout. Мне, при нашей >> скорости обмена, оказалось достаточно lingering_timeout равного 1. >> Исходного поведения можно добиться выставив lingering_timeout в 0. >> >> >> -- >> Sin (Sinelnikov Evgeny) >> >> >> >> -- >> Sin (Sinelnikov Evgeny) > > -- > Игорь Сысоев > http://sysoev.ru > -- Sin (Sinelnikov Evgeny) Etersoft ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: ftp-error.apt.short.log.bz2 Type: application/x-bzip2 Size: 3072 bytes Desc: отсутствует URL: From voron на amhost.net Fri Jul 29 09:09:32 2011 From: voron на amhost.net (Alex Vorona) Date: Fri, 29 Jul 2011 12:09:32 +0300 Subject: =?UTF-8?B?UmU6IG5naW54ICsgSUlTNi4wICsgYXNwLm5ldCDQuCDQutC10YjQuNGA0L7QstCw?= =?UTF-8?B?0L3QuNC1INGB0YLRgNCw0L3QuNGGINGG0LXQu9C40LrQvtC8?= In-Reply-To: References: <86f97e9b6d9f25891bbdab78e24fdbb5.NginxMailingListRussian@forum.nginx.org> <20110729070409.GE50032@sysoev.ru> Message-ID: <4E3278CC.6090604@amhost.net> 29.07.2011 11:41, Vitaliy Lisenko wrote: > а если в вашем же примере первым будет HEAD запрос ? то что получит в > этом раскладе Следующий за ним пользователь попросивший GET???? дырку > от бублика? nginx к бэкенду пойдёт с GET, закэширует результат и отдаст от него HEAD. Следующий пользователь получит свой GET из кэша. From mdounin на mdounin.ru Fri Jul 29 09:31:28 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 29 Jul 2011 13:31:28 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: References: <20110729073430.GG50032@sysoev.ru> Message-ID: <20110729093128.GB1137@mdounin.ru> Hello! On Fri, Jul 29, 2011 at 01:01:54PM +0400, Evgeny Sinelnikov wrote: > Здравствуйте, > > 29 июля 2011 г. 11:34 пользователь Igor Sysoev написал: > > On Fri, Jul 29, 2011 at 06:53:32AM +0400, Evgeny Sinelnikov wrote: > >> Здравствуйте, Игорь, > >> > >> сегодня я написал письмо по поводу исправления nginx при использовании > >> сервера для обновлений в ALT Linux. Написал и подумал, что стоило бы и > >> вам отправить копию этого сообщения. Постфактум пересылаю уже > >> отправленное сообщение, надеюсь мои соображения смогут найти отражение > >> при доработках сервера nginx. > > > > Спасибо. > > И вам, спасибо... Мне тут коллеги подсказали, что стоило бы сразу > писать в рассылку: > http://mailman.nginx.org/mailman/listinfo/nginx-ru > Делаю копию в nginx-ru@ > > > Lingering close не связан с SO_LINGER, про него можно почитать > > здесь (во второй ссылке много всего, нужно искать lingering close): > > http://sysoev.ru/web/upload.html > > http://httpd.apache.org/docs/1.3/misc/perf-tuning.html > > > > Тут похоже на проблему с pipelined. > > Скорее всего, в следующей версии будет исправлено. > > Это было бы замечательно. Хотя, на счёт того, что "Lingering close не > связан с SO_LINGER" мне не совсем понятно. Ведь как раз во второй > ссылке есть такое: "There are two ways of accomplishing this. One is > the socket option SO_LINGER. But as fate would have it, this has never > been implemented properly in most TCP/IP stacks." Оно не связано в том смысле, что TCP/IP стеков, где SO_LINGER делал бы необходимое для корректного закрытия соединения со стороны сервера - нет. > Кроме того, я на тесте проверил, что это именно проблема слишком > раннего закрытия. Мне пришлось убрать lingering_close, поскольку когда Судя по патчу, под словами "убрать lingering_close" следует понимать "убрать проверку r->lingering_close и соответственно всегда использовать закрытие с lingering'ом". > заканчивается keep alive time соединение сразу закрывается, а значение > lingering_timeout игнорируется. В большинстве случаев (не всегда) у > меня это приводит к тому, что клиентская сторона фиксирует обрыв > соединения со стороны сервера. Вот тут есть патч, добавляющий "lingering_close always" и пару дополнительных проверок в обычном случае: http://mailman.nginx.org/pipermail/nginx-devel/2011-July/001016.html В варианте "always" оно аналогично убранной проверке r->lingering_close (т.е. lingering close используется всегда). Но насколько я понимаю конкретная проблема должна полечиться просто за счёт дополнительных проверок в обычном случае. Если не сложно - потестируйте pls. Maxim Dounin From igor на sysoev.ru Fri Jul 29 10:10:41 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 14:10:41 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: References: <20110729073430.GG50032@sysoev.ru> Message-ID: <20110729101040.GB56287@sysoev.ru> On Fri, Jul 29, 2011 at 01:01:54PM +0400, Evgeny Sinelnikov wrote: > Здравствуйте, > > 29 июля 2011 г. 11:34 пользователь Igor Sysoev написал: > > On Fri, Jul 29, 2011 at 06:53:32AM +0400, Evgeny Sinelnikov wrote: > >> Здравствуйте, Игорь, > >> > >> сегодня я написал письмо по поводу исправления nginx при использовании > >> сервера для обновлений в ALT Linux. Написал и подумал, что стоило бы и > >> вам отправить копию этого сообщения. Постфактум пересылаю уже > >> отправленное сообщение, надеюсь мои соображения смогут найти отражение > >> при доработках сервера nginx. > > > > Спасибо. > > И вам, спасибо... Мне тут коллеги подсказали, что стоило бы сразу > писать в рассылку: > http://mailman.nginx.org/mailman/listinfo/nginx-ru > Делаю копию в nginx-ru@ > > > Lingering close не связан с SO_LINGER, про него можно почитать > > здесь (во второй ссылке много всего, нужно искать lingering close): > > http://sysoev.ru/web/upload.html > > http://httpd.apache.org/docs/1.3/misc/perf-tuning.html > > > > Тут похоже на проблему с pipelined. > > Скорее всего, в следующей версии будет исправлено. > > Это было бы замечательно. Хотя, на счёт того, что "Lingering close не > связан с SO_LINGER" мне не совсем понятно. Ведь как раз во второй > ссылке есть такое: "There are two ways of accomplishing this. One is > the socket option SO_LINGER. But as fate would have it, this has never > been implemented properly in most TCP/IP stacks." Проблема в том, что SO_LINGER не решает проблему закрытия соединения при взаимодействии сервера и типичного браузера. Поэтому в Апаче и была придумана процедура, называемая lingering close и не имеющая никакого отношения к SO_LINGER: SO_LINGER после закрытия сокета передаёт данные клиенту в течение 30 секунд (по умолчанию), а потом закрывает соединение. Причём, если клиент что-то пришлёт во время этой передачи или же в буфере ядра на момент закрытия сокета есть непрочитанные сервером данные, но SO_LINGER шлёт наблюдаемый RST. Апачевский же lingering close данные клиента просто читает и игнорирует, поэтому в течение 30 секунд RST не наблюдается. > Кроме того, я на тесте проверил, что это именно проблема слишком > раннего закрытия. Мне пришлось убрать lingering_close, поскольку когда > заканчивается keep alive time соединение сразу закрывается, а значение > lingering_timeout игнорируется. В большинстве случаев (не всегда) у > меня это приводит к тому, что клиентская сторона фиксирует обрыв > соединения со стороны сервера. Это происходит из-за pipelined запросов со стороны клиента. -- Игорь Сысоев http://sysoev.ru From sin на altlinux.ru Fri Jul 29 10:45:36 2011 From: sin на altlinux.ru (Evgeny Sinelnikov) Date: Fri, 29 Jul 2011 14:45:36 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: <20110729101040.GB56287@sysoev.ru> References: <20110729073430.GG50032@sysoev.ru> <20110729101040.GB56287@sysoev.ru> Message-ID: 29 июля 2011 г. 14:10 пользователь Igor Sysoev написал: > On Fri, Jul 29, 2011 at 01:01:54PM +0400, Evgeny Sinelnikov wrote: >> Здравствуйте, >> >> 29 июля 2011 г. 11:34 пользователь Igor Sysoev написал: >> > On Fri, Jul 29, 2011 at 06:53:32AM +0400, Evgeny Sinelnikov wrote: >> >> Здравствуйте, Игорь, >> >> >> >> сегодня я написал письмо по поводу исправления nginx при использовании >> >> сервера для обновлений в ALT Linux. Написал и подумал, что стоило бы и >> >> вам отправить копию этого сообщения. Постфактум пересылаю уже >> >> отправленное сообщение, надеюсь мои соображения смогут найти отражение >> >> при доработках сервера nginx. >> > >> > Спасибо. >> >> И вам, спасибо... Мне тут коллеги подсказали, что стоило бы сразу >> писать в рассылку: >>  http://mailman.nginx.org/mailman/listinfo/nginx-ru >> Делаю копию в nginx-ru@ >> >> > Lingering close не связан с SO_LINGER, про него можно почитать >> > здесь (во второй ссылке много всего, нужно искать lingering close): >> > http://sysoev.ru/web/upload.html >> > http://httpd.apache.org/docs/1.3/misc/perf-tuning.html >> > >> > Тут похоже на проблему с pipelined. >> > Скорее всего, в следующей версии будет исправлено. >> >> Это было бы замечательно. Хотя, на счёт того, что "Lingering close не >> связан с SO_LINGER" мне не совсем понятно. Ведь как раз во второй >> ссылке есть такое: "There are two ways of accomplishing this. One is >> the socket option SO_LINGER. But as fate would have it, this has never >> been implemented properly in most TCP/IP stacks." > > Проблема в том, что SO_LINGER не решает проблему закрытия соединения > при взаимодействии сервера и типичного браузера. Поэтому в Апаче и была > придумана процедура, называемая lingering close и не имеющая никакого > отношения к SO_LINGER: SO_LINGER после закрытия сокета передаёт данные > клиенту в течение 30 секунд (по умолчанию), а потом закрывает соединение. > Причём, если клиент что-то пришлёт во время этой передачи или же > в буфере ядра на момент закрытия сокета есть непрочитанные сервером > данные, но SO_LINGER шлёт наблюдаемый RST. Апачевский же lingering close > данные клиента просто читает и игнорирует, поэтому в течение 30 секунд > RST не наблюдается. > >> Кроме того, я на тесте проверил, что это именно проблема слишком >> раннего закрытия. Мне пришлось убрать lingering_close, поскольку когда >> заканчивается keep alive time соединение сразу закрывается, а значение >> lingering_timeout игнорируется. В большинстве случаев (не всегда) у >> меня это приводит к тому, что клиентская сторона фиксирует обрыв >> соединения со стороны сервера. > > Это происходит из-за pipelined запросов со стороны клиента. > Я, видимо, недостаточно в теме... ;) Мне непонятно, что такое "pipelined запросы", поэтому у меня свои догадки возникают... Готов вам довериться, особенно, если всё заработает с новым патчем... ;) -- Sin (Sinelnikov Evgeny) Etersoft From sin на altlinux.ru Fri Jul 29 11:00:45 2011 From: sin на altlinux.ru (Evgeny Sinelnikov) Date: Fri, 29 Jul 2011 15:00:45 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: <20110729093128.GB1137@mdounin.ru> References: <20110729073430.GG50032@sysoev.ru> <20110729093128.GB1137@mdounin.ru> Message-ID: 29 июля 2011 г. 13:31 пользователь Maxim Dounin написал: > Hello! > > On Fri, Jul 29, 2011 at 01:01:54PM +0400, Evgeny Sinelnikov wrote: > ... >> 29 июля 2011 г. 11:34 пользователь Igor Sysoev написал: >> > On Fri, Jul 29, 2011 at 06:53:32AM +0400, Evgeny Sinelnikov wrote: ... >> > Lingering close не связан с SO_LINGER, про него можно почитать >> > здесь (во второй ссылке много всего, нужно искать lingering close): >> > http://sysoev.ru/web/upload.html >> > http://httpd.apache.org/docs/1.3/misc/perf-tuning.html >> > >> > Тут похоже на проблему с pipelined. >> > Скорее всего, в следующей версии будет исправлено. >> >> Это было бы замечательно. Хотя, на счёт того, что "Lingering close не >> связан с SO_LINGER" мне не совсем понятно. Ведь как раз во второй >> ссылке есть такое: "There are two ways of accomplishing this. One is >> the socket option SO_LINGER. But as fate would have it, this has never >> been implemented properly in most TCP/IP stacks." > > Оно не связано в том смысле, что TCP/IP стеков, где SO_LINGER > делал бы необходимое для корректного закрытия соединения со > стороны сервера - нет. > >> Кроме того, я на тесте проверил, что это именно проблема слишком >> раннего закрытия. Мне пришлось убрать lingering_close, поскольку когда > > Судя по патчу, под словами "убрать lingering_close" следует > понимать "убрать проверку r->lingering_close и соответственно > всегда использовать закрытие с lingering'ом". > >> заканчивается keep alive time соединение сразу закрывается, а значение >> lingering_timeout игнорируется. В большинстве случаев (не всегда) у >> меня это приводит к тому, что клиентская сторона фиксирует обрыв >> соединения со стороны сервера. > > Вот тут есть патч, добавляющий "lingering_close always" и пару > дополнительных проверок в обычном случае: > > http://mailman.nginx.org/pipermail/nginx-devel/2011-July/001016.html > > В варианте "always" оно аналогично убранной проверке > r->lingering_close (т.е. lingering close используется всегда).  Но > насколько я понимаю конкретная проблема должна полечиться просто за > счёт дополнительных проверок в обычном случае. > > Если не сложно - потестируйте pls. Я проверил, изменения доступны здесь: http://git.altlinux.org/people/sin/packages/nginx.git http://git.etersoft.ru/people/sin/packages/nginx.git Да, всё, отлично. Режим, по умолчанию работает. При "lingering_close off" проблема стабильно воспроизводится. Новая проверка вида (r->lingering_close || r->header_in->pos < r->header_in->last || r->connection->read->ready), вместо только r->lingering_close, решает проблему и без "lingering_close always". Кстати, связка "lingering_close always" и "lingering_timeout 0" приводит к ещё более страшным последствиям... ;) -- Sin (Sinelnikov Evgeny) Etersoft From igor на sysoev.ru Fri Jul 29 11:15:42 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 15:15:42 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: References: <20110729073430.GG50032@sysoev.ru> <20110729101040.GB56287@sysoev.ru> Message-ID: <20110729111542.GD56287@sysoev.ru> On Fri, Jul 29, 2011 at 02:45:36PM +0400, Evgeny Sinelnikov wrote: > 29 июля 2011 г. 14:10 пользователь Igor Sysoev написал: > > Это происходит из-за pipelined запросов со стороны клиента. > > > > Я, видимо, недостаточно в теме... ;) > Мне непонятно, что такое "pipelined запросы", поэтому у меня свои > догадки возникают... Готов вам довериться, особенно, если всё > заработает с новым патчем... ;) pipelined запрос - это когда клиент отправляет запрос до того, как получил ответ на предыдущий. В приниципе, можно отправить сразу несколько запросов, а потом получить на них последовательно ответы. -- Игорь Сысоев http://sysoev.ru From sin на altlinux.ru Fri Jul 29 12:15:38 2011 From: sin на altlinux.ru (Evgeny Sinelnikov) Date: Fri, 29 Jul 2011 16:15:38 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: <20110729111542.GD56287@sysoev.ru> References: <20110729073430.GG50032@sysoev.ru> <20110729101040.GB56287@sysoev.ru> <20110729111542.GD56287@sysoev.ru> Message-ID: 29 июля 2011 г. 15:15 пользователь Igor Sysoev написал: > On Fri, Jul 29, 2011 at 02:45:36PM +0400, Evgeny Sinelnikov wrote: >> 29 июля 2011 г. 14:10 пользователь Igor Sysoev написал: > >> > Это происходит из-за pipelined запросов со стороны клиента. >> > >> >> Я, видимо, недостаточно в теме... ;) >> Мне непонятно, что такое "pipelined запросы", поэтому у меня свои >> догадки возникают... Готов вам довериться, особенно, если всё >> заработает с новым патчем... ;) > > pipelined запрос - это когда клиент отправляет запрос до того, как получил > ответ на предыдущий. В приниципе, можно отправить сразу несколько > запросов, а потом получить на них последовательно ответы. > Насколько я понимаю код и логику чтения пакетов apt'ом, он скачивает файлы строго последовательно. Может, конечно, там код хитрее, чем я себе это представляю, поверхностно его разбирая... В любом случае, он файлы копирует по одному. -- Sin (Sinelnikov Evgeny) Etersoft From igor на sysoev.ru Fri Jul 29 12:18:56 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 16:18:56 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: References: <20110729073430.GG50032@sysoev.ru> <20110729101040.GB56287@sysoev.ru> <20110729111542.GD56287@sysoev.ru> Message-ID: <20110729121855.GG56287@sysoev.ru> On Fri, Jul 29, 2011 at 04:15:38PM +0400, Evgeny Sinelnikov wrote: > 29 июля 2011 г. 15:15 пользователь Igor Sysoev написал: > > On Fri, Jul 29, 2011 at 02:45:36PM +0400, Evgeny Sinelnikov wrote: > >> 29 июля 2011 г. 14:10 пользователь Igor Sysoev написал: > > > >> > Это происходит из-за pipelined запросов со стороны клиента. > >> > > >> > >> Я, видимо, недостаточно в теме... ;) > >> Мне непонятно, что такое "pipelined запросы", поэтому у меня свои > >> догадки возникают... Готов вам довериться, особенно, если всё > >> заработает с новым патчем... ;) > > > > pipelined запрос - это когда клиент отправляет запрос до того, как получил > > ответ на предыдущий. В приниципе, можно отправить сразу несколько > > запросов, а потом получить на них последовательно ответы. > > > > Насколько я понимаю код и логику чтения пакетов apt'ом, он скачивает > файлы строго последовательно. Может, конечно, там код хитрее, чем я > себе это представляю, поверхностно его разбирая... В любом случае, он > файлы копирует по одному. Pipeline работает последовательно. Можно послать пачку запросов, а потом забирать несколько ответов. Как бы он не работал, но запросы приходят в режиме pipeline: 2011/07/28 20:47:11 [debug] 26411#0: *5 pipelined request -- Игорь Сысоев http://sysoev.ru From mdounin на mdounin.ru Fri Jul 29 12:24:34 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 29 Jul 2011 16:24:34 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: References: <20110729073430.GG50032@sysoev.ru> <20110729093128.GB1137@mdounin.ru> Message-ID: <20110729122434.GC1137@mdounin.ru> Hello! On Fri, Jul 29, 2011 at 03:00:45PM +0400, Evgeny Sinelnikov wrote: > 29 июля 2011 г. 13:31 пользователь Maxim Dounin написал: [...] > > Вот тут есть патч, добавляющий "lingering_close always" и пару > > дополнительных проверок в обычном случае: > > > > http://mailman.nginx.org/pipermail/nginx-devel/2011-July/001016.html > > > > В варианте "always" оно аналогично убранной проверке > > r->lingering_close (т.е. lingering close используется всегда).  Но > > насколько я понимаю конкретная проблема должна полечиться просто за > > счёт дополнительных проверок в обычном случае. > > > > Если не сложно - потестируйте pls. > > Я проверил, изменения доступны здесь: > http://git.altlinux.org/people/sin/packages/nginx.git > http://git.etersoft.ru/people/sin/packages/nginx.git > > Да, всё, отлично. Режим, по умолчанию работает. При "lingering_close > off" проблема стабильно воспроизводится. Новая проверка вида > (r->lingering_close || r->header_in->pos < r->header_in->last || > r->connection->read->ready), вместо только r->lingering_close, решает > проблему и без "lingering_close always". Ок, спасибо. > Кстати, связка "lingering_close always" и "lingering_timeout 0" > приводит к ещё более страшным последствиям... ;) Всмысле? В сочетании с reset_timedout_connection могут быть неприятные эффекты - будет закрывать соединения с RST, ибо таймаут истекает сразу. Впрочем, то же будет иметь место и при не-нулевом таймауте. Наверное имеет смысл ещё вот такой патч: diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2779,7 +2786,6 @@ ngx_http_lingering_close_handler(ngx_eve "http lingering close handler"); if (rev->timedout) { - c->timedout = 1; ngx_http_close_request(r, 0); return; } Maxim Dounin From sin на altlinux.ru Fri Jul 29 12:41:39 2011 From: sin на altlinux.ru (Evgeny Sinelnikov) Date: Fri, 29 Jul 2011 16:41:39 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: <20110729122434.GC1137@mdounin.ru> References: <20110729073430.GG50032@sysoev.ru> <20110729093128.GB1137@mdounin.ru> <20110729122434.GC1137@mdounin.ru> Message-ID: 29 июля 2011 г. 16:24 пользователь Maxim Dounin написал: > Hello! > > On Fri, Jul 29, 2011 at 03:00:45PM +0400, Evgeny Sinelnikov wrote: > >> Кстати, связка "lingering_close always" и "lingering_timeout 0" >> приводит к ещё более страшным последствиям... ;) > > Всмысле? Ну, вроде ожидание включено, а таймаут равен нулю. Противоречивая пара настроек. > В сочетании с reset_timedout_connection могут быть неприятные эффекты - будет > закрывать соединения с RST, ибо таймаут истекает сразу.  Впрочем, то же будет > иметь место и при не-нулевом таймауте.  Наверное имеет смысл ещё вот такой > патч: > > diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c > --- a/src/http/ngx_http_request.c > +++ b/src/http/ngx_http_request.c > @@ -2779,7 +2786,6 @@ ngx_http_lingering_close_handler(ngx_eve >                    "http lingering close handler"); > >     if (rev->timedout) { > -        c->timedout = 1; >         ngx_http_close_request(r, 0); >         return; >     } > Это я сегодня проверить уже не успею... Каковы условия проверки, тоже не совсем понял. "reset_timedout_connection on" и "lingering_timeout 0" без этого патча может может себя вести не корректно, так? -- Sin (Sinelnikov Evgeny) Etersoft From nginx-forum на nginx.us Fri Jul 29 13:01:59 2011 From: nginx-forum на nginx.us (somebi) Date: Fri, 29 Jul 2011 09:01:59 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQsCDQuNCz0L3QvtGA0LjRgNGD0LXRgiBHRVQg?= =?UTF-8?B?0L/QsNGA0LDQvNC10YLRgNGLINCyIExvY2F0aW9uINCx0LvQvtC60LU=?= In-Reply-To: <201107241746.10921.ne@vbart.ru> References: <201107241746.10921.ne@vbart.ru> Message-ID: Слишком много директив запрещено использовать внутри if как тогда быть. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212887,213092#msg-213092 From mdounin на mdounin.ru Fri Jul 29 13:04:39 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 29 Jul 2011 17:04:39 +0400 Subject: =?UTF-8?B?UmU6IEZ3ZDogTmdpbngg0L/RgNC4INC+0LHQvdC+0LLQu9C10L3QuNC4INCx0L4=?= =?UTF-8?B?0LvRjNGI0L7Qs9C+INGH0LjRgdC70LAg0L/QsNC60LXRgtC+0LIgQVBU?= In-Reply-To: References: <20110729073430.GG50032@sysoev.ru> <20110729093128.GB1137@mdounin.ru> <20110729122434.GC1137@mdounin.ru> Message-ID: <20110729130439.GD1137@mdounin.ru> Hello! On Fri, Jul 29, 2011 at 04:41:39PM +0400, Evgeny Sinelnikov wrote: > 29 июля 2011 г. 16:24 пользователь Maxim Dounin написал: > > Hello! > > > > On Fri, Jul 29, 2011 at 03:00:45PM +0400, Evgeny Sinelnikov wrote: > > > >> Кстати, связка "lingering_close always" и "lingering_timeout 0" > >> приводит к ещё более страшным последствиям... ;) > > > > Всмысле? > > Ну, вроде ожидание включено, а таймаут равен нулю. Противоречивая пара настроек. Начинает ожидать (и даже вычитывает из сокета, если есть что), но сразу за этим срабатывает таймаут. Тут я проблем не вижу, наоборот - предыдущий подход с lingering_timeout 0 отключающим lingering мне кажется странным. Вопрос был именно о том, к каким "более страшным последствиям" это приводит. > > В сочетании с reset_timedout_connection могут быть неприятные эффекты - будет > > закрывать соединения с RST, ибо таймаут истекает сразу.  Впрочем, то же будет > > иметь место и при не-нулевом таймауте.  Наверное имеет смысл ещё вот такой > > патч: > > > > diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c > > --- a/src/http/ngx_http_request.c > > +++ b/src/http/ngx_http_request.c > > @@ -2779,7 +2786,6 @@ ngx_http_lingering_close_handler(ngx_eve > >                    "http lingering close handler"); > > > >     if (rev->timedout) { > > -        c->timedout = 1; > >         ngx_http_close_request(r, 0); > >         return; > >     } > > > > Это я сегодня проверить уже не успею... Каковы условия проверки, тоже > не совсем понял. "reset_timedout_connection on" и "lingering_timeout > 0" без этого патча может может себя вести не корректно, так? При и "reset_timedout_connection on;" соединение закрывается с RST если использовался lingering close и истёк lingering_timeout. Проблема как раз должна хорошо воспроизводится при использовании reset_timedout_connection on; lingering_close always; lingering_timeout 0; в конфиге (собственно, я предполагаю что под "более страшными последствиями" выше имеется ввиду именно эта проблема). Патч отключает reset_timedout_connection если таймаут случился при lingering close, т.е. проблема должна перестать воспроизводится. Maxim Dounin From igor на sysoev.ru Fri Jul 29 13:12:13 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 17:12:13 +0400 Subject: =?UTF-8?B?UmU6INCg0LXQs9GD0LvRj9GA0LrQsCDQuNCz0L3QvtGA0LjRgNGD0LXRgiBHRVQg?= =?UTF-8?B?0L/QsNGA0LDQvNC10YLRgNGLINCyIExvY2F0aW9uINCx0LvQvtC60LU=?= In-Reply-To: References: <201107241746.10921.ne@vbart.ru> Message-ID: <20110729131212.GI56287@sysoev.ru> On Fri, Jul 29, 2011 at 09:01:59AM -0400, somebi wrote: > Слишком много директив запрещено > использовать внутри if как тогда быть. быть тогда непонятно какой вопрос регулярка From nginx-forum на nginx.us Fri Jul 29 14:24:35 2011 From: nginx-forum на nginx.us (portos) Date: Fri, 29 Jul 2011 10:24:35 -0400 Subject: =?UTF-8?B?0J/RgNC+0LfRgNCw0YfQvdC+0LUg0LrRjdGI0LjRgNC+0LLQsNC90LjQtSDQsiBu?= =?UTF-8?B?Z2lueA==?= Message-ID: <420f8e810f2b1a926f7ca0060a99f940.NginxMailingListRussian@forum.nginx.org> Всем привет. Собственно в чем проблема. При проверке сайта утилитой ab -n 1000 -c 100 http://www.mysite.com/ - сайт мгновенно падает и даже если выставить параметр -n 100 - ситуация та же. Нашел статью по решению этой проблемы: http://habrahabr.ru/blogs/nginx/124684/ Все делаю как описано в статье. Вот мой конфиг /etc/ngnix/sites-available/000-mysite.com server { listen 192.168.1.1:80; server_name mysite.com www.mysite.com; location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/|cgi-bin/) { proxy_pass http://192.168.1.1: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://192.168.1.1: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; proxy_cache cache; proxy_cache_valid 10m; proxy_cache_valid 404 1m; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ { root /srv/d_mysite/www/mysite.com/htdocs; access_log /srv/d_mysite/www/mysite.com/logs/nginx-mysite.com-access.log; error_page 404 = @fallback; } location @fallback { proxy_pass http://192.168.1.1: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; } } proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=cache:30m max_size=1G; proxy_temp_path /var/lib/nginx/proxy 1 2; proxy_ignore_headers Expires Cache-Control; proxy_cache_use_stale error timeout invalid_header http_502; proxy_cache_bypass $cookie_session; proxy_no_cache $cookie_session; После рестарта ngnix я получаю сообщение об ошибке: Restarting nginx: nginx: [emerg] the size 31457280 of shared memory zone "cache" conflicts with already declared size 0 in /etc/nginx/sites-enabled/000-mysite.com:36 nginx: configuration file /etc/nginx/nginx.conf test failed Вот сам файл /etc/nginx/nginx.conf user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #} Версия ngnix nginx -V nginx: nginx version: nginx/1.0.5 nginx: TLS SNI support enabled nginx: configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-echo --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-upstream-fair apache2 -v Server version: Apache/2.2.14 (Ubuntu) lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 10.04.3 LTS Release: 10.04 Codename: lucid Помогите решить этот вопрос. Или возможно есть другой способ защиты от такой "атаки"? Спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213099,213099#msg-213099 From kaa на zvuki.ru Fri Jul 29 15:11:26 2011 From: kaa на zvuki.ru (Andrey Kopeyko) Date: Fri, 29 Jul 2011 19:11:26 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtC30YDQsNGH0L3QvtC1INC60Y3RiNC40YDQvtCy0LDQvdC40LUg?= =?UTF-8?B?0LIgbmdpbng=?= In-Reply-To: <420f8e810f2b1a926f7ca0060a99f940.NginxMailingListRussian@forum.nginx.org> References: <420f8e810f2b1a926f7ca0060a99f940.NginxMailingListRussian@forum.nginx.org> Message-ID: <4E32CD9E.7060607@zvuki.ru> 29.07.2011 18:24, portos пишет: > > Restarting nginx: nginx: [emerg] the size 31457280 of shared memory zone > "cache" conflicts with already declared size 0 in > /etc/nginx/sites-enabled/000-mysite.com:36 > nginx: configuration file /etc/nginx/nginx.conf test failed > > Вот сам файл /etc/nginx/nginx.conf [...] > include /etc/nginx/conf.d/*.conf; > include /etc/nginx/sites-enabled/*; > } Вероятно, где-то в включаемых ранее /etc/nginx/conf.d/*.conf уже определена зона "cache". Попробуйте использовать другое имя. -- Best regards, Andrey Kopeyko From igor на sysoev.ru Fri Jul 29 15:30:23 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 19:30:23 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtC30YDQsNGH0L3QvtC1INC60Y3RiNC40YDQvtCy0LDQvdC40LUg?= =?UTF-8?B?0LIgbmdpbng=?= In-Reply-To: <420f8e810f2b1a926f7ca0060a99f940.NginxMailingListRussian@forum.nginx.org> References: <420f8e810f2b1a926f7ca0060a99f940.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110729153023.GL56287@sysoev.ru> On Fri, Jul 29, 2011 at 10:24:35AM -0400, portos wrote: > Всем привет. > Собственно в чем проблема. При проверке > сайта утилитой > ab -n 1000 -c 100 http://www.mysite.com/ - сайт мгновенно > падает и даже если выставить параметр -n > 100 - ситуация та же. > Нашел статью по решению этой проблемы: > http://habrahabr.ru/blogs/nginx/124684/ > Все делаю как описано в статье. Вот мой > конфиг /etc/ngnix/sites-available/000-mysite.com > > server { > listen 192.168.1.1:80; > server_name mysite.com www.mysite.com; > > location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/|cgi-bin/) { > proxy_pass http://192.168.1.1: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://192.168.1.1: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; > > proxy_cache cache; > proxy_cache_valid 10m; > proxy_cache_valid 404 1m; > > > } > location ~* > ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ { > root /srv/d_mysite/www/mysite.com/htdocs; > access_log > /srv/d_mysite/www/mysite.com/logs/nginx-mysite.com-access.log; > error_page 404 = @fallback; > } > location @fallback { > proxy_pass http://192.168.1.1: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; > } > } > > proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=cache:30m > max_size=1G; > proxy_temp_path /var/lib/nginx/proxy 1 2; > proxy_ignore_headers Expires Cache-Control; > proxy_cache_use_stale error timeout invalid_header http_502; > proxy_cache_bypass $cookie_session; > proxy_no_cache $cookie_session; > > После рестарта ngnix я получаю сообщение > об ошибке: > > Restarting nginx: nginx: [emerg] the size 31457280 of shared memory zone > "cache" conflicts with already declared size 0 in > /etc/nginx/sites-enabled/000-mysite.com:36 > nginx: configuration file /etc/nginx/nginx.conf test failed Поставьте директиву proxy_cache_path до server { server_name mysite.com www.mysite.com; -- Игорь Сысоев http://sysoev.ru From igor на sysoev.ru Fri Jul 29 15:31:40 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Fri, 29 Jul 2011 19:31:40 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtC30YDQsNGH0L3QvtC1INC60Y3RiNC40YDQvtCy0LDQvdC40LUg?= =?UTF-8?B?0LIgbmdpbng=?= In-Reply-To: <420f8e810f2b1a926f7ca0060a99f940.NginxMailingListRussian@forum.nginx.org> References: <420f8e810f2b1a926f7ca0060a99f940.NginxMailingListRussian@forum.nginx.org> Message-ID: <20110729153140.GM56287@sysoev.ru> On Fri, Jul 29, 2011 at 10:24:35AM -0400, portos wrote: > Нашел статью по решению этой проблемы: > http://habrahabr.ru/blogs/nginx/124684/ В чём заключается прозрачность такого кэширования - для меня загадка. -- Игорь Сысоев http://sysoev.ru From nginx-forum на nginx.us Sat Jul 30 20:05:09 2011 From: nginx-forum на nginx.us (ksevelyar) Date: Sat, 30 Jul 2011 16:05:09 -0400 Subject: =?UTF-8?B?0J3Rg9C20LXQvSDQu9C4IG1vZCBkZWZsYXRlINCQ0L/QsNGH0LAg0L/RgNC4INC6?= =?UTF-8?B?0L7QvNCx0L4gQXBhY2hlMitOZ2lueD8=?= Message-ID: Используется ли сжатие Nginx для .php файлов, которые отдаёт Apache (настроено проксирование .php на Apache)? Нужен ли мне mod_deflate Апача для комбинации Apache2+Nginx и включенным сжатием у последнего? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213131,213131#msg-213131 From nginx-forum на nginx.us Sat Jul 30 21:50:27 2011 From: nginx-forum на nginx.us (ruslansvs) Date: Sat, 30 Jul 2011 17:50:27 -0400 Subject: nginx+php-fpm php.ini Message-ID: <4de54da72d255e0f9ea39101ba9d8852.NginxMailingListRussian@forum.nginx.org> Подскажите пожалуйста как разнести php.ini на разные сайты используя nginx-php-fpm. Считаю необходимо настроить php-fpm.conf на разные сокеты. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213134,213134#msg-213134 From nginx-forum на nginx.us Sat Jul 30 21:53:25 2011 From: nginx-forum на nginx.us (ruslansvs) Date: Sat, 30 Jul 2011 17:53:25 -0400 Subject: =?UTF-8?B?UmU6INCd0YPQttC10L0g0LvQuCBtb2QgZGVmbGF0ZSDQkNC/0LDRh9CwINC/0YA=?= =?UTF-8?B?0Lgg0LrQvtC80LHQviBBcGFjaGUyK05naW54Pw==?= In-Reply-To: References: Message-ID: <62d610b6786265c9e5488a91adf9dec2.NginxMailingListRussian@forum.nginx.org> (настроено проксирование .php на Apache) -- лучше настройте сразу php-fpm Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213131,213135#msg-213135 From sytar.alex на gmail.com Sat Jul 30 22:54:49 2011 From: sytar.alex на gmail.com (Aleksandr Sytar) Date: Sun, 31 Jul 2011 02:54:49 +0400 Subject: =?UTF-8?B?UmU6INCd0YPQttC10L0g0LvQuCBtb2QgZGVmbGF0ZSDQkNC/0LDRh9CwINC/0YA=?= =?UTF-8?B?0Lgg0LrQvtC80LHQviBBcGFjaGUyK05naW54Pw==?= In-Reply-To: References: Message-ID: 31 июля 2011 г. 0:05 пользователь ksevelyar написал: > Используется ли сжатие Nginx для .php > файлов, которые отдаёт Apache (настроено > проксирование .php на Apache)? Может проксировать как сжатый контент, так и сжимать самостоятельно. Все зависит от вашех потребностей. > Нужен ли мне mod_deflate Апача для > комбинации Apache2+Nginx и включенным > сжатием у последнего? From igor на sysoev.ru Sun Jul 31 17:59:49 2011 From: igor на sysoev.ru (Igor Sysoev) Date: Sun, 31 Jul 2011 21:59:49 +0400 Subject: =?UTF-8?B?UmU6INCd0YPQttC10L0g0LvQuCBtb2QgZGVmbGF0ZSDQkNC/0LDRh9CwINC/0YA=?= =?UTF-8?B?0Lgg0LrQvtC80LHQviBBcGFjaGUyK05naW54Pw==?= In-Reply-To: References: Message-ID: <20110731175949.GC16721@sysoev.ru> On Sat, Jul 30, 2011 at 04:05:09PM -0400, ksevelyar wrote: > Используется ли сжатие Nginx для .php > файлов, которые отдаёт Apache (настроено > проксирование .php на Apache)? > > Нужен ли мне mod_deflate Апача для > комбинации Apache2+Nginx и включенным > сжатием у последнего? Не нужен. И даже вреден, если используется кэширование на nginx. -- Игорь Сысоев http://sysoev.ru From public-mail на alekciy.ru Sun Jul 31 18:15:34 2011 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Sun, 31 Jul 2011 22:15:34 +0400 Subject: nginx+php-fpm php.ini In-Reply-To: <4de54da72d255e0f9ea39101ba9d8852.NginxMailingListRussian@forum.nginx.org> References: <4de54da72d255e0f9ea39101ba9d8852.NginxMailingListRussian@forum.nginx.org> Message-ID: С 5.3 версии (если не ошибаюсь) в файле php-fpm можно прописывать pool-ы. Делаем один пул - один сайт: [example.com] listen=/var/www/example.com/fastcgi.socket ... [example.net] listen=/var/www/example.net/fastcgi.socket ... 31 июля 2011 г. 1:50 пользователь ruslansvs написал: > Подскажите пожалуйста как разнести > php.ini на разные сайты используя nginx-php-fpm. > Считаю необходимо настроить php-fpm.conf на > разные сокеты. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,213134,213134#msg-213134 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > From gmm на csdoc.com Sun Jul 31 18:53:18 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sun, 31 Jul 2011 21:53:18 +0300 Subject: proxy_cache / fastcgi_cache / uwsgi_cache / ... In-Reply-To: <20110731175949.GC16721@sysoev.ru> References: <20110731175949.GC16721@sysoev.ru> Message-ID: <4E35A49E.5000307@csdoc.com> On 31.07.2011 20:59, Igor Sysoev wrote: >> Нужен ли мне mod_deflate Апача для >> комбинации Apache2+Nginx и включенным >> сжатием у последнего? > Не нужен. И даже вреден, если используется кэширование на nginx. не было бы более эффективным сохранять в cache сразу сжатый через gzip -9 ответ, чтобы потом не тратить время и ресурсы процессора, сжимая этот контент при каждой отдаче клиентам? ...и потом только *меньшей* части клиентов, которым надо отдать ответ в не-сжатом виде - им можно будет на лету контент разжать и отдать. причем, дисковая подсистема при этом будет испытывать меньшую нагрузку, потому что надо будет (значительно) меньший объем данных читать/писать. да и операция gunzip выполняется быстрее, чем gzip, создавая тем самым меньшую нагрузку на CPU сервера. да и ответ на запрос из кеша nginx сможет отдавать для *большинства* клиентов гораздо более эффективно, используя системный вызов sendfile() объем оперативной памяти для современных серверов - это уже давно не проблема, самым узким местом будет сначала дисковая подсистема (при random read / random write), потом CPU, и только после этого - узким местом будет объем памяти. сейчас - если клиент понимает сжатый контент (большинство клиентов в современном интернете) - nginx считывает контент с диска в открытом виде, на лету его сжимает заново для каждого клиента и только потом отдает клиенту. и сейчас - только для *меньшей* части клиентов - может отдать его более эффективно, напрямую из файла кеша через sendfile() P.S. это будет также актуально и в ближайшем будущем, если кто-то разместит кеш nginx на SSD устройстве, - чтобы уменьшить износ SSD, записывая на него при каждом обновлении кеша меньший объем информации, сохраняя в кеше сразу уже только сжатый вариант кешированного контента. -- Best regards, Gena From gmm на csdoc.com Sun Jul 31 19:08:37 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sun, 31 Jul 2011 22:08:37 +0300 Subject: Load balancer with traffic limit In-Reply-To: References: <4E1F63B2.6030007@itcraft.org> <4E1FFEDD.7030408@amhost.net> <4E200149.60307@itcraft.org> <4E25BA8B.2090907@itcraft.org> <4E271D1E.3020704@itcraft.org> <4E272B7A.5020601@csdoc.com> Message-ID: <4E35A835.2030805@csdoc.com> On 21.07.2011 9:03, Pasha Klets wrote: > я бы постеснялся в этот список включать ucarp, > если честно, вы его на практике пробовали ? uCARP - нет. только читал про него в презентации яндекса: http://download.yandex.ru/company/experience/rit2008/highload_lapan.pdf > Про ucarp - могу скачать что это очень сырая и кривая реализация, > которую непонятно кто использует в продакшене, я так и не нашел > упоминаний. ясно. значит скорее всего это опечатка у них в презентации, и они в данный момент у себя используют уже что-то другое. -- Best regards, Gena From mdounin на mdounin.ru Sun Jul 31 19:15:54 2011 From: mdounin на mdounin.ru (Maxim Dounin) Date: Sun, 31 Jul 2011 23:15:54 +0400 Subject: proxy_cache / fastcgi_cache / uwsgi_cache / ... In-Reply-To: <4E35A49E.5000307@csdoc.com> References: <20110731175949.GC16721@sysoev.ru> <4E35A49E.5000307@csdoc.com> Message-ID: <20110731191554.GT1137@mdounin.ru> Hello! On Sun, Jul 31, 2011 at 09:53:18PM +0300, Gena Makhomed wrote: > On 31.07.2011 20:59, Igor Sysoev wrote: > > >>Нужен ли мне mod_deflate Апача для > >>комбинации Apache2+Nginx и включенным > >>сжатием у последнего? > > >Не нужен. И даже вреден, если используется кэширование на nginx. > > не было бы более эффективным сохранять в cache сразу сжатый > через gzip -9 ответ, чтобы потом не тратить время и ресурсы > процессора, сжимая этот контент при каждой отдаче клиентам? > > ...и потом только *меньшей* части клиентов, которым надо отдать ответ > в не-сжатом виде - им можно будет на лету контент разжать и отдать. Кто ж мешает. http://mdounin.ru/hg/ngx_http_gunzip_filter_module Maxim Dounin From gmm на csdoc.com Sun Jul 31 20:07:15 2011 From: gmm на csdoc.com (Gena Makhomed) Date: Sun, 31 Jul 2011 23:07:15 +0300 Subject: proxy_cache / fastcgi_cache / uwsgi_cache / ... In-Reply-To: <20110731191554.GT1137@mdounin.ru> References: <20110731175949.GC16721@sysoev.ru> <4E35A49E.5000307@csdoc.com> <20110731191554.GT1137@mdounin.ru> Message-ID: <4E35B5F3.5020801@csdoc.com> On 31.07.2011 22:15, Maxim Dounin wrote: >>>> Нужен ли мне mod_deflate Апача для >>>> комбинации Apache2+Nginx и включенным >>>> сжатием у последнего? >> >>> Не нужен. И даже вреден, если используется кэширование на nginx. >> >> не было бы более эффективным сохранять в cache сразу сжатый >> через gzip -9 ответ, чтобы потом не тратить время и ресурсы >> процессора, сжимая этот контент при каждой отдаче клиентам? >> >> ...и потом только *меньшей* части клиентов, которым надо отдать ответ >> в не-сжатом виде - им можно будет на лету контент разжать и отдать. > > Кто ж мешает. > > http://mdounin.ru/hg/ngx_http_gunzip_filter_module дело не в том, что кто-то мешает, просто никак не могу понять почему в nginx сейчас используется по умолчанию менее эффективный алгоритм, а более эффективный алгоритм можно включить только если сжимать контент на backend-сервере (apache) и поставить дополнительный модуль, который сейчас не входит в официальную поставку nginx. возможно при таком методе работы есть какие-то неочевидные нюансы и глюки, поэтому по дефолту такой режим не используется для кэша? и вот еще один совсем не понятный момент, - по умолчанию gunzip (on|off) Default: off "gunzipping responses returned with Content-Encoding: gzip for clients that doesn't support it" - по умолчанию выключено, хотя такие клиенты скорее всего из-за этого не могут понять ответ, сжатый через gzip, да и поведение nginx будет не соответствовать RFC - клиент не сказал, что он понимает сжатый ответ, но nginx вернет ему сжатый ответ. Это примерно то же самое, как если nginx говорит backend-серверу, что понимает только протокол HTTP версии 1.0, а backend-сервер ему не верит, и присылает в ответ HTTP 1.1 c Chunked transfer encoding. С моей точки зрения, логично чтобы этот модуль по умолчанию входил в состав nginx и по умолчанию чтобы он был включен, "Default: on", и чтобы по умолчанию в кеше nginx хранился сжатый через gzip контент. В действительности - все наоборот, значит я не понимаю какие-то нюансы, почему сейчас и применяются по умолчанию совсем другие значения в nginx. -- Best regards, Gena