Re: nginx перестает отвечать нагружая IO на 100%
А как вообще выглядит график загрузки 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
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
Здравствуйте! При обращении к каталогу директива "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: Подвисания при распаковке архива
Пробуйте запускать распаковку через cgexec в группе с небольшим количеством памяти и придавленным IO. ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Поведение round robin
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
Добрый день. Вопрос в следующем: есть сервер 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%
Есть сервер с несколькими десятками сайтов на 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
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
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
Добрый день Уважаемый! Простите что вопросом на вопрос! Вы разобрались как кешировать сторонние скрипты? А то я уже неделю пытаюсь найти этому решение - но что то пока не как. ткните носом куда капать - если есть така возможность. 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