ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nginx+nginx, убрать блокировк у на диске, конфиг


  • To: nginx-ru@xxxxxxxxx
  • Subject: nginx+nginx, убрать блокировк у на диске, конфиг
  • From: Андрей <deepmindster@xxxxxxxxx>
  • Date: Thu, 05 Jun 2008 02:51:04 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type :content-transfer-encoding; bh=4PoLHmamuADeKtk3yZoyVZd+/1bXYsMlrr5/Yv74ZZg=; b=TksolaIOOTcaLVJ0J8YRxFC6fvTJNc3rXYRxQDB5WoLaGihl0fiDX11mMSy3M9Pnts CP4yGRqYcWyg+f4PIUhdANTbld1BRUSDqHT8j6Eiffb6dSeSJHY5N9kB0B9rhK1mYTs6 uhIAeU1MY6tw1tD1JzruxAwedZOcFp6Dp1+SQ=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; b=SItuNcn0A55ItYB9NZZnOFVr/vSb03YErnVLxVa6p7EUHU68VPedjxHJO/gtwsws6I +Afteb+r93cmTruV0b9aDE6IdRuSuZ31wez9Lc075XIGqS1jk4tAYA1JI9uep61odc4f Cz71QYrROd0XxS1lT7L6xF0l0cbmz0iY5zZrw=

Доброго времени суток.

Собственно, хотелось убрать блокировку на диске. Для этого, как здесь и предлагалось несколько раз, установил связку nginx+nginx. Второй nginx отдаёт первому статику с диска, так как соединение по tcp-сокету, то, по идее, первый nginx, читая обычный сокет, не будет блокироваться и будет всегда готов принять соединение и выдать информацию из памяти(если она там есть), даже если диск сильно загружен. Настройки примерно такие - отключил сендфайл, proxy_buffering off, tcp_nopush on, tcp_nodelay off, gzip off. Собственно вопрос - не вопрос, а скорее просьба: глянте конфиг, кто может/желает, может чего путнее подскажете, у меня опыта нет в этом никакого почти - наверняка где-то что-то можно улучшить. Кроме того, не совсем ясно что делать с таймаутами и должно ли быть соединение keepalive между фронтендом и бекэндом?

конфиг фронтенда

server {

       listen xxx.xxx.xxx.xxx:80;
       server_name  example.com;

       root            /srv/www/vhosts/example.com;
       index           no-such-image;

       access_log      /var/log/nginx/example.com.access.log       main;

       client_max_body_size       16k;
       client_body_buffer_size    16k;

       location / {
           rewrite ^/images/(\d+).*$ /index.php?page=image_$1 last;
           deny all;
       }

       location = /index.php {
           proxy_pass          http://127.0.0.1:1028;

           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_connect_timeout      90;
           proxy_send_timeout         90;
           proxy_read_timeout         90;

           internal;
       }
}

конфигурация бэкенда:

user  nginx nginx;
worker_rlimit_nofile 10240;
worker_processes  4;

error_log  /var/log/nginx_127.0.0.1/error.log  warn;
pid        /var/run/nginx_127.0.0.1.pid;

events {
   worker_connections  10240;
   use epoll;
}

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

   log_format  main  '$remote_addr - $remote_user [$time_local] $status '
                     '"$request" $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';

   access_log  /var/log/nginx_127.0.0.1/access.log  main;

   sendfile        off;

   tcp_nopush     on;
   keepalive_timeout  0;

   tcp_nodelay        off;

   gzip  off;

server {

       listen  127.0.0.1:1028;
       server_name  example.com;

       root            /srv/www/vhosts/example.com;

access_log /var/log/nginx_127.0.0.1/example.com.access.log main;

       client_max_body_size       16k;
       client_body_buffer_size    16k;

       location / {
           deny all;
       }

       location = /index.php {
           fastcgi_pass   127.0.0.1:1026;
fastcgi_param SCRIPT_FILENAME /srv/www/vhosts/example.com$fastcgi_script_name;
           include fastcgi_params;
       }

       location /saves {
           root /srv/www/vhosts/example.com;
           internal;
           expires 8h;
       }
   }
}


спасибо,
Андрей.



 




Copyright © Lexa Software, 1996-2009.