proforg | 11 Mar 17:07
Picon
Gravatar

использование {} в rewrite

Пытаюсь написать такой вот rewrite, например
rewrite ^/([[:xdigit:]]{16})/(\w+\.avi)$ /video/$2 last;

а nginx -t говорит что
[emerg]: directive "rewrite" is not terminated by ";"

То есть понятно, в принципе, почему.
Но что с этим делать ?
Или я хочу странного и просто стоит ограничится + ?

--

-- 
Aleksej Besciokov
EMail/JID: proforg <at> maloletka.ru
phone: +7 495 7853149
_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Sergej Kandyla | 11 Mar 13:07
Picon

limit_req_zone, переменный rate

Господа,  пытаюсь передать в limit_req_zone  rate в качестве переменной.
nginx/0.8.34
centos5.4 i386

тест конфига проходит вполне успешно

http {
       limit_req_zone $binary_remote_addr zone=one:10m $rate;
        ..

server {
       location / {
                limit_req zone=one ;
                set $rate "rate=3r/s";
                proxy_pass              ....;

но на деле оказывается какая-то фигня,  пробовал
выставлять различные 
значения, например  "rate=1r/m" - какие-то запросы
проходят, какие-то нет,
в логе примерно такое:

2010/03/11 13:55:21 [error] 12212#0: *20 limiting requests, excess: 
0.000 by zone "one", client: XXX, server: XXX, request: "GET /?p=10 
HTTP/1.1", host: "XXX", referrer: "http://XXX/?p=1"

вообщем работает непредсказуемо. В тоже время, если
прописать rate зоны 
статически - то работает как и должно.

(Continue reading)

kima | 11 Mar 12:43
Picon

http xslt module - не находит библиотеку

ОС Solaris 10 . При конфигурировании, не находит
библиотеки libxml2\libxslt . Ставил их через pkg-get . В PATH,
LD_LIBRARY_PATH - библиотеки есть.

это вывод ошибки:
checking for libxslt ... not found                                                                                                                               
checking for libxslt in /usr/local/ ... not found                                                                                                                
checking for libxslt in /usr/pkg/ ... not found                                                                                                                  
checking for libxslt in /opt/local/ ... not found                                                                                                                

./configure: error: the HTTP XSLT module requires the libxml2/libxslt
libraries. You can either do not enable the module or install the libraries.

как можно видеть в /opt/scw/lib почему-то даже и не пытается искать.

Может быть все-таки как-то можно собрать с этим модулем?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,62659,62659#msg-62659

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
dagr | 11 Mar 12:21
Picon

limit_req_zone

Хочется чтобы ключом зоны был не просто $binary_remote_addr  , а
например еще и кука (именно еще), потому что понятно,
что айпи может быть один на весь офис. Но вот проблема - 
директивы типа 
limit_req_zone  "$binary_remote_addr$cookie_PHPSESSID"    zone=req1:10m   rate=10r/s 
не прокатывают , nginx ищет переменную
binary_remote_addr$cookie_PHPSESSID 
А выставить переменную при помощи set не получается ,
потому что set пашет только в server, location  , а limit_req_zone  пашет
только в http. 

Есть варианты это обойти ?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,62652,62652#msg-62652

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
squirl | 11 Mar 11:19
Picon

proxy_store взаимный - логика работы.

Здравствуйте.

Имеются два картинкоотдающих бэкенда. Картинки на
них кладуться по WebDAV, переодически случается такое,
что на один из бэкендов заливка отваливается.
Чтобы бэкенды "взаимно" синхронизировались сделал
следующим образом на каждом:

------------------------------------------------------------------------------------------------------------
location / { 
            root /storage;
            rewrite ^/.*/((\d+)\d\d\d\d\.jpg)$ /img/$lang/$size/$2/$1 break;
            error_page  404 = @fetch;
       }   
       location @fetch {
            internal;
            proxy_pass           http://IP_address_of_another_backend;
            proxy_store          on; 
            proxy_store_access   user:rw  group:rw  all:r;
            proxy_temp_path      /storage/temp;
            root                 /storage;
        }   
------------------------------------------------------------------------------------------------------------

т. е. - не нашли на одном бэкенде, сходили на второй,
сохранили себе и отдаем.

Интересует, каким образом обрабатывается ситуация,
когда файла нету на обоих бэкендах? Я боялся, что
возникнет рекурсия и бэкенды будут таскаться друг к
(Continue reading)

Picon

Имена пользователей в виде субдоменов

Ситуация такая. Нужно, чтобы name.host.ru фактически запрашивал host.ru/users/name/, ну и соответственно запрос name.host.ru/request преобразовывался в host.ru/users/name/request. При этом в урле должен оставаться субдомен, редиректа или визуального реврайта быть не должно. Решить казалось бы простую задачу никак не получается, прошу помощи спецов. Текщий конфиг такой:


    server {
            listen       host.ru;
            server_name host.ru www.host.ru;
            error_log /sites/host.ru/error.log;

            location / {

                    root   /sites/host.ru;
                    index  index.php index.html index.htm;

                    if (-f $request_filename) {
                            break;
                    }

                    if (!-e $request_filename) {
                            rewrite ^(.+)$ /index.php last;
                            break;
                    }
            }
            location ~ \.php$
            {
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME /sites/host.ru$fastcgi_script_name;
                    fastcgi_param PATH_INFO $fastcgi_script_name;
                    include /opt/local/etc/nginx/fastcgi_params;
            }

    }
_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Alexander Azarov | 11 Mar 09:36
Picon
Gravatar

worker 100% cpu

Раз в 3-4 дня случается такое, что nginx worker занимает 100% CPU.  
Приходится делать ему kill -KILL.

$ uname -a
Linux r1 2.6.26-2-vserver-amd64 #1 SMP Thu Nov 5 03:47:07 UTC 2009  
x86_64 GNU/Linux

$ /usr/local/sbin/nginx -V
nginx version: nginx/0.7.64
built by gcc 4.3.2 (Debian 4.3.2-1.1)
TLS SNI support enabled
configure arguments: --prefix=/usr/local --conf-path=/etc/nginx/ 
nginx.conf --pid-path=/var/run/nginx.pid --user=www-data --group=www- 
data --with-md5=/usr --http-proxy-temp-path=/var/cache/nginx/tmp_proxy  
--http-fastcgi-temp-path=/var/cache/nginx/tmp_fcgi --http-client-body- 
temp-path=/var/cache/nginx/tmp_body --with-http_stub_status_module -- 
with-cc-opt=-I/usr/include/pcre --with-ld-opt=-L/usr/lib --with- 
http_perl_module --with-http_realip_module --with-http_sub_module -- 
with-debug --without-mail_pop3_module --without-mail_imap_module -- 
without-mail_smtp_module --with-http_gzip_static_module --with- 
http_ssl_module --with-http_image_filter_module

Конфигурация использует proxy_pass, proxy_cache, image_filter.

Backtrace в gdb:

[Thread debugging using libthread_db enabled]
[New Thread 0x7f77ecd6c6e0 (LWP 31206)]
0x00007f77eb01c723 in writev () from /lib/libc.so.6
#0  0x00007f77eb01c723 in writev () from /lib/libc.so.6
#1  0x000000000042ce54 in ngx_linux_sendfile_chain (c=0x7f77e975afa0,  
in=0x0, limit=2147479551)
     at src/os/unix/ngx_linux_sendfile_chain.c:288
#2  0x000000000044017f in ngx_http_write_filter (r=0x92db20, in=0x0)
     at src/http/ngx_http_write_filter_module.c:238
#3  0x000000000044f250 in ngx_http_chunked_body_filter (r=0x92db20,  
in=0x7fff0f316ac0)
     at src/http/modules/ngx_http_chunked_filter_module.c:84
#4  0x000000000045417c in ngx_http_gzip_body_filter (r=0x92db20, in=0x0)
     at src/http/modules/ngx_http_gzip_filter_module.c:304
#5  0x00000000004550d1 in ngx_http_postpone_filter (r=0x92db20, in=0x0)
     at src/http/ngx_http_postpone_filter_module.c:82
#6  0x0000000000455ff0 in ngx_http_charset_body_filter (r=0x92db20,  
in=0x7fff0f316ac0)
     at src/http/modules/ngx_http_charset_filter_module.c:552
#7  0x00000000004577d2 in ngx_http_ssi_body_filter (r=0x92db20,  
in=0xffffffffffffffff)
     at src/http/modules/ngx_http_ssi_filter_module.c:395
#8  0x000000000045b56a in ngx_http_image_body_filter (r=0x92db20,  
in=0x0)
     at src/http/modules/ngx_http_image_filter_module.c:263
#9  0x000000000045c860 in ngx_http_sub_body_filter (r=0x1f, in=0x0)
     at src/http/modules/ngx_http_sub_filter_module.c:178
#10 0x0000000000412db5 in ngx_output_chain (ctx=0x7e9f38, in=0x0) at  
src/core/ngx_output_chain.c:58
#11 0x0000000000440505 in ngx_http_copy_filter (r=0x92db20, in=0x0)
     at src/http/ngx_http_copy_filter_module.c:110
#12 0x000000000044f4b2 in ngx_http_range_body_filter (r=0x92db20,  
in=0x0)
     at src/http/modules/ngx_http_range_filter_module.c:549
#13 0x0000000000434b31 in ngx_http_output_filter (r=0x92db20, in=0x0)
     at src/http/ngx_http_core_module.c:1690
#14 0x000000000042655c in ngx_event_pipe (p=0x7f6bd0, do_write=<value  
optimized out>)
     at src/event/ngx_event_pipe.c:625
#15 0x0000000000448faf in ngx_http_upstream_process_upstream  
(r=0x92db20, u=0x7f6828)
     at src/http/ngx_http_upstream.c:2502
#16 0x0000000000449134 in ngx_http_upstream_handler (ev=0x7f77e95b2e60)
     at src/http/ngx_http_upstream.c:830
#17 0x000000000042444a in ngx_event_process_posted (cycle=0x830290,  
posted=0x698328)
     at src/event/ngx_event_posted.c:39
#18 0x000000000042426e in ngx_process_events_and_timers (cycle=0x830290)
     at src/event/ngx_event.c:272
#19 0x000000000042ac12 in ngx_worker_process_cycle (cycle=0x830290,  
data=<value optimized out>)
     at src/os/unix/ngx_process_cycle.c:781
#20 0x0000000000429303 in ngx_spawn_process (cycle=0x830290,
     proc=0x42ab1f <ngx_worker_process_cycle>, data=0x0, name=0x47434e  
"worker process", respawn=-4)
     at src/os/unix/ngx_process.c:194
#21 0x000000000042a139 in ngx_start_worker_processes (cycle=0x830290,  
n=6, type=-4)
     at src/os/unix/ngx_process_cycle.c:345
#22 0x000000000042b989 in ngx_master_process_cycle (cycle=0x830290)
     at src/os/unix/ngx_process_cycle.c:239
#23 0x0000000000410151 in main (argc=<value optimized out>, argv=0x17)  
at src/core/nginx.c:389

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Samoilov Anton | 10 Mar 20:05
Favicon

связка файл - ип

доброе время суток всем.

Возник такой вопрос, используются nginx для раздачи flv
файлов, к
серверу подключено сейчас 200 мегабит, этот канал еще
не загружен
полностью, обычно висит 20 - 50 файлов в раздаче - цифру получил
так : 
lsof -np `pgrep -xd , nginx` | grep flv | wc -l
но иногда происходит резкий скачок до 100 файлов, и
такое чувство что
они очень медленно тянутся с меня, тем самым
просаживают диски, канал
буквально валится - он свободен но харды забиты вот
этим мелкими
запросиками к крупным файлам.
есть ли возможность сопоставить файл - ип качальщика,
как бы в онлайн ?
или только логи отслеживать ???
ЗЫ. подозреваю что кто то балуется :(, ввел ограничение
4 запроса на ип
- срезало пачку обормотов с качалками :), но умные
остались %)

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
proforg | 10 Mar 14:22
Picon
Gravatar

nginx 0.8.34 segmentation fault

Приветсвую !
после обновления до 0.8.34
nginx начал "падать"

2010/03/10 16:15:00 [alert] 2213#0: worker process 18164 exited on
signal 11 (core dumped)

(gdb) bt
#0  0x00000000004a2729 in ngx_http_fastcgi_process_header
(r=0x3faa8e0) at src/http/modules/ngx_http_fastcgi_module.c:1261
#1  0x0000000000465edd in ngx_http_upstream_process_header
(r=0x3faa8e0, u=0x3fdc9b0) at src/http/ngx_http_upstream.c:1525
#2  0x0000000000464998 in ngx_http_upstream_handler (ev=0x5466220) at
src/http/ngx_http_upstream.c:883
#3  0x000000000042c558 in ngx_event_process_posted (cycle=0x731510,
posted=0x70c740) at src/event/ngx_event_posted.c:39
#4  0x000000000042a28d in ngx_process_events_and_timers
(cycle=0x731510) at src/event/ngx_event.c:272
#5  0x000000000043657f in ngx_worker_process_cycle (cycle=0x731510,
data=0x0) at src/os/unix/ngx_process_cycle.c:795
#6  0x000000000043341e in ngx_spawn_process (cycle=0x731510,
proc=0x4363b2 <ngx_worker_process_cycle>, data=0x0, name=0x4d1b0e
"worker process", respawn=-3)
    at src/os/unix/ngx_process.c:196
#7  0x0000000000435459 in ngx_start_worker_processes (cycle=0x731510,
n=4, type=-3) at src/os/unix/ngx_process_cycle.c:355
#8  0x0000000000434b5c in ngx_master_process_cycle (cycle=0x731510) at
src/os/unix/ngx_process_cycle.c:136
#9  0x00000000004095e4 in main (argc=1, argv=0x7fffffffddd8) at
src/core/nginx.c:396

nginx -V
nginx version: nginx/0.8.34
TLS SNI support enabled
configure arguments: --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-file-aio --with-http_stub_status_module
--with-http_addition_module --with-http_random_index_module
--with-http_flv_module --with-http_ssl_module --with-http_dav_module
--with-http_realip_module --with-http_secure_link_module
--with-http_xslt_module --with-http_addition_module
--with-http_image_filter_module --add-module=mod_zip-1.1.5
--add-module=nginx_uploadprogress_module-0.8.1
--with-http_geoip_module --with-http_sub_module
--add-module=/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/passenger-2.2.7/ext/nginx
--add-module=nginx_upload_module-2.0.12

uname -a
Linux europus 2.6.26-2-openvz-amd64 #1 SMP Thu Feb 11 01:40:09 UTC
2010 x86_64 GNU/Linux

--

-- 
Aleksej Besciokov
EMail/JID: proforg <at> maloletka.ru
phone: +7 495 7853149

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
iitdotsu | 9 Mar 15:51
Picon

Помогите пожалуйста!

Помогите пожалуйста настроить связку апатч+нгинкс
у меня Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 

http://shanson.org.ru/1/new/          - конфиги 

связка работает но както странно не показывает ни
сапу не линкфид модули. что посоветуете? прогуглил
весь интернет.  моя аська 2-252-555. Заранее спасибо!

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,61843,61843#msg-61843

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
agz | 9 Mar 11:44
Picon

rewrite для IPB

Такие вот .htaccess в IPB:

    Order allow,deny
    Deny from all

Генерятся для некоторых директорий...

Добавляю в конфиг nginx:

       location ~* \.(php|cgi|pl|php3|php4|php5|php6|phtml|shtml)$ {
               root /home/tracker/www/forum/cache;
               deny all;
        }

На главной выдает 403 :(
Подскажите, где ошибка!

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,61791,61791#msg-61791

_______________________________________________
nginx-ru mailing list
nginx-ru <at> nginx.org
http://nginx.org/mailman/listinfo/nginx-ru

Gmane