Re: nginx перестает отвечать нагружая IO на 100%

2015-01-28 Пенетрантность Juriy Strashnov
А как вообще выглядит график загрузки IO?

Наблюдал что-то похожее на хостинге, где с нагрузкой не справлялась СХД.

2015-01-28 22:47 GMT+03:00 iprok :

> Есть сервер с несколькими десятками сайтов на Debian Wheezy amd64. nginx
> 1.6.2 отсюда
> deb http://nginx.org/packages/debian/ wheezy nginx
>
> Симптоматика следующая. Сначала приходит письмо от заббикса о превышение
> порога IO:
> CPU iowait time (hostname:system.cpu.util[,iowait]): 24.95 %
>
> Через несколько секунд перестают отвечать все сайты. nginx становится
> недоступен. Смотрю iotop, все процессы nginx выглядят так (disk read, disk
> write, swap in, io):
>
> 0.00 B/s0.00 B/s  0.00 % 99.99 % nginx: worker process
>
> Честно говоря совершенно загадочная для меня ситуация, чтоб IO было
> большое,
> но ни записи ни чтения не происходило. Что это может быть? В error.log
> ничего за этот период нет. Вообще в логах не вижу ничего криминального.
> Места везде с запасом.
> По памяти:
> free -m
>  total   used   free sharedbuffers cached
> Mem:  8002   7869132  0476   6001
> -/+ buffers/cache:   1392   6610
> Swap: 8191  0   8191
>
> nginx.conf:
>
> user nginx;
> worker_processes  4;
> worker_rlimit_nofile  20;
>
> error_log /var/log/nginx/error.log  error;
>
> events {
> worker_connections  10;
> #use epoll;
> }
>
> http {
> include   /etc/nginx/mime.types;
> default_type  application/octet-stream;
> server_names_hash_max_size 2048;
> server_names_hash_bucket_size 64;
>
> server_tokens off;
>
> ssl_session_cache shared:SSL:10m;
> ssl_session_timeout 10m;
>
> proxy_cache_path /var/cache/nginx   keys_zone=one:50m;
> limit_req_zone  $binary_remote_addr  zone=agency:1m   rate=20r/m;
> limit_req_zone  $binary_remote_addr  zone=a7:1m   rate=3r/s;
> limit_req_zone  $binary_remote_addr  zone=default:1m   rate=10r/s;
> limit_req_zone  $binary_remote_addr  zone=global:10m   rate=500r/s;
> limit_req zone=global burst=500;
> log_format  main  '$remote_addr - $remote_user [$time_local] "$request"
> '
>   '$status $body_bytes_sent "$http_referer" '
>   '"$http_user_agent"';
> log_format  proxy '$http_host == $remote_addr - $remote_user
> [$time_local] "$request"'
> '$status $body_bytes_sent "$http_referer" ';
>
> log_format global '$http_host == $remote_addr - $remote_user
> [$time_local] "$request" '
>   '$status $body_bytes_sent "$http_referer"
> "$http_user_agent" ';
> sendfileon;
> tcp_nopush  on;
> tcp_nodelay on;
> keepalive_timeout   60;
> gzipon;
> gzip_types text/css application/x-javascript;
> gzip_vary on;
>
> reset_timedout_connection  on;
>
> 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;
> proxy_set_header   Connection   close;
> proxy_set_header   Range "";
>
> proxy_pass_header Content-Type;
> proxy_pass_header Last-Modified;
> proxy_pass_header Expires;
>
> client_max_body_size   50m;
> large_client_header_buffers  16 16k;
> client_body_buffer_size256k;
>
> proxy_connect_timeout  90;
> proxy_send_timeout 90;
> proxy_read_timeout 300;
>
>
> proxy_buffer_size  64k;
> proxy_buffers  16 64k;
> proxy_busy_buffers_size64k;
> proxy_temp_file_write_size 64k;
>
> access_log /var/log/nginx/access.log global buffer=8k;
>
>
> server {
> listen   :80 default_server;
> return 444;
> }
> server {
> listen 127.0.0.1:80 default_server;
> location /nginx_status {
> stub_status on;
> access_log off;
> }
> }
> include sites-enabled/*;
> include deploy-enabled/*;
> }
>
> В настройках виртуальных хостов никаких особенных настроек нет: location,
> root, access_log, error_log, proxy_pass.
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,256316,256316#msg-256316
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards, Juriy Strashnov

Mob. +7 (953) 742-1550
E-mail: j.strash...@me.com

Please consider the environment before printing this email.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Кеширование nginx

2015-01-28 Пенетрантность Helper code
anon Wrote:

> Есть ли вообще смысл их кешировать?

Нет. Эта задача стороннего сервера.

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

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

Редирект каталога на index.html без директивы INDEX

2015-01-28 Пенетрантность Helper code
Здравствуйте!

При обращении к каталогу директива "Index index.html" осуществляет
внутренний редирект на файл index.html. Т.е. получить содержимое файла
index.html можно по двум URL - site.ru/ и site.ru/index.html. Как при
обращении к любому каталогу на сайте осуществить 301 редирект на файл
index.html находящийся в этом каталоге?

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

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

Re: Подвисания при распаковке архива

2015-01-28 Пенетрантность Alex Vorona
Пробуйте запускать распаковку через cgexec в группе с небольшим
количеством памяти и придавленным IO.

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

Re: Поведение round robin

2015-01-28 Пенетрантность Alex Domoradov
keepalive?

2015-01-28 22:31 GMT+02:00 tyoma :

> Добрый день.
>
> Вопрос в следующем: есть сервер nginx, выполняющий роль балансировщика
> нагрузки с конфигурацией:
>
> upstream backend  {
>   server 192.168.94.129;
>   server 192.168.94.130;
> }
>
> server {
>   location / {
> proxy_pass  http://backend;
>   }
> }
>
> При простой перезагрузке страницы сервер не меняется, хотя, насколько я
> понимаю должен, так как по умолчанию используется алгоритм планирования
> round robin. Почему так происходит?
>
> А при такой конфигурации:
>
> upstream backend  {
>   server 192.168.94.129 weight = 1;
>   server 192.168.94.130 weight = 2;
> }
>
> server {
>   location / {
> proxy_pass  http://backend;
>   }
> }
>
> все работает, как и ожидается - два перехода на второй сервер, а затем на
> первый.
>
> Спасибо.
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,256317,256317#msg-256317
>
> ___
> 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

Поведение round robin

2015-01-28 Пенетрантность tyoma
Добрый день.

Вопрос в следующем: есть сервер nginx, выполняющий роль балансировщика
нагрузки с конфигурацией:

upstream backend  {
  server 192.168.94.129;
  server 192.168.94.130;
}

server {
  location / {
proxy_pass  http://backend;
  }
}

При простой перезагрузке страницы сервер не меняется, хотя, насколько я
понимаю должен, так как по умолчанию используется алгоритм планирования
round robin. Почему так происходит?

А при такой конфигурации:

upstream backend  {
  server 192.168.94.129 weight = 1;
  server 192.168.94.130 weight = 2;
}

server {
  location / {
proxy_pass  http://backend;
  }
}

все работает, как и ожидается - два перехода на второй сервер, а затем на
первый. 

Спасибо.

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

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

nginx перестает отвечать нагружая IO на 100%

2015-01-28 Пенетрантность iprok
Есть сервер с несколькими десятками сайтов на Debian Wheezy amd64. nginx
1.6.2 отсюда
deb http://nginx.org/packages/debian/ wheezy nginx

Симптоматика следующая. Сначала приходит письмо от заббикса о превышение
порога IO:
CPU iowait time (hostname:system.cpu.util[,iowait]): 24.95 %

Через несколько секунд перестают отвечать все сайты. nginx становится
недоступен. Смотрю iotop, все процессы nginx выглядят так (disk read, disk
write, swap in, io):

0.00 B/s0.00 B/s  0.00 % 99.99 % nginx: worker process

Честно говоря совершенно загадочная для меня ситуация, чтоб IO было большое,
но ни записи ни чтения не происходило. Что это может быть? В error.log
ничего за этот период нет. Вообще в логах не вижу ничего криминального.
Места везде с запасом. 
По памяти:
free -m
 total   used   free sharedbuffers cached
Mem:  8002   7869132  0476   6001
-/+ buffers/cache:   1392   6610
Swap: 8191  0   8191

nginx.conf:

user nginx;
worker_processes  4;
worker_rlimit_nofile  20;

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

events {
worker_connections  10;
#use epoll;
}

http {
include   /etc/nginx/mime.types;
default_type  application/octet-stream;
server_names_hash_max_size 2048;
server_names_hash_bucket_size 64;

server_tokens off;

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

proxy_cache_path /var/cache/nginx   keys_zone=one:50m;
limit_req_zone  $binary_remote_addr  zone=agency:1m   rate=20r/m;
limit_req_zone  $binary_remote_addr  zone=a7:1m   rate=3r/s;
limit_req_zone  $binary_remote_addr  zone=default:1m   rate=10r/s;
limit_req_zone  $binary_remote_addr  zone=global:10m   rate=500r/s;
limit_req zone=global burst=500; 
log_format  main  '$remote_addr - $remote_user [$time_local] "$request"
'
  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent"';
log_format  proxy '$http_host == $remote_addr - $remote_user
[$time_local] "$request"'
'$status $body_bytes_sent "$http_referer" ';

log_format global '$http_host == $remote_addr - $remote_user
[$time_local] "$request" '
  '$status $body_bytes_sent "$http_referer"
"$http_user_agent" ';
sendfileon;
tcp_nopush  on;
tcp_nodelay on;
keepalive_timeout   60;
gzipon;
gzip_types text/css application/x-javascript;
gzip_vary on;

reset_timedout_connection  on;

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;
proxy_set_header   Connection   close;
proxy_set_header   Range "";

proxy_pass_header Content-Type;
proxy_pass_header Last-Modified;
proxy_pass_header Expires;

client_max_body_size   50m;
large_client_header_buffers  16 16k;
client_body_buffer_size256k;

proxy_connect_timeout  90;
proxy_send_timeout 90;
proxy_read_timeout 300;

 
proxy_buffer_size  64k;
proxy_buffers  16 64k;
proxy_busy_buffers_size64k;
proxy_temp_file_write_size 64k;

access_log /var/log/nginx/access.log global buffer=8k;


server {
listen   :80 default_server;
return 444;
}
server {
listen 127.0.0.1:80 default_server;
location /nginx_status {
stub_status on;
access_log off;
}
}
include sites-enabled/*;  
include deploy-enabled/*;  
}

В настройках виртуальных хостов никаких особенных настроек нет: location,
root, access_log, error_log, proxy_pass.

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

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

Re: Невозможно изменить document root

2015-01-28 Пенетрантность Konstantin Pavlov
On 28/01/2015 10:26, Eugene Peregudov wrote:
> Andrei Belov  писал(а) в своём письме Wed, 28 Jan 2015
> 13:08:43 +0600:
> 
>>
>> On 28 Jan 2015, at 10:02, Dmitrij  wrote:
>>
>>> По моему лицу текут слезы. Спасибо вам, Великий Человек за эти слова
>>> "SELinux"! Мне эта штука пару литров крови выпила со вчерашнего
>>> обеда. Я ж
>>> developer, сижу себе, пилю код, что-то тыкаю в сервере, стараюсь
>>> делать все
>>> нормально, однако за тенденциями не слежу.
>>>
>>> Все решается выключением SELinux.
>>
>> JFYI:
>> http://nginx.com/blog/nginx-se-linux-changes-upgrading-rhel-6-6/
>>
> ИМХО, очень зря решается выключением. В первую очередь разработчик
> приложения и мэйнтейнер должны знать и предоставить информацию о том,
> какие разрешения необходимы приложению для корректного выполнения, а в
> идеале еще и написать policy-файл.

Разрешения, упакованные в selinux-policy-targeted, вполне работают для
конфигурации по-умолчанию.  Если пользователь пакета меняет эту
конфигурацию, логично и поменять правила для SELinux.

Разрешать при этом на уровне пакета любые действия, которые может
предпринять будущий пользователь, кажется еще большим злом, чем полное
выключение SELinux этим самым пользователем.

> Каждый раз когда кто-то выключает SELinux где-то плачет Dan Walsh
> (http://stopdisablingselinux.com/)

-- 
Konstantin Pavlov

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

CVE-2015-0235 - GHOST

2015-01-28 Пенетрантность Vladimir Getmanshchuk
JFYI

Here is a list of potential targets that we investigated (they all call

*gethostbyname*, one way or another), but to the best of our knowledge,

the buffer overflow cannot be triggered in any of them:


apache, cups, dovecot, gnupg, isc-dhcp, lighttpd, mariadb/mysql,

nfs-utils, *nginx*, nodejs, openldap, openssh, postfix, proftpd,

pure-ftpd, rsyslog, samba, sendmail, sysklogd, syslog-ng, tcp_wrappers,

vsftpd, xinetd.




http://seclists.org/oss-sec/2015/q1/283


-- 
Yours sincerely,
Vladimir Getmanshchuk
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Кеширование nginx

2015-01-28 Пенетрантность alexvamp
Добрый день Уважаемый! 
Простите что вопросом на вопрос!
Вы разобрались как кешировать сторонние скрипты?
А то я уже неделю пытаюсь найти этому решение  - но что то пока не как.
ткните носом куда капать - если есть така возможность.

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

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