Redirect

2013-10-09 Пенетрантность Cergoo
В Апаче и IIS есть модуль Redirect который маршрутизирует запросы пришедшие
на сервер, в NGINX есть только модуль проксирования, почему отсутсвует
просто модуль редиректа?, ведь зачастую в проксировании(то есть пропускании
через себя и запросов и ответов) необходимости нет.

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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Redirect

2013-10-09 Пенетрантность Den Bozhok
Но ведь есть return:
http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#return

09.10.2013, 13:24, Cergoo nginx-fo...@nginx.us:
 В Апаче и IIS есть модуль Redirect который маршрутизирует запросы пришедшие
 на сервер, в NGINX есть только модуль проксирования, почему отсутсвует
 просто модуль редиректа?, ведь зачастую в проксировании(то есть пропускании
 через себя и запросов и ответов) необходимости нет.

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

 ___
 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

nginx + http redis module кеширование статического контента.

2013-10-09 Пенетрантность Neutrino_9
Добрый день. Предо мной стоит задача кэширования статического контента прямо
в Redis. Для взаимодействия с Redis -ом использую модуль http_redis_module
(http://wiki.nginx.org/HttpRedis). Проблема в том что строчка set $redis_key
 $uri?$args; у меня не работает (OS-mac os-x), то есть когда проверяю, то
в redis-cli нет ключа с значением $uri?$args. Что делать?. Вот мой конфиг 


worker_processes  1;
pid nginx.pid;

events {
worker_connections  1024;
}


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

sendfileon;
   
keepalive_timeout  65;

server {
   listen   80;
   server_name  localhost;
   error_log /var/log/nginx-error.log debug;
   access_log /var/log/nginx_access.log;

   location / {
root /Users/my_comp/nginx/nginx_2/temp_content/;
set $redis_db 1;
set $redis_key  $uri?$args; 
redis_pass  127.0.0.1:6379;
error_page  404 502 504 = @fallback;
 
}

location @fallback {
proxy_pass http://127.0.0.1:6379;
}
}

}

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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Redirect

2013-10-09 Пенетрантность Cergoo
--Но ведь есть return:
--http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#return

Сколь понимаю это посылает клиенту ответ с предписанием перейти по другому
url.

модуль редирект не извещает клиента, он пересылает запрос на новый
адрес(но не подменяет адрес клиента на свой то есть не перехватывает ответы)
и http сервер сам отсылает ответ клиенту минуя редиректора.

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

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Redirect

2013-10-09 Пенетрантность Den Bozhok
Вы об этом?https://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect  09.10.2013, 14:02, "Cergoo" nginx-fo...@nginx.us:--Но ведь есть return:--http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#returnСколь понимаю это посылает клиенту ответ с предписанием перейти по другомуurl.модуль "редирект" не извещает клиента, он пересылает запрос на новыйадрес(но не подменяет адрес клиента на свой то есть не перехватывает ответы)и http сервер сам отсылает ответ клиенту минуя редиректора.Posted at Nginx Forum: http://forum.nginx.org/read.php?21,243543,243547#msg-243547___nginx-ru mailing listnginx-ru@nginx.orghttp://mailman.nginx.org/mailman/listinfo/nginx-ru___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: правильная настройка прокси на несколько сайтов.

2013-10-09 Пенетрантность Maxim Dounin
Hello!

On Wed, Oct 09, 2013 at 11:53:15AM +0400, Vladimir Skubriev wrote:

 Есть сервер с настроенным apache и несклькими Virtualhosts  внутри ЛВС:

[...]

 proxy_pass http://backendredminedev;

[...]

 Проблема в том, что если я попытаюсь откуда нибудь из Интернет зайти
 на https://redmine.examplelab.com, то я почему то попадаю на git и
 вылазит окно авторизации. Веб морда редмаин почему то ни когда не
 открывается.

Когда вы пишете proxy_pass http://backendredminedev; - на бекенд 
уходит заголовок Host: backendredminedev.

Если на бекенде при этом используются виртуальные сервера - то 
нужно либо прописать нужное имя в алиасы, либо, наоборот, обучить 
nginx использовать нужное имя в запросе (обычно это делается с 
помощью proxy_set_header Host $host; в конфиге nginx'а).  Иначе 
бекенд не сможет правильно выбрать виртуальный сервер - он же 
ничего не знает про backendredminedev.

Ссылки по теме:

http://nginx.org/r/proxy_pass
http://nginx.org/r/proxy_set_header

 Что нужно почитать перед тем, как браться настраивать веб сервер?
 Просто обычно делаешь все по каким нибудь статьям в Интернет. Спору
 нет к результату приходишь. Но ясности понимания работы HTTP это не
 привносит.

Если хочется полноценного понимания - я бы рекомендовал 
ознакомиться со стандартом, RFC 2616:

http://tools.ietf.org/html/rfc2616

Но это может быть немного сложно на начальном этапе, возможно 
имеет смысл поискать что-нибудь более популярное - например, 
начать со статьи в Bикипедии:

http://en.wikipedia.org/wiki/HTTP 

Более приятных популярных источников не подскажу, sorry.  Общий 
совет - осторожнее с русскоязычными документами - они в заметном 
проценте случаев оставляют желать.

Что же касается nginx'а, то в первую очередь имеет смысл 
ознакомиться вот с этими тремя статьями:

http://nginx.org/ru/docs/http/request_processing.html
http://nginx.org/ru/docs/http/server_names.html
http://nginx.org/ru/docs/http/configuring_https_servers.html

-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx + http redis module кеширование статического контента.

2013-10-09 Пенетрантность Maxim Dounin
Hello!

On Wed, Oct 09, 2013 at 05:49:18AM -0400, Neutrino_9 wrote:

 Добрый день. Предо мной стоит задача кэширования статического контента прямо
 в Redis. Для взаимодействия с Redis -ом использую модуль http_redis_module
 (http://wiki.nginx.org/HttpRedis). Проблема в том что строчка set $redis_key
  $uri?$args; у меня не работает (OS-mac os-x), то есть когда проверяю, то
 в redis-cli нет ключа с значением $uri?$args. Что делать?. Вот мой конфиг 

А вы соответсвующий ключ в Redis кладёте?  Модуль этого не делает, 
он позволяет только забрать оттуда ответ.

-- 
Maxim Dounin
http://nginx.org/en/donation.html

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: правильная настройка прокси на несколько сайтов.

2013-10-09 Пенетрантность Dmitry Morozovsky
On Wed, 9 Oct 2013, Maxim Dounin wrote:

  Есть сервер с настроенным apache и несклькими Virtualhosts  внутри ЛВС:

[snip]

 Если хочется полноценного понимания - я бы рекомендовал 
 ознакомиться со стандартом, RFC 2616:

[snip all the rest]

Макс, не могу удержаться, хотя clearly OT:  ты демонстрируешь какое-то 
невероятное количество терпения и мудрости в ответах.

No sarcasm.  Much kudos.

Спасибо за вашу работу.

-- 
Sincerely,
D.Marck [DM5020, MCK-RIPE, DM3-RIPN]
[ FreeBSD committer: ma...@freebsd.org ]

*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- ma...@rinet.ru ***


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Оптимизация для отдачи статики

2013-10-09 Пенетрантность ad...@sysadmins.el.kg
Имеются тормоза с отдачей графики - в один поток файлы отдаются влегкую, 
при скачивании больших файлов складывается канал у клиента :) А вот с 
отдачей мелких файлов (99% файлов являются картинками с развернутой 
иерархией директорий) пачкой наблюдаются жесткие тормоза. Раздел с 
файлами  - ramfs, синхронизируется скриптами с SSD-накопителем по мере 
появления изменений на последнем.


Конфиг:

user nobody;
worker_processes 8;
worker_rlimit_nofile 8192;
worker_priority -5;
timer_resolution 100ms;

error_log  /var/log/nginx/error.log warn;

events {
   worker_connections 8192;
   use epoll;
}

http {
   includemime.types;
   default_type  application/octet-stream;

   server_tokens off;
   ignore_invalid_headers on;
   if_modified_since before;
   reset_timedout_connection on;
   underscores_in_headers on;
   sendfile on;
   sendfile_max_chunk 128k;
   keepalive_requests 1000;
   keepalive_timeout 30;
   keepalive_disable msie6;
   tcp_nopush on;
   tcp_nodelay on;
   send_timeout 30;
   connection_pool_size 256;
   client_header_buffer_size 256k;
   large_client_header_buffers 4 256k;
   client_max_body_size 200M;
   client_body_buffer_size 256k;
   client_header_timeout 30;
   client_body_timeout 30;
   request_pool_size 32k;
   postpone_output 1460;
   access_log off;

   output_buffers 128 512k;

   open_file_cache max=20 inactive=20s;
   open_file_cache_valid 30s;
   open_file_cache_min_uses 1;
   open_file_cache_errors off;

   ssl_session_timeout 5m;
   ssl_prefer_server_ciphers on;
   ssl_session_cache  builtin:1000  shared:SSL:10m;

server {
  listen 0.0.0.0:80 rcvbuf=16834 sndbuf=16384 backlog=32000 
default;

  server_name cdn.image.kg;
  access_log off;

  location / {
  root /var/www/ramdrive;
  expires max;
  add_header Cache-Control public;
  try_files $uri $uri/ /notfound.png;
  }
}

   # SSL
server {
  listen 0.0.0.0:443 ssl default_server rcvbuf=16384 
sndbuf=16384 backlog=32000 ;

  server_name cdn.image.kg;
  access_log off;

  ssl on;
  ssl_certificate /etc/nginx/ssl/cdn.image.kg.crt;
  ssl_certificate_key /etc/nginx/ssl/cdn.image.kg.key;
  ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers  RC4:HIGH:!aNULL:!MD5:!kEDH;

  location / {
  root /var/www/ramdrive;
  expires max;
  add_header Cache-Control public;
  try_files $uri $uri/ /notfound.png;
  }
}
}

И еще в логах очень много такого:
2013/10/10 06:10:51 [alert] 26609#0: *13726 pread() read only 24709 of 
24711 from /var/www/ramdrive/6/2/45/125/WD63s4ds84de254.jpg while 
sending response to client, client: IP, server: cdn.image.kg, request: 
GET /6/2/45/125/WD63s4ds84de254.jpg?code=4532ew3 HTTP/1.1, host: 
cdn.image.kg, referrer: https://cdn.image.kg/view.php;


___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Оптимизация для отдачи статики

2013-10-09 Пенетрантность Daniel Podolsky
 А вот с отдачей мелких файлов (99% файлов являются картинками с развернутой
 иерархией директорий) пачкой наблюдаются жесткие тормоза.
Жесткие тормоза - это как именно выражается? Мало rps? Мала утилизация
канала? Высока нагрузка на CPU?

 Раздел с файлами
 - ramfs, синхронизируется скриптами с SSD-накопителем по мере появления
 изменений на последнем.
А что именно заставило вас создать конфигурацию с рамдрайвом? С чем не
справился кеш ФС?
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Оптимизация для отдачи статики

2013-10-09 Пенетрантность ad...@sysadmins.el.kg
Тормоза проявляются в том, что при пакетнойзагрузке файлов они не 
отдаются разом, во много потоков, а встают в очередь. При одновременном 
старте 850 запросов, последний из них обрабатывался в течении 28 секунд. 
Это при среднем размере картинок в 30-50кбайт! Сеть при этом (по мнению 
atop) нагружается не более чем на 1%, CPU максимум на 15%.


Природа возникновения рамдрайва такова - физически накопитель 
проживает в соседнем стойле, в SAN. К машине с nginx (KVM-guest) 
цепляется посредством iscsi. Помимо нас к тому же SAN, возможно по тому 
же каналу, цепляются и остальные жители хостовой машины. Использование 
рамдрайва позволяет при сохранении высокой скорости чтения избежать 
зависимости от возможных лагов в сети, кратковременного извлечения винта 
из стораджа (например в случае замены).

10.10.2013 10:37, Daniel Podolsky пишет:

А вот с отдачей мелких файлов (99% файлов являются картинками с развернутой
иерархией директорий) пачкой наблюдаются жесткие тормоза.

Жесткие тормоза - это как именно выражается? Мало rps? Мала утилизация
канала? Высока нагрузка на CPU?


Раздел с файлами
- ramfs, синхронизируется скриптами с SSD-накопителем по мере появления
изменений на последнем.

А что именно заставило вас создать конфигурацию с рамдрайвом? С чем не
справился кеш ФС?
___
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