ПРОЕКТЫ 


  АРХИВ 


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]

Re: Популяризация nginx среди нерусскоязычного населения :-)



У меня простейший пример.
Nginx работает фронтом, отдает статику.



user  wwwrun www;
worker_processes  3;

error_log  /usr/local/nginx/logs/error.log  warn;

events {
    connections  2000;
    use epoll;
}

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

    gzip on;
    gzip_min_length  1100;
    gzip_buffers     4 16k;
    gzip_http_version  1.0;
    gzip_types       text/plain text/html;

    log_format main      '%addr - - [%time] "%request" %status '
                     '%length "%{Referer}i" "%{User-Agent}i" '
             '"%gzip_ratio"';

    log_format download  '%addr - - [%time] "%{remote_user}v" "%request" %status '
                         '%length "%{Referer}i" "%{User-Agent}i" '
             '"%{Range}i" "%{Content-Range}o"';

    client_header_timeout  3m;
    client_body_timeout    3m;
    send_timeout           3m;
   
    connection_pool_size         256;
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;
    request_pool_size            4k;
    output_buffers   1 32k;
    postpone_output  1460;
    sendfile        on;
    tcp_nodelay    on;
    tcp_nopush       on;

    keepalive_timeout  75 20;

    client_max_body_size       10m;
    client_body_buffer_size    256k;
    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;
    proxy_header_buffer_size   4k;
    proxy_buffers              4 256k;
    proxy_busy_buffers_size    512k;
    proxy_temp_file_write_size 512k;

    error_page  502 503 504 403 401  /403.html;
    error_page  404  /404.html;
    proxy_redirect_errors   on;
   
    log_not_found  off;
    autoindex_exact_size  off;


# confixx
        server {
        listen  80;
    server_name server1.com;

        location / {
        proxy_pass         http://XXX.XXX.XXX.XXX:8080/;
        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;
        access_log  /usr/local/nginx/logs/access_confixx.log  main;
        allow MY.IP.FOR.ADMIN;
        allow 127.0.0.1;
        deny  all;       
        }

    location /404.html {
        root   /usr/local/nginx/html;
    }
    location /403.html {
        root   /usr/local/nginx/html;
    }

        location ~ /\.ht {
            deny  all;
        }
    }

# web1
    server {
        listen  80;
    server_name server2.com www.server2.com;
        access_log  /usr/local/nginx/logs/access_web1.log  main;

        location / {
        proxy_pass         http://XXX.XXX.XXX.XXX:8080/;
        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;
        }

    location /403.html {
        root   /usr/local/nginx/html;
        access_log   off;
    }
    location /404.html {
        root   /usr/local/nginx/html;
        access_log   off;
    }

    location ~* ^.+\.(cgi|pl)$ {
        proxy_pass         http://XXX.XXX.XXX.XXX:8080/;
        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;
    }

    location ~* ^.+\.(jpg|jpeg|gif|png|ico|mpg|avi|mp3|css|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mpeg|js)$ {
        root   /srv/www/htdocs/web1/html;
        access_log   off;
    }

        location ~ /\.ht {
            deny  all;
        }
    }
   
# web2
    server {
        listen  80;
    server_name server3.com www.server3.com;

        location / {
        proxy_pass         http://XXX.XXX.XXX.XXX:8080/ ;
        proxy_redirect     off;
            access_log  /usr/local/nginx/logs/access_web2.log  main;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

    location ^~ /download/ {
            valid_referers  none  server_names  *.server3.com/;
            if ($invalid_referer) {
                return   403;     }
        root   /srv/www/htdocs/web2/html;
        autoindex    on;
        auth_basic "Priwet!!!";
        auth_basic_user_file /usr/local/nginx/conf/passwd;
        access_log   /usr/local/nginx/logs/access_web2_download.log   download;
    }

    location /403.html {
        root   /usr/local/nginx/html;
        access_log   off;
    }
    location /404.html {
        root   /usr/local/nginx/html;
        access_log   off;
    }

    location ~* ^.+\.(jpg|jpeg|gif|png|ico|mpg|avi|mp3|css|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mpeg|js)$ {
        root   /srv/www/htdocs/web2/html;
        access_log   off;
        expires      30d;
    }

        location ~ /\.ht {
            deny  all;
        }
    }
   
}


Плюс в апаче такие изменения:

Listen 8080

LoadModule rpaf_module /usr/lib/apache2/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 XXX.XXX.XXX.XXX
RPAFsethostname On

Ну и для запрета на определенные файлы только с одного IP:

<Files "admin.php">
SetEnvIf X-Real-IP ^111\.222 TRUSTED
Allow from env=TRUSTED
Deny from All
</Files>




18.04.06, RaPaMaN <rapaman@xxxxxxxxxxxx> написал(а):
В сообщении от Tuesday 18 April 2006 20:11 Vitaly Puzrin написал(a):
> AP> On 4/18/06, Eugene <my-subscr@xxxxxxx> wrote:
> Видимо, есть смысл какой-нибудь опрос устроить среди самых горячих
> парней, зачем им nginx с php - для предоставления веб-хостинга, когда
> клиенты сами все должны корежить, или для того чтобы собственные сайты
> крутить. Иначе можно до драки договориться на ровном месте :)

Присылайте интересующие варианты вопроса и ответа - я оформлю на nginx.info
опрос с пристрастием :) Посмотрим на мнение народа.

С Уважением,
Дмитрий.

--
Информационный портал о вэб-сервере nginx - http://www.nginx.info
Удаленное администрирование серверов -
http://remote-admin-service.encrypted-life.net




 




Copyright © Lexa Software, 1996-2009.